新手上路
- 积分
- 46
- 金钱
- 46
- 注册时间
- 2015-2-3
- 在线时间
- 0 小时
|
5金钱
请教各位大神,我使用stm32f207+vs1063做音乐播放器,音频文件存储在SD卡中,和正点原子的音乐播放器的实验差不多,部分代码如下:
res = f_open(&fsrc, finfo.fname, FA_OPEN_EXISTING | FA_READ);
br=1;
a=0;
for(a=0; a<5000000; a++) buffer[a]=0;
res = f_read(&fsrc, buffer, sizeof(buffer), &br);
//printf("%s\r\n",buffer);
i=0;
do
{
while( MP3_DREQ ==0 ); // /* 等待空闲 * /
VS1063_WriteData( (void*)( buffer + i ) );
i+=32;
}while(i<5000000);
先将音频文件读带buffer数组中,假如这个音频文件比较大,buffer数组设置的就大了,那么问题来了,编译时,提示空间不足:
.\Output\Project.axf: Error: L6406E: No space in execution regions with .ANY selector matching main.o(.bss).
这是怎么办?总不能读音频文件读一半吧? 求教
|
最佳答案
查看完整内容[请看2#楼]
5000000,快5M了,
STM32F系列,貌似没有一个型号配备这么大的SRAM。别人怎么处理的?
考虑 DMA吧,不用 buffer ,或者一个小 buffer
|