Я новичок во встроенных системах и пытаюсь перенести программу конвертации MP3 на плату разработки STM32L476G-DISCO на базе ARM. Я также использую бесплатное программное обеспечение System Workbench на основе Eclipse. Я был успешным до такой степени, что скомпилировал программу и высветил ее на доске. Он работает даже до того момента, когда программа запрашивает ввод файла (.wav).Код для вставки файла в флэш-память платформы STM32 ARM
Мой вопрос в том, как реализовать часть обработки файлов? Раньше при запуске приложения для консольного приложения Windows я просто отправлял аргумент командной строки, например «'> C: \ file.wav < C: \ file.mp3".
Плата поставляется с 128 МБ флэш-памяти, использующей QSPI для связи, а также для внутренней вспышки. Нужна ли файловая система для чтения/записи файла в мою программу? Я думал начать просто и просто вставлять файл, но я не знаю, как назвать его в моем коде. Я могу запрограммировать память вручную с помощью программного обеспечения, но опять же, все, что я знаю, является адресом, где я сверкал данные.
Непонятно для меня. Предполагается ли, что ваше приложение всегда будет воспроизводить один и тот же файл или вы должны время от времени отправлять разные файлы? Является ли свободное пространство вашей встроенной платформы достаточным для хранения файла для воспроизведения? – LPs
В конце концов я бы послал ему другой файл каждый раз, но для начала я хотел бы просто прочитать в том же файле и преобразовать его. Плата имеет 1 МБ внутренней вспышки, из которой только 80 КБ используется кодом приложения. Сам файл .mp3 составляет 148 КБ. – sam
Итак, как описано в описании @Clifford, вы можете рассматривать его как «большой массив байтов» и связывать wav-файл с кодом приложения. Для дальнейшего использования вы зарезервируете место (например, используя скрипт liker) на flash, где вы будете хранить «байты» wav-файла, который нужно преобразовать и воспроизвести. – LPs