网络收音机的开发使用反馈专贴,添加当前Radio情况。 有问题请进来反映。
今天收到板后,加上1220纽扣电池,发现通过FINSH设置不成功,通过仿真,是在void rt_init_thread_entry(void *parameter)函数中,如果没有连接网络,一直停在lwip_sys_init()里,而rt_hw_rtc_init();在它后面一直无法执行,导致时间无法正确读写,如果有连接上网络,且获取了IP地址则不存在此问题。不知能否把rt_hw_rtc_init()放在网络初始化前面?
为了阅读方便,占个主楼,请楼主见谅。ffxz添加:
----------------------------------------------
Radio已有问题:
1. USB连接Win7不是特别好用,这个应该与USB驱动有关。
2. Radio v4.0更换了SPI Flash,而当前的SPI flash驱动实现有很大问题,已经在进行重新实现。
<中文显示乱码基本与这个有关,因为中文字体文件是放在SPI flash上,而英文字体是内嵌在ROM中>
3. Radio v3.0/v4.0触摸屏驱动有问题,有可能会造成系统紊乱,会考虑添加补丁。
4. Radio v4.0的液晶屏双面胶不是很牢固,大家在打开时稍微注意些。
5. 豆瓣电台网站最近进行过调整,频道有变,暂时不能收听,后续会更新固件。
6. Radio v4.0的液晶屏某些可能有条纹波动,这个需要调节下液晶屏的参数,这个后续由aozima给出。
7. 在播放电台时再进行电台列表更新就会出现系统死掉的情况。这个后续会给出修正。 按照逻辑来说,rt_hw_rtc_init()应该放在lwip_sys_init()才是,理由是网络不一定会成功,而RTC是内部的,没什么大问题的话一般都会成功。 "网络收音机的开发使用反馈能否专门开一个贴?" 就以仅贴如何? 让版主改下标题加个颜色便是.
哪个在前哪个在后.开始也有考虑过后.后来想.这个的主要功能就是有网络的.放在后面一样.
另.RTC只需要第一次.所以.本来也想移前面去的.就不移了.
当然.源代码在.你喜欢放哪里就放哪里. 原来rtc是放在rtthread_startup.c里的(包括STM3210的分支),后来发现有些情况下这个不一定执行成功(那个晶振关系非常大),所以移除了。 回复【2楼】aozima
"网络收音机的开发使用反馈能否专门开一个贴?" 就以仅贴如何? 让版主改下标题加个颜色便是.
哪个在前哪个在后.开始也有考虑过后.后来想.这个的主要功能就是有网络的.放在后面一样.
另.rtc只需要第一次.所以.本来也想移前面去的.就不移了.
当然.源代码在.你喜欢放哪里就放哪里.
-----------------------------------------------------------------------
我刚刚测试了一下,即使首次初始化了,放在前面于后面还是有区别的,
因为初始化rt_hw_rtc_init()会注册RTC外设,而time_t time(time_t* t)需要去找RTC外设,
如果不连网络的话,list_date()找不到RTC外设,导致显示的时间不对
//原来的FINSH显示
SystemInit......
mem test pass!!
\ | /
- RT - Thread Operating System
/ | \ 0.3.1 build Jun 10 2010
2006 - 2009 Copyright by rt-thread team
part, begin: 66048, size: 3.709GB
SPI File System initialized!
File System initialized!
LCD Device ID : 00009325
LCD GRAM test.... data bus test pass!GRAM test pass!
/resource/remote.txt open succeed.
decode succeed,The remote enable
dm9000 id: 0x90000a46
finsh>>event size: 28
event size: 20
event size: 28
event size: 20
could not establish link
finsh>>list_date()
Mon Jan5 19:11:12 1987
//调整位置以后的Finsh
SystemInit......
mem test pass!!
\ | /
- RT - Thread Operating System
/ | \ 0.3.1 build Jun 10 2010
2006 - 2009 Copyright by rt-thread team
part, begin: 66048, size: 3.709GB
SPI File System initialized!
File System initialized!
LCD Device ID : 00009325
LCD GRAM test.... data bus test pass!GRAM test pass!
/resource/remote.txt open succeed.
decode succeed,The remote enable
Thu Jun 10 17:40:52 2010
dm9000 id: 0x90000a46
finsh>>event size: 28
event size: 20
event size: 28
event size: 20
could not establish link
finsh>>list_date()
Thu Jun 10 17:41:15 2010
26, 0x0000001a 回复【3楼】ffxz
原来rtc是放在rtthread_startup.c里的(包括stm3210的分支),后来发现有些情况下这个不一定执行成功(那个晶振关系非常大),所以移除了。
-----------------------------------------------------------------------
好像ST的RTC设计需要特别注意,我记得ST官网上还有专门的设计文档,前段时间我试图把带GUI的RT-Thread移植到LPC1765上,可以运行了,但老是堆栈溢出,LPC1765只有64K SRAM,而且是分两个地址。由于能力有限,没有移植成功。现在很多MCU都有USB HOST,如果4.0版本有USB HOST STACK 就更好了,我现在用LPC1765的USB HOST 驱动3G上网卡,能用而已,考虑的不是很完整,想好好学RT-Thread RT-thread是还缺个USB STACK, 大家一起搞定他如何? 昨天晚上试了一下自学习型红外线接收器,用电视机的遥控器当键盘遥控器,终于不用按生硬的轻触开关了,按个两天大拇指都有痛感了,我想请教CODEC模块的扬声器需要接怎么规格的,好像数据手册上说可以带8欧/0.9W的扬声器 我的板子一直无法显示finsh为什么啊?
SystemInit......
mem testing....
mem test pass!!
\ | /
- RT - Thread Operating System
/ | \ 0.3.1 build Jun 11 2010
2006 - 2009 Copyright by rt-thread team
sdcard init failed
SPI File System initialized!
File System init failed!
LCD Device ID : 00009325
LCD GRAM test.... data bus test pass!GRAM test pass!
decode remote codes
/resource/remote.txt open succeed.
decode succeed,The remote enable
dm9000 id: 0x90000a46
finsh>>event size: 28
event size: 20
event size: 28
event size: 20
operating at 10M half duplex mode
TCP/IP initialized!
stat -> stopped
Sat Jun 12 12:11:04 2010
这是我把set_data set_time,放在了函数中设置了时间,现在显示时间之后,还有没有显示出finsh 等呀等。 板收到,上电后能播放MP3。图片不能显示,怎样接收网络电台(联网正常)?能提供使用手册吗?请指点,谢谢! 拿到板子后
可以先上电看看 玩法,但是基本也没什么好玩的,可以放个sd卡,播放mp3。
1。去
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3952921&bbs_page_no=1&bbs_id=3066
下载发行版的固件和源码。
2。如果是单独的网线,可以直接连外网的话,stm32 radio 发行版程序可以自动获取ip 网关 dns
else,你可以打开代码 ,进入 rfconfig.h 屏蔽掉//#define RT_LWIP_DHCP,然后配置后面的ip 网
关等。
3。下载个stm32 的isp程序,或者你用ulink jlink,下载程序。
4。下载完成后,就可以根据菜单上的电台,连接网络电台收听了。国外的一般连接不成功。中国音乐,24小说网络电台那2个比较容易连接。 回复【7楼】lzm0117
昨天晚上试了一下自学习型红外线接收器,用电视机的遥控器当键盘遥控器,终于不用按生硬的轻触开关了,按个两天大拇指都有痛感了,我想请教codec模块的扬声器需要接怎么规格的,好像数据手册上说可以带8欧/0.9w的扬声器
-----------------------------------------------------------------------
"1W output power into 8Ω BTL speaker / 5V SPKVDD"
数据手册上面是这样说的.所以喇叭功能一般要大于2W才是合适的.然后最好有个箱体.效果还行.
事实上,用4欧也行.此时负载加重,功率可能变大.所以不要开最大音量.事实上,及时是8欧时也不要开最大.
另外.输出是
回复【10楼】maguorong
板收到,上电后能播放mp3。图片不能显示,怎样接收网络电台(联网正常)?能提供使用手册吗?请指点,谢谢!
-----------------------------------------------------------------------
图片在专用的HDC图片.这个功能是测试时用的.暂时不管他先.
菜单里面有个更新电台,自动从radio.rt-thread.org下载电台列表(www.aozima.com/radio有镜像),
然后选择电台就有了.
具体的操作手册.还没时间写.今天去拔牙了...忍通中
哪位帮写下如何?
也可参考: http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3878525 http://cache.amobbs.com/bbs_upload782111/files_30/ourdev_561531.JPG
(原文件名:err.JPG)
请问这个错误怎么解决啊 这个文件是否存在?不存在需要自行编译一下 回复【11楼】nibia
拿到板子后
可以先上电看看 玩法,但是基本也没什么好玩的,可以放个sd卡,播放mp3。
4。下载完成后,就可以根据菜单上的电台,连接网络电台收听了。国外的一般连接不成功。中国音乐,24小说网络电台那2个比较容易连接。
-----------------------------------------------------------------------
这个确实是最大的问题,因为shoutcast协议的电台国外的比较多(这种格式是mp3音频流)。所以有打算实现wma的软解码,这样国内的电台就比较多了。wma软解码的定点解码算法代码已经有了,还没好好调试。 重新编译了还是没有该文件“rtthread-stm32.AXF”
我用的编译器版本是4.11 看下编译时显示了什么.然后看看上面提示的那个文件是否确实存在.
估计是编译时没成功.应该会有显示的.从提示应该很容易发现问题所在. 已解决,谢谢 回复【18楼】trey21ic
已解决,谢谢
-----------------------------------------------------------------------
我希望,参与的人有什么问题大家一起交流,如何解决的也一样交流. 下载新的固件后能正常播放网络电台,能连上的电台数不多,能否连上国内的网络广播电台,没有地方设置?
源程序用4.1版编译有N个警告,下载后能正常播放 回复【19楼】aozima
-----------------------------------------------------------------------
我用的MDK是4.11-32K版本,开始没有*破*解*,因此能编译程序但不能生成“rtthread-stm32.AXF”,破解后就正常了 回复【20楼】maguorong
下载新的固件后能正常播放网络电台,能连上的电台数不多,能否连上国内的网络广播电台,没有地方设置?
源程序用4.1版编译有n个警告,下载后能正常播放
-----------------------------------------------------------------------
网络更新列表中的电台大部分都测试过能连上才加进去的,起码我这里是70%以上都可以连上的。
国内的电台很少用shoutcast + mp3格式,多数是mms + wma或者rtsp + ra,wma的解码库已有,但还没调试优化好,希望这次40套硬件发出去,能有高人参与完善这部分代码。
开源项目一定要靠大家的参与才能走下去,如果大家都是打算买个套件回去玩玩就算的,很快就会玩腻了丢一边,项目也就停滞不前了。 网络电台列表在DataFlash根目录下的radio.pls文件,可以USB联机手工编辑这个文件加入自己的电台,不过必须是shoutcast + mp3格式才行。
官方的电台列表由 aozima 更新维护,如果发现列表中有失效的电台,或者有好的电台推荐,可以联系 aozima 更新到官方列表中。 等暑期到了,先熟悉一下程序,再研究wma解码库,一起参与! 回复【23楼】gzhuli 咕唧霖
网络电台列表在dataflash根目录下的radio.pls文件,可以usb联机手工编辑这个文件加入自己的电台,不过必须是shoutcast + mp3格式才行。
官方的电台列表由 aozima 更新维护,如果发现列表中有失效的电台,或者有好的电台推荐,可以联系 aozima 更新到官方列表中。
-----------------------------------------------------------------------
请教:我的连接电脑并找到列表文件,使用文本编辑器可以打开并编辑,但是当存储时即刻报错,提示磁盘空间不够无法存储!并且通过网络更新也无法更新完成,是何原因? 你看看空间还剩余多少,好像发布的时候,spi flash上有两首mp3歌曲,可以删除掉:-)
另外,也可以自行更新下firmware,有更新了,网络更新刷新试图的问题也解决了。 空间已然不够了.那两个示例音乐测试过后请删除掉.
另外,请更新附件,因为gzhuli添加了LFN功能.并把转换表放在文件系统里面.
所以,resource目录下面的 gbk2uni.tbl uni2gbk.tbl 也请放入FLASH.空间只剩4K了. :-) 谢谢 aozima ,确实是空间问题,已经可以更新了! 我的板原来用的好好的,有一段时间没跟新程序,今天从新下载程序更新后出现SD卡无法初始化成功呢,
我的板和LCD是这个版本的:
http://cache.amobbs.com/bbs_upload782111/files_30/ourdev_564466DNPORF.jpg
(原文件名:ourdev_533154.jpg)
忘了这个版本的LCD控制器是不是fmt0371的了,
LCD的版本为默认的2时:
SystemInit......mem testing....
mem test pass!!
\ | /
- RT - Thread Operating System
/ | \ 0.3.1 build Jun 28 2010
2006 - 2009 Copyright by rt-thread team
part, begin: 26112, size: 29.678MB
SPI File System initialized!
SD File System init failed!
Unable to open GBK to Unicode look up table.Unable to open Unicode to GBK look up table.
Invalid LCD ID:00000000Please check you hardware and configure.
LCD的版本改为1时:
SystemInit......mem testing....
mem test pass!!
\ | /
- RT - Thread Operating System
/ | \ 0.3.1 build Jun 28 2010
2006 - 2009 Copyright by rt-thread team
part, begin: 26112, size: 29.678MB
SPI File System initialized!
SD File System init failed!
Unable to open GBK to Unicode look up table.
Unable to open Unicode to GBK look up table.
LCD GRAM test....TEST PASS!decode remote codes
/resource/remote.txt open succeed.decode succeed,The remote enable
dm9000 id: 0x90000a46
finsh>>event size: 28
event size: 20
event size: 28
event size: 20
could not establish link
TCP/IP initialized!
stat -> stopped
总是SD File System init failed! SD卡里面文件也放了,可早些时间烧写后是可以运行的,现在烧进去屏幕没任何反应呢,麻烦老大给分析一下原因。 part, begin: 26112, size: 29.678MB
已正确读到SD卡了.
SPI File System initialized!
/resource/remote.txt open succeed.decode succeed,The remote enable
SPI FLASH正常,里面的文件系统正常.
但
"SD File System init failed! "
可能的原因为: 你没有建立 /SD 目录.
详细请看这里:
[网络收音机]把主存储器切换为SPI-FLASH
此处程序迟些升级为:
如果根目录正常但没有SD目录,就自动建立这个目录,或谁有SVN权限的帮升级下.
LCD GRAM test....TEST PASS!
LCD正常.你的是老版的LCD.
Unable to open GBK to Unicode look up table.
现在烧进去屏幕没任何反应呢
1.你没有更新资源文件.
2.你在配置中选择了使用PWM背光但没有飞线.老版的LCD默认关背光,所以.有显示你看不见.
你可以在配置里面关闭PWM背光并选择IIS2.或飞线兼容新版本.
改动见下面:
老版本的升级:
关于新版将把IIS2改到IIS3及添加PWM调节背光的功能的通告和旧版的飞线说明 大家有发现windows7无法识别usb的么?xp就正常.....
更神奇的是同一批买的两台一模一样的电脑,系统也一样都是xp,但是一台识别的了,一台识别不了....太神奇了..... 没有装WIN7,暂时没有遇到这个问题,最近公司也比较忙,所以学习进度有点缓慢,这些天收收网络电台,感觉收听过程中有时会一直在缓冲中,没有声音输出,必需手动复位才能操作其它的,我的网络应该是正常的,一个人用2M带宽。等闲下来,好好学习一下。 再反应点问题:今天我把后面的飞线都焊上了,烧进程序后运行,终于出现了久违的画面,但按到USB连接后死机了,在电脑上出现3个大小都为0的盘符,输出信息如下:
SystemInit......
mem testing....
mem test pass!!
\ | /
- RT - Thread Operating System
/ | \ 0.3.1 build Jun 28 2010
2006 - 2009 Copyright by rt-thread team
part, begin: 129536, size: 1.897GB
SPI File System initialized!
SD File System initialized!
Unable to open GBK to Unicode look up table.
Unable to open Unicode to GBK look up table.
LCD GRAM test....TEST PASS!
decode remote codes
/resource/remote.txt open succeed.
decode succeed,The remote enable
dm9000 id: 0x90000a46
finsh>>event size: 28
event size: 20
event size: 28
event size: 20
key_right
key_down
key_down
key_down
key_down
key_down
key_down
key_down
could not establish link
TCP/IP initialized!
stat -> stopped
rtc is not configured
please configure with set_date and set_time
Thu Jan1 00:00:00 1970
key_enter
psr: 0x21000000
pc: 0x0802260a
lr: 0x08021a8b
r12: 0x00000000
r03: 0xffffffff
r02: 0x68000000
r01: 0x200004ec
r00: 0x00000001
hard fault on thread: tidle
threadpristatus sp stack size max used left tickerror
-------- ---- ------- ---------- ---------- ---------- ---------- ---
msc_thre 0x1f suspend 0x00000080 0x00000400 0x00000080 0x00000001 000
nbuf 0x16 suspend 0x000000a0 0x00000400 0x000000a0 0x00000005 000
tcpip 0x0a suspend 0x000000c8 0x00000400 0x000000c8 0x00000012 000
etx 0x0c suspend 0x00000090 0x00000200 0x00000090 0x00000010 000
erx 0x0c suspend 0x00000090 0x00000200 0x00000090 0x00000010 000
remote 0x1e suspend 0x00000080 0x00000180 0x00000080 0x00000002 000
key 0x1e suspend 0x00000098 0x00000180 0x000000a0 0x00000001 000
ply_ui 0x19 suspend 0x000000d0 0x00001000 0x00000358 0x00000005 000
ply_bg 0x14 suspend 0x000000f8 0x00000400 0x000000f8 0x00000005 000
info 0x19 suspend 0x000000d0 0x00000800 0x00000290 0x00000005 000
rtgui 0x0f suspend 0x000000e8 0x00000400 0x000000e8 0x00000005 000
tidle 0x1f ready 0x00000050 0x00000100 0x00000050 0x00000003 000
tshell 0x14 suspend 0x00000088 0x00000800 0x00000088 0x0000000a 000
这是何故? idle线程会出问题,这个确实有些迷糊。
看看你那边编译出来的文件中,
pc: 0x0802260a
lr: 0x08021a8b
这两个分别对应什么位置。仅进行USB联机的时候才出现? 说明一下,我的板子一开始"SD File System init failed! " ,所以一运行时我在命令行里执行了mkdir("/SD"),然后就SD File System initialized!了,可现在问题是盘符出来了,但不正常,无法拷贝文件进去。
还有就是我在命令行里执行USB-cable()提示没这个命令了呢,以前我用过啊。
上面还提到WIN7的问题,我这在XP下能出3个盘符,在WIN7下提示驱动安装失败,无法显示出盘符。 回复【35楼】dragonwww
说明一下,我的板子一开始"sd file system init failed! " ,所以一运行时我在命令行里执行了mkdir("/sd"),然后就sd file system initialized!了,可现在问题是盘符出来了,但不正常,无法拷贝文件进去。
还有就是我在命令行里执行usb-cable()提示没这个命令了呢,以前我用过啊。
上面还提到win7的问题,我这在xp下能出3个盘符,在win7下提示驱动安装失败,无法显示出盘符。
-----------------------------------------------------------------------
执行了mkdir("/sd"),然后就sd file system initialized!了
这个指的是重启后出现initialized吧,如果是这样的话,这个流程是正确的。
usb_cabel()命令应该是注释掉了,直接采用菜单进行操作。现在的USB,虽然有3个盘符,仅spi flash能够使用,SD卡的以前能行现在有问题,还没细查。 老大回帖好快啊,下面是PC和LR所指位置,仅在USB联机时出现这个问题。
还想问一下:工程设置里面用不用包含微库啊?
http://cache.amobbs.com/bbs_upload782111/files_30/ourdev_565952IVL03O.PNG
(原文件名:PC.PNG)
http://cache.amobbs.com/bbs_upload782111/files_30/ourdev_565953PH072Y.PNG
(原文件名:LR.PNG) USB在WIN7下面不行,
及,XP下SD卡不行的问题.会在这周内抽时间大家一起调试下.
希望楼上能抽出时间来帮一起测试下. 回复【37楼】dragonwww
老大回帖好快啊,下面是pc和lr所指位置,仅在usb联机时出现这个问题。
还想问一下:工程设置里面用不用包含微库啊?
-----------------------------------------------------------------------
微库好像功能太少了些,直接用C库吧。
看PC,那个地方似乎不应该有问题。整个过程再多叙述下,点USB联机菜单就直接挂掉?USB线有否连接?
还是,在PC那边试图往U盘里复制东西然后挂掉的? 呵呵,It’s my honor to do my bit for RT-Thread。不过测试应用之类的简单点的还成,调试SD卡的问题就有点力不从心了,但是毛主席教导我们:union is strength,所以一定会解决地:) 是点了USB联机菜单后出现的错误调试信息,但此时电脑上已经出现了3个盘符,大小都为0,还没有进行复制文件呢。
我的板子是V2的,LCD是老版的,哪里还需要另外设置吗? 换以前保存的一个版本试验:
SystemInit......
mem testing....
mem test pass!!
\ | /
- RT - Thread Operating System
/ | \ 0.3.1 build Jun 18 2010
2006 - 2009 Copyright by rt-thread team
part, begin: 129536, size: 1.897GB
SPI File System initialized!
File System initialized!
LCD GRAM test....TEST PASS!
decode remote codes
/resource/remote.txt open succeed.
decode succeed,The remote enable
dm9000 id: 0x90000a46
finsh>>event size: 28
event size: 20
event size: 28
event size: 20
could not establish link
key_right
key_down
key_down
key_down
key_down
key_down
key_down
key_down
key_enter
Cable removed!
SystemReset
?
SystemInit......
mem testing....
mem test pass!!
\ | /
- RT - Thread Operating System
/ | \ 0.3.1 build Jun 18 2010
2006 - 2009 Copyright by rt-thread team
part, begin: 129536, size: 1.897GB
SPI File System initialized!
File System initialized!
LCD GRAM test....TEST PASS!
decode remote codes
/resource/remote.txt open succeed.
decode succeed,The remote enable
dm9000 id: 0x90000a46
finsh>>event size: 28
event size: 20
event size: 28
event size: 20
could not establish link
点击USB联机以后直接复位重启了,感觉就像是看门狗复位一样。 原因就是SD卡接上后,U盘程序出问题.请拔掉测试下.然后,没必要把全部打印出来的东西都贴出来.这样看贴子太长太累了. 回复【40楼】dragonwww
呵呵,it’s my honor to do my bit for rt-thread。不过测试应用之类的简单点的还成,调试sd卡的问题就有点力不从心了,但是毛主席教导我们:union is strength,所以一定会解决地:)
-----------------------------------------------------------------------
呵呵,这也正是玩RT-Thread的乐趣。
有时也在反思,什么才是下一代的RTOS,技术上?何不换一个角度:
RT-Thread 启动下一代RTOS演化,这个下一代在于“开源的RTOS”。
全球两大著名的开源RTOS:RTEMS、eCos,这些就是RT-Thread榜样。 usb联机后,可以看文件,但是怎么退出啊 显示音量的控制条怎么不动啊,按键可以控制音量,就是显示的控制音量的圆点一直在中间,有这个问题嘛 回复【45楼】jichong211
usb联机后,可以看文件,但是怎么退出啊
-----------------------------------------------------------------------
U盘要怎么退出呢?
回复【46楼】jichong211
显示音量的控制条怎么不动啊,按键可以控制音量,就是显示的控制音量的圆点一直在中间,有这个问题嘛
-----------------------------------------------------------------------
目前还没有实现触摸屏上面音量调节.你可以试着实现下. :-) 我的板子收到了,line输出口有个贴片电阻只焊了一个焊盘。st32也重焊过,焊了没洗····,可能太仓促了。东西还不错,有些连不上的电台貌似会死机。出现过死机一次。触摸的画板好像也没有完善吧。谢谢你们的努力。现在我能做的只有学习。 我试跑单个例程的GUI部分,总是提示LCD ID 无效:
\ | /
- RT - Thread Operating System
/ | \ 0.3.1 build Jul6 2010
2006 - 2009 Copyright by rt-thread team
SPI File System initialized!
Invalid LCD ID:00000000
Please check you hardware and configure.
LCD配置: LCD_VERSION 2
好象没看到有说LCD部分硬件有更改,不知其他同学有没有这个问题 请检查你的LCD硬件与初始化程序. 如果是RADIO的板,使用FSMC的请先配置好IO及FSMC.
另.要独立使用学习与测试各个组件请参考此贴:
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3945526 烧进网络收音机的固件可以跑,LCD显示正常,单个例程中,LCD的例程才有问题,其它方面的例程跑了几个,正常。下载的例程没做过任何更改的 回复【51楼】xiefeng
烧进网络收音机的固件可以跑,lcd显示正常,单个例程中,lcd的例程才有问题,其它方面的例程跑了几个,正常。下载的例程没做过任何更改的
-----------------------------------------------------------------------
就是那个GUI例程跑不起来?等会我试试 请教两个问题,一是GBK和Unicode转换的那两张表如何更新(单独在SD卡里建立resource文件夹再拷进去似乎不行),另外如何将主存储器切换为SPI-FLASH不是太明白。二是现在788版本的AXF文件生成烧录进去以后没法从SD卡播放歌曲,即使改成短文件名也不行,串口输出结果为:
key_enter
psr: 0xa1000000
pc: 0x080166d6
lr: 0x080166c9
r12: 0x00000003
r03: 0x00000020
r02: 0xffffffcc
r01: 0xffffffd0
r00: 0x00000000
hard fault on thread: ply_bg
threadpristatus sp stack size max used left tickerror
-------- ---- ------- ---------- ---------- ---------- ---------- ---
tcpip 0x0a suspend 0x000000c8 0x00000400 0x000001c0 0x00000014 000
etx 0x0c suspend 0x00000088 0x00000200 0x00000088 0x00000010 000
erx 0x0c suspend 0x00000088 0x00000200 0x00000088 0x00000010 000
remote 0x1e suspend 0x00000078 0x00000180 0x00000078 0x00000002 000
key 0x1e ready 0x00000098 0x00000180 0x00000098 0x00000005 000
ply_ui 0x19 ready 0x00000360 0x00001000 0x000005e8 0x00000003 000
ply_bg 0x14 ready 0x00000118 0x00000400 0x00000320 0x00000003 000
info 0x19 suspend 0x000000d0 0x00000800 0x00000290 0x00000005 000
rtgui 0x0f suspend 0x000000e0 0x00000400 0x000001e8 0x00000003 000
tidle 0x1f ready 0x00000040 0x00000100 0x00000040 0x00000013 000
tshell 0x14 suspend 0x00000088 0x00000800 0x00000088 0x0000000a 000
init 0x08 suspend 0x000000a0 0x00000800 0x000002d8 0x00000008 000
能否指教? 是不是你没赋值GBK和Unicode转换表的关系?771版本后就需要转换表了,并开启了长文件名。
spi flash你看看空间是否够用,原来有两首mp3歌曲,把它们删除掉,把转换表拷贝到resource目录中。 回复【54楼】ffxz
-----------------------------------------------------------------------
已经操作过了,但效果一样,播放SD卡歌曲时界面下方的播放列表中有显示,上面的歌曲名、歌曲信息、播放时间和进度条没有,串口输出结果是ply_bg线程问题。同样的SD卡中歌曲在烧录6月10号那个公开的hex版本时播放是正常的。我使用的是MDK 4.12,会不会是编译器版本造成的问题? Q:一是GBK和Unicode转换的那两张表如何更新(单独在SD卡里建立resource文件夹再拷进去似乎不行)
A:现在是把资源文件放在 FLASH中的.
Q:另外如何将主存储器切换为SPI-FLASH不是太明白
A:现在已经是,具体请看: application.c 的 dfs_mount 部分.
FLASH的格式化请看: 30楼.(邮购部发出来的已经格式化好了.如果新加资源文件请删除原来的两个演示的音乐文件)
Q:我使用的是MDK 4.12,会不会是编译器版本造成的问题?
A:没有问题
Q:同样的SD卡中歌曲在烧录6月10号那个公开的hex版本时播放是正常的
A:同样请看30楼来更新资源文件.请使用USB联机来更新.或把application.c 的 dfs_mount修改为只使用SD卡,然后把卡拿出来更新. 回复【56楼】aozima
-----------------------------------------------------------------------
谢谢提示,已经按全部操作做过了,更新进去结果还是不能播。现在的调试结果从开机开始是这样:
SystemInit......
mem test pass!!
\ | /
- RT - Thread Operating System
/ | \ 0.3.1 build Jul 14 2010
2006 - 2009 Copyright by rt-thread team
part, begin: 29184, size: 14.195MB
SPI File System initialized!
SD File System initialized!
LCD Device ID : 9325data bus test pass! LCD GRAM test....TEST PASS!
/resource/remote.txt open succeed.
decode succeed,The remote enable
dm9000 id: 0x90000a46
finsh>>event size: 28
event size: 20
event size: 28
event size: 20
could not establish link
key_left
key_down
key_down
key_down
key_enter
key_down
key_down
key_down
key_enter
psr: 0x41000000
pc: 0x080166d6
lr: 0x080166c9
r12: 0x00000003
r03: 0x00000000
r02: 0x00000000
r01: 0x00000000
r00: 0x00000000
hard fault on thread: ply_bg
threadpristatus sp stack size max used left tickerror
-------- ---- ------- ---------- ---------- ---------- ---------- ---
tcpip 0x0a suspend 0x000000c8 0x00000400 0x000001c0 0x00000014 000
etx 0x0c suspend 0x00000088 0x00000200 0x00000088 0x00000010 000
erx 0x0c suspend 0x00000088 0x00000200 0x00000088 0x00000010 000
remote 0x1e suspend 0x00000078 0x00000180 0x00000078 0x00000002 000
key 0x1e ready 0x00000098 0x00000180 0x00000098 0x00000001 000
ply_ui 0x19 ready 0x00000310 0x00001000 0x00000478 0x00000003 000
ply_bg 0x14 ready 0x00000118 0x00000400 0x00000320 0x00000003 000
info 0x19 suspend 0x000000d0 0x00000800 0x00000290 0x00000006 000
rtgui 0x0f suspend 0x000000e0 0x00000400 0x000000e0 0x00000005 000
tidle 0x1f ready 0x00000040 0x00000100 0x00000040 0x00000001 000
tshell 0x14 suspend 0x00000088 0x00000800 0x00000088 0x0000000a 000
init 0x08 suspend 0x000000a0 0x00000800 0x000002d8 0x00000011 000 pc: 0x080166d6
lr: 0x080166c9
查查这两个地方是在哪里。 点击此处下载 ourdev_567725M32UVC.rar(文件大小:731K) (原文件名:hex_R792.rar)
这是SVN中代码编译的,你测试下以排除:
1.你的编译器和工具有问题.
2.保证你编译的源文件完全和SVN一致. 回复【59楼】aozima
-----------------------------------------------------------------------
谢谢,估计是我编译器或者配置的问题,我自己用MDK4.12(Armcc是4.1.0.481)编出来的版本hex少了9810字节,我再查查。 回复【59楼】aozima
-----------------------------------------------------------------------
现在基本确定是编译器的问题了,我在另一台机子上用MDK3.4版本编译的结果是正常的,用MDK4.12编译的结果就是少了那9810字节。 好的.我用的是4.11测试的.
我用4.12的测试下好找出问题.
推荐使用 3.50~3.80 确认和编译器有关:
现象: mp3解码程序 imdct.c的 static __inline void imdct12 (int *x, int *out) 函数
参数传入使用 x:R0 out:R1
{
......................
*out = x0 + x1; out++;
*out = x2 + x3; out++;
*out = x4 + x5; out++;
*out = x4 - x5; out++;
*out = x2 - x3; out++;
*out = x0 - x1;
}
但编译器没有保存R0与R1的备份就直接使用了R0和R1.
于是,out就飞了.
上传使用O0编译和O3编译的汇编代码,可以看到. O0的:
0x08016898 E92D4FFEPUSH {r1-r11,lr}
0x0801689C 4604 MOV r4,r0
0x0801689E 460D MOV r5,r1
在函数入口处做了备份.而O3的,就看不懂了.
点击此处下载 ourdev_567957TFNKGS.rar(文件大小:2K) (原文件名:stm32_radio_imdct.rar) 回复【52楼】ffxz
-----------------------------------------------------------------------
昨天又跑了一下例程,还是有问题,后来比较了一下例程和收音机中的LCD驱动,发现FSMC的初始化不一样:
收音机的:
/* FSMC_Bank1_NORSRAM4 configuration */
p.FSMC_AddressSetupTime = 2;
p.FSMC_AddressHoldTime = 1;
p.FSMC_DataSetupTime = 3;
例程的:
/* FSMC_Bank1_NORSRAM4 configuration */
p.FSMC_AddressSetupTime = 0;
p.FSMC_AddressHoldTime = 0;
p.FSMC_DataSetupTime = 2;
应该是时序太快导致,可能有些屏可以正常跑,有些就不行了吧。更改后可以跑了。 回复【64楼】xiefeng
-----------------------------------------------------------------------
请指明下是哪个例子名称?
例子的SVN中的代码LCD驱动早已更新.等下查下是否有漏的. 回复【65楼】aozima
-----------------------------------------------------------------------
GUI部分的例子都是同样的驱动代码。我是在RADIO资料贴的8楼下的。 K9F2808是不是没焊啊,线路有连吧,我自己买个焊上去可以把 回复【66楼】xiefeng
回复【65楼】aozima
-----------------------------------------------------------------------
gui部分的例子都是同样的驱动代码。我是在radio资料贴的8楼下的。
-----------------------------------------------------------------------
那时当时打包的,有更新请去SVN下载.
回复【67楼】jichong211
k9f2808是不是没焊啊,线路有连吧,我自己买个焊上去可以把
-----------------------------------------------------------------------
全部都没焊.线路连接正常.自己找片焊上即可. 那就换个128M的 今天临时调试另一块板,拆下液晶模块想用主板上连接的排线,发现主板上液晶两排线里跟VCC对角的那个GND应该是+5V,丝印似乎印错了 回复【70楼】cylrwhy
今天临时调试另一块板,拆下液晶模块想用主板上连接的排线,发现主板上液晶两排线里跟vcc对角的那个gnd应该是+5v,丝印似乎印错了
-----------------------------------------------------------------------
是的.遗漏, 丝印错了.
不过也许没机会改正了... 回复【63楼】aozima
确认和编译器有关:
现象: mp3解码程序 imdct.c的 static __inline void imdct12 (int *x, int *out) 函数
参数传入使用 x:r0 out:r1
{
......................
*out = x0 + x1; out++;
*out = x2 + x3; out++;
*out = x4 + x5; out++;
*out = x4 - x5; out++;
*out = x2 - x3; out++;
*out = x0 - x1;
}
但编译器没有保存r0与r1的备份就直接使用了r0和r1.
于是,out就飞了.
上传使用o0编译和o3编译的汇编代码,可以看到. o0的:
0x08016898 e92d4ffepush {r1-r11,lr}
0x0801689c 4604 mo......
-----------------------------------------------------------------------
写了一段简单的代码测试了一下,证实了只要在局部变量把寄存器消耗完了以后就会出这个bug,还是挺严重的,arm官方的update里面还没有出补丁。
同样一段代码,原先编译成这样
0x08019814 E92D4FF3PUSH {r0-r1,r4-r11,lr}
0x08019818 B086 SUB sp,sp,#0x18
现在变成了这样
0x08019688 E92D4FF0PUSH {r4-r11,lr}
0x0801968C B087 SUB sp,sp,#0x1C
少压了两个word,可惜后面弹栈没有变 -,-| 于是刚好就把上一级的lr给弹出来了。 看来得反馈给ARM官方去了... 标识 标记,重要的入栈出栈bug 为什么不把这些文件压缩放在网上或是阿莫这里,搞得很不方便。 回复【76楼】myhonour
为什么不把这些文件压缩放在网上或是阿莫这里,搞得很不方便。
-----------------------------------------------------------------------
1.代码更新很频繁,压缩包很难追得上更新速度。
2.网络收音机的主要目的是让更多人了解和学习RT-Thread,最终能加入RT-Thread开发。
3.SVN是主流的开源项目代码管理工具之一,无论最终是否参与RT-Thread开发,学会使用SVN都是有益处的。 如果.把代码只以打包的形式发布出来. 最后形成的局面是.就成了那几个项目主导者在写代码.大家都在傻等.
心中都在骂这代码超垃圾.但就是不会去改进.要么是改进了不想发出来.要么是觉得.哎.我能力有限,这代码还是由他们去改吧.
SVN想出力的很容易可以加入开发.提交了自己的代码成就感.
从上次邮购部发布到现在,中间更新了近100次.(其中不全是RADIO分支的)
有更新所有人都可以很方便地看得到.
而.BBS上面,也会每一段时间,某个功能完善后release一次(详见资料发布贴)
另外.使用版本控制软件是必须的.不限于SVN.
但SVN是开源界最流行的.拒绝使用SVN,CVS,GIT等工具.你将看不到世界上的大多数优秀代码. 恩,用了才知道,像我们做硬件出身的,很多软件方面优秀的习惯和方法都不知道。跟着radio项目,学习的还是很多的 回复【79楼】nibia
恩,用了才知道,像我们做硬件出身的,很多软件方面优秀的习惯和方法都不知道。跟着radio项目,学习的还是很多的
-----------------------------------------------------------------------
做硬件也一样.比如画一个大型PCB.画着画着.断电了.再启动发现PCB文件损坏.
即使完全损坏.但有部分数据坏了.等大批量PCB出来.也就只能哭了.
或本来都设计完成了.但想小改.结果.新的没改成.旧的没有了. 宣传一下,hg是好东西,未来的趋势。
google code现在同时支持svn和hg的 SVN是集中式管理,GIT和Mercurial是分散式管理,像radio这种参与人数众多,代码提交分散的项目,GIT和Mercurial比SVN更适合。 刚拿到STMRadio,上电操作一下,感觉触摸屏的反应很慢,有时甚至没有作用 说明一下是V3版的STMRadio从ST产品研讨会上面,做为奖品得到的 回复【83楼】ma9801
刚拿到stmradio,上电操作一下,感觉触摸屏的反应很慢,有时甚至没有作用
-----------------------------------------------------------------------
触摸屏需要做个校准,在选项菜单的下面有相应的功能项。另外触摸屏最好是找个触摸笔来用,稍微用用力。 收到板子了,菜单条目的汉字显示是乱码,一边听音乐一边浏览就会发生这种情况 明显能看到横条纹,好像是刷新速度不够快,背景色如果比较暗的话会更明显,连接豆瓣的时候一直显示缓冲中,播放的时候更新电台就会死掉,不知道跑到哪里去了,还是有很多bug,发了这么多板了,不知道有几个人在玩哦 显示又是乱码,不知道是不是我用usb供电的原因,明天再玩 回复【87楼】lhj200304
明显能看到横条纹,好像是刷新速度不够快,背景色如果比较暗的话会更明显,连接豆瓣的时候一直显示缓冲中,播放的时候更新电台就会死掉,不知道跑到哪里去了,还是有很多bug,发了这么多板了,不知道有几个人在玩哦
-----------------------------------------------------------------------
这批的屏是有点条纹. 这已是优化后的效果. TP没有那个LOGO的屏现在听说不好买了.
豆瓣从前天起不能连接了需要改进代码.豆瓣的频道换了好像.
这个板发了很多.玩的人也比较多了.但目前为其修正BUG的,太少了.非常缺. 豆瓣又换链接了?看来得弄个配置文件,以后只需要修改下配置文件而不用编译整个工程。软件相关的一些问题,争取尽快休掉吧
aozima,
这次问题好像有挺多反映中文不能正常显示的,SPI flash驱动没做好吗? 豆瓣最近改得连自己的iPhone客户端都没法听了。 回复【90楼】ffxz
豆瓣又换链接了?看来得弄个配置文件,以后只需要修改下配置文件而不用编译整个工程。软件相关的一些问题,争取尽快休掉吧
aozima,
这次问题好像有挺多反映中文不能正常显示的,spi flash驱动没做好吗?
-----------------------------------------------------------------------
SST是4K扇区.现在使用一个写缓冲模拟成512字节.一般没问题.但容易出问题.
到时一并改成4K扇区后会改善. 回复【92楼】aozima
sst是4k扇区.现在使用一个写缓冲模拟成512字节.一般没问题.但容易出问题.
到时一并改成4k扇区后会改善.
-----------------------------------------------------------------------
这个就是那个需要升级到RT-Thread 0.4.x才能解决的? 首先问一下大家屏幕在播放界面有没有横的条纹,在看系统情况的时候是灰色背景,有一闪一闪的条纹更明显,仔细看了一下屏幕发现,屏幕后边的柔性电路板上的两颗电容快掉了,还有一颗已经找不到了,不知道这几颗电容和显示的条纹有没有关系,大家谁还有这种情况,交流一下 这批屏都有些小条纹.厂家说调整寄存器设置可以好点.但目前调整了许多都不太满意.
我承认这事我放水了.因为自己做屏实在是吃力不讨好,就找别人做的.但那边目前只有这种.
也许下批会继续换屏.为这事烦死了
关于屏掉下来的问题.是别人做给我时里面只粘了一条胶带. 以后发出会弄开来再粘3条. 我的汉字显示不出来,英文可以显示 为什么我的汉字显示出来了?各板子之间有什么不一样吗? 我把那个2M的FLASH格式化,重新写好文件后正常了 找了个WAV文件反复播放,放着放着就没声音了,再打开其它文件也不播放了,不知为什么.
页:
[1]
2