저는 임베디드 시스템에 익숙하며 MP3 변환 프로그램을 ARM 기반 STM32L476G-DISCO 개발 보드로 이식하려고했습니다. Eclipse 기반의 무료 System Workbench 소프트웨어도 사용하고 있습니다. 나는이 프로그램을 편집하여 게시판에 게시하는 데 성공했습니다. 프로그램이 파일 입력 (.wav)을 요구할 때까지 실행됩니다.STM32 ARM 플랫폼의 플래시 메모리에 파일 포함
제 질문은 어떻게 파일 처리 부분을 구현합니까? 이전에는 원래 Windows 콘솔 앱을 실행할 때 " '> C : \ file.wav < C : \ file.mp3"과 같은 명령 줄 인수로 보내야했습니다.
보드는 내부 플래시는 물론 통신을 위해 QSPI를 사용하는 128Mbit 플래시 메모리를 제공합니다. 내 프로그램에 파일을 읽고 쓰려면 파일 시스템이 필요합니까? 간단하게 시작하고 파일을 포함 시키려고 생각했지만 코드에서 호출하는 방법을 모르겠습니다. 프로그래밍 소프트웨어를 통해 수동으로 메모리를 프로그래밍 할 수 있지만 데이터를 플래시 한 주소는 다시 알 수 있습니다.
나를 위해 명확하지 않습니다. 귀하의 응용 프로그램은 항상 동일한 파일을 재생해야합니까, 아니면 다른 파일을 시간대별로 보내야합니까? 임베디드 플랫폼의 여유 공간이 재생할 파일을 저장할 수 있습니까? – LPs
결국 나는 매번 다른 파일을 보내 겠지만 시작하려면 동일한 파일을 읽고 변환하는 것이 좋습니다. 보드에는 1MB의 내부 플래시가 있으며 애플리케이션 코드에 의해 80KB 만 사용되고 있습니다. .mp3 파일 자체는 148KB입니다. – sam
@Clifford 답은 설명대로 "큰 바이트 배열"로 취급하고 wav 파일을 응용 프로그램 코드에 연결할 수 있습니다. 나중에 사용하기 위해 변환 및 재생할 wav 파일의 "바이트"를 저장할 Flash에서 공간을 예약합니다 (예를 들어 liker 스크립트 사용). – LPs