搜索
bottom↓
回复: 10

STM32 Radio 代码移植相关疑问咨询

[复制链接]

出0入0汤圆

发表于 2010-5-3 19:14:16 | 显示全部楼层 |阅读模式
手头有一个安富莱的STM32F103ZE的开发板,在上面移植了STM32 Radio相关代码,目前有如下问题,请教一下大家。

目前LCD驱动程序、DM9000已经移植成功。但是有些问题没有解决,现象如下:

LCD:
1. 调用STM32 Radio中的画线函数,清屏函数都可以正确反应,运行STM32 Radio程序可以在LCD上显示一个 “网络图标”。
2. 其他就没有任何反应了,那个播放器的界面没有出现。

疑问:这个时候没有播放器的界面是否是属于正常现象?(我目前的J-link 无法跟踪全部代码,总是跟踪一些代码之后就会出现R5或者R6寄存器错误,退出)

USB:
1. 通过Finsh命令 输入USB_cable,STM32 Radio通过Finsh反馈如下信息,但是没有调用void USB_cable(void)函数,从而没有建立msc_thread_entry进程
        msc_thread = rt_thread_create("msc_thread",
                                      msc_thread_entry, RT_NULL,
                                      1024, RT_THREAD_PRIORITY_MAX-1,1);
-----------------------------------------------------------------------------------------------------------
Finsh反馈:
finsh>>USB_cable
        134256369, 0x080096f1
finsh>>
finsh>>
finsh>>
finsh>>
finsh>>
finsh>>
finsh>>
finsh>>
finsh>>
finsh>>USB_cable
        134256369, 0x080096f1
finsh>>
finsh>>
finsh>>
finsh>>
finsh>>
finsh>>
finsh>>
finsh>>
finsh>>

这里发送一个Finsh命令,但是反馈很多 Finsh>>字符上来,不知道是否是正常反应?
------------------------------------------------------------------------------

2. 通过其他方法调用void USB_cable(void)函数,建立msc_thread_entry进程,但是程序卡在如下语句:
    while( test_unit_ready_last == test_unit_ready_start )
    {
       rt_thread_delay( RT_TICK_PER_SECOND );
    }

找遍了整个工程文件的.c .h文件,test_unit_ready_start 变量只是通过如下语句初始化了一下,再没有改变过了,

    unsigned long test_unit_ready_start = rt_tick_get();//在此处初始化test_unit_ready_start变量
    test_unit_ready_last = test_unit_ready_start;//在此处初始化test_unit_ready_last变量

疑问:
   怎么才能让Finis 正确响应,调用void USB_cable(void)函数,建立msc_thread_entry进程? 怎么才能改变test_unit_ready_start变量的值?
(我从SVN上同步更新了Radio 项目的代码,应该没有漏掉其他源文件没有下载)

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2010-5-3 19:33:26 | 显示全部楼层
1."这里发送一个Finsh命令,但是反馈很多 Finsh>>字符上来" 估计你的串口有问题,发送了很多不应该发送的数据.(每发送一个回车就出来一次finsh>>)

2. 不要再直接在finsh中调用USB_cable,SVN中已在finsh中去掉了这个命令.因为USB_cable里面会锁UI,如果直接在finsh中执行现测试发现有问题.所以就去掉了.

3. while( test_unit_ready_last == test_unit_ready_start ) 用来等待 PC端发来第一个命令...这类操作最好不要使用单步调试.

4. "test_unit_ready_last 变量只是通过如下语句初始化了一下,再没有改变过了"
   mass_mal.c 中每接收到一次PC发来的命令就自动更新一次. 用来实现PC端移除后自动重新启动.

综合上述:
你的代码没有完全和SVN中同步,请使用svn st 命令查看各文件状态,有冲突的,先删除本地文件或目录(有用的自行备份),再同步.
如果使用小乌龟,直接看颜色即可.

加油.

出0入0汤圆

发表于 2010-5-3 19:37:31 | 显示全部楼层
这个还是等待radio中的USB例程吧

USB例程,aozima你来完成?

出0入0汤圆

发表于 2010-5-3 20:35:45 | 显示全部楼层
学习

出0入663汤圆

发表于 2010-5-4 00:08:13 | 显示全部楼层
唉,USB是个很麻烦的东西。

出0入0汤圆

发表于 2010-5-4 15:45:36 | 显示全部楼层
回复【楼主位】swordlife
-----------------------------------------------------------------------

我也和LZ用的是同一块板子,做好了LwIP,但是用netio测试的时候,板子的接收速度能达到300KBytes/s,而发送速度只有5000Bytes/s,并且在netio发送32KBytes的包时候死掉,不知道LZ能不能把你的板子的测试速度发我看下呢?好对照一下,看看是硬件问题还是软件问题。netio版本:1.2.6。
QQ:644736880,希望能和LZ交流一下。

出0入0汤圆

 楼主| 发表于 2010-5-5 22:05:24 | 显示全部楼层
【】McDeggy 再见,列宁:

我没有在那块板没有做过net方面的实验,故无法帮助你。

出0入0汤圆

发表于 2010-5-5 23:17:43 | 显示全部楼层
呵呵,等radio板子吧,radio板子上每个例程都能跑,完整的工程也能跑:-)

USB、USB、nnd有时间折腾个全套的USB栈,覆盖device、host、OTG

出0入0汤圆

发表于 2010-5-5 23:24:22 | 显示全部楼层
回复【7楼】ffxz  
呵呵,等radio板子吧,radio板子上每个例程都能跑,完整的工程也能跑:-)
usb、usb、nnd有时间折腾个全套的usb栈,覆盖device、host、otg
-----------------------------------------------------------------------
USB有计划了? 一直对USB存在一种恐惧感.

出0入0汤圆

发表于 2010-5-5 23:24:34 | 显示全部楼层
回复【1楼】aozima
1."这里发送一个finsh命令,但是反馈很多 finsh>>字符上来" 估计你的串口有问题,发送了很多不应该发送的数据.(每发送一个回车就出来一次finsh>>)
2. 不要再直接在finsh中调用usb_cable,svn中已在finsh中去掉了这个命令.因为usb_cable里面会锁ui,如果直接在finsh中执行现测试发现有问题.所以就去掉了.
3. while( test_unit_ready_last == test_unit_ready_start ) 用来等待 pc端发来第一个命令...这类操作最好不要使用单步调试.
4. "test_unit_ready_last 变量只是通过如下语句初始化了一下,再没有改变过了"  
   mass_mal.c 中每接收到一次pc发来的命令就自动更新一次. 用来实现pc端移除后自动重新启动.
综合上述: ......
-----------------------------------------------------------------------

小乌龟是什么东东呀

出0入0汤圆

发表于 2010-5-5 23:26:43 | 显示全部楼层
回复【8楼】aozima  
usb有计划了? 一直对usb存在一种恐惧感.
-----------------------------------------------------------------------

有计划也没时间啊,东西并不复杂的。我得先把RT-Thread/GUI,当然还有内核
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-20 16:42

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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