OpenEdv-开源电子网

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

STM32F4 Discovery 软解FLAC(更新完美版)

[复制链接]

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2013-9-12 13:56:29 | 显示全部楼层 |阅读模式

程序基于STM32F4 Discovery,用板载CS43L22播放。
用了官方的USB OTG功能,读取U盘下的audio.flac文件 并播放。
不过由于FLAC的FrameSize和BlockSize以及片内RAM的限制,目前只实现了level2级别的播放,一般网上下载的FLAC文件还需要重新转成Level2.
后续还在改进,毕竟F103ZE就可以软解到这个级别了。

程序主要参考TraxMOD代码以及前人移植的,在此基础上进行了修改。

程序同时包括软解MP3代码,在usbh_usr.c中注释掉playFLAC("audio.flac")并反注释掉WavePlayerStart()前面的"//"就可以读取U盘下的“audio.mp3”进行播放,完美320kbps解码。

更新:修改了BlockSize和FrameSize后尝试正常FLAC格式(Level8)软解,失败。调试发现HardFalut.分析后认为是内存溢出,毕竟增加了好几十KB的内存需求。查资料后尝试修改堆和栈的大小,一知半解,但是修改过后可以完美软解最高压缩比FLAC。后面还要深入学习下堆和栈的知识。更新完美版程序。
表格为两个级别分别需要的RAM空间

 压缩级别  读取缓存(filebuf)  解码缓存(decoded)  乒乓缓存(PCM_buf)
 Level2  5KB  9KB  9KB
 Level8  15KB  36KB  36KB

编译完成的数据也比较吓人
Program Size: Code=33872 RO-data=176540 RW-data=372 ZI-data=103828  
RAM达到了比较恐怖的地步,后面慢慢尝试优化。






USB-OTG.zip

980.59 KB, 下载次数: 2010

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

222

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
355
金钱
355
注册时间
2012-8-13
在线时间
32 小时
发表于 2013-9-12 14:36:03 | 显示全部楼层
牛B,用F429带SDRAM接口的,应该就能完善解决RAM不足的问题了
个人小店,弄了些大人玩具,希望各位老小玩童们喜欢。 http://autocute.taobao.com/
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2013-9-12 14:51:36 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
 楼主| 发表于 2013-9-12 15:04:18 | 显示全部楼层
回复【2楼】lura2:
---------------------------------
理论上F4片内RAM解Level8 FLAC无任何问题,我会继续尝试。但是如果跑操作系统以及ucGUI或是emWin就肯定不足了。
回复 支持 反对

使用道具 举报

3

主题

222

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
355
金钱
355
注册时间
2012-8-13
在线时间
32 小时
发表于 2013-9-12 15:25:02 | 显示全部楼层
要做GUI就得消耗RAM了啊!呵呵,
个人小店,弄了些大人玩具,希望各位老小玩童们喜欢。 http://autocute.taobao.com/
回复 支持 反对

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
 楼主| 发表于 2013-9-12 15:31:51 | 显示全部楼层
回复【5楼】lura2:
---------------------------------
是啊,M4单单跑emWin,无操作系统,分了50kRAM,才可以运行大部分demo,如果再跑操作系统再解码音频,肯定不够。
回复 支持 反对

使用道具 举报

3

主题

222

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
355
金钱
355
注册时间
2012-8-13
在线时间
32 小时
发表于 2013-9-12 15:38:54 | 显示全部楼层
可是RAM又太值钱了,哈哈
个人小店,弄了些大人玩具,希望各位老小玩童们喜欢。 http://autocute.taobao.com/
回复 支持 反对

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
 楼主| 发表于 2013-9-12 15:42:05 | 显示全部楼层
回复【7楼】lura2:
---------------------------------
是啊 256*16的片子就好几十大洋了
回复 支持 反对

使用道具 举报

3

主题

222

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
355
金钱
355
注册时间
2012-8-13
在线时间
32 小时
发表于 2013-9-12 15:43:23 | 显示全部楼层
回复【8楼】ricefat:

回复【7楼】lura2:
---------------------------------
是啊 256*16的片子就好几十大洋了

---------------------------------
强烈建议上F429,哈哈
个人小店,弄了些大人玩具,希望各位老小玩童们喜欢。 http://autocute.taobao.com/
回复 支持 反对

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
 楼主| 发表于 2013-9-12 15:45:02 | 显示全部楼层
回复【9楼】lura2:
---------------------------------
在别人那里见过439的官方开发板了,7寸屏直接看AVI视频无压力。
回复 支持 反对

使用道具 举报

3

主题

222

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
355
金钱
355
注册时间
2012-8-13
在线时间
32 小时
发表于 2013-9-12 15:49:34 | 显示全部楼层
回复【10楼】ricefat:

回复【9楼】lura2:
---------------------------------
在别人那里见过439的官方开发板了,7寸屏直接看AVI视频无压力。

---------------------------------
看得流口水了,哈哈!F429的好处是程序可以加密,不像其他的A8A9,这也是我比较向往它的原因吧,不然,A8之类的性能不知道比F429要好多少倍呢
个人小店,弄了些大人玩具,希望各位老小玩童们喜欢。 http://autocute.taobao.com/
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2013-9-12 17:44:40 | 显示全部楼层
关键看价格啊,F4出来都几年了,价格还老高呢...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
 楼主| 发表于 2013-9-12 18:27:59 | 显示全部楼层
回复【12楼】正点原子:
---------------------------------
407VGT6依旧55大洋左右,确实贵。
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
23
金钱
23
注册时间
2014-8-15
在线时间
0 小时
发表于 2014-9-2 08:10:49 | 显示全部楼层
有想用STM32F4做音响的请加QQ联系合作
QQ376678497
回复 支持 反对

使用道具 举报

16

主题

37

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
266
金钱
266
注册时间
2013-11-26
在线时间
83 小时
发表于 2017-11-11 17:56:10 | 显示全部楼层
大神有没有试过flac 24bit的音乐解码?
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2017-9-4
在线时间
5 小时
发表于 2019-9-12 16:59:20 | 显示全部楼层
学习了!
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2019-7-17
在线时间
5 小时
发表于 2020-5-15 15:25:53 | 显示全部楼层
最近解码MP3 320KBPS的老是卡壳
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-1 21:58

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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