OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4965|回复: 3

音乐播放器读取音频文件时的大小问题,求解答

[复制链接]

3

主题

14

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2015-2-3
在线时间
0 小时
发表于 2015-2-3 19:00:52 | 显示全部楼层 |阅读模式
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
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11558
金钱
11558
注册时间
2014-4-1
在线时间
1318 小时
发表于 2015-2-3 19:00:53 | 显示全部楼层
5000000,快5M了,
STM32F系列,貌似没有一个型号配备这么大的SRAM。别人怎么处理的?

考虑 DMA吧,不用 buffer ,或者一个小 buffer
回复

使用道具 举报

3

主题

14

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2015-2-3
在线时间
0 小时
 楼主| 发表于 2015-2-3 19:00:53 | 显示全部楼层
回复【2楼】xuande:
---------------------------------
解决了,是我配置错误,加一个循环,一次读取4096个字节就可以了。谢谢
回复

使用道具 举报

3

主题

14

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2015-2-3
在线时间
0 小时
 楼主| 发表于 2015-2-4 09:59:26 | 显示全部楼层
解决了,是我配置错误,加一个循环,一次读取4096个字节就可以了。谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-26 02:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表