lxzhg2010 发表于 2010-12-14 18:07:17

pc上运行rt-thread 0.4.0 求助,两个问题

第一个问题, 用realboard运行, finsh不响应help命令,请问在哪儿能找到帮助?
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_604613T0P8KW.JPG
realboard run (原文件名:rtt_run.JPG)


另外一个问题,用qemu运行的话,敲一次回车,finsh换行两次,不知是否正常? 用的是同一个rtthread-mini2440.axf(在这个论坛下载的)
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_604612BQF0MH.JPG
qemu run (原文件名:qemu_run.JPG)

shaolin 发表于 2010-12-14 18:11:32

1.试下list()这个命令吧
2.使用qemu的cmd窗口的确会出现两行finsh

ffxz 发表于 2010-12-14 20:22:00

finsh shell的设计不同于一般的shell,更类似vxWorks的shell,所以本身基本没帮助,而函数list()用于显示当前系统所有支持的命令。

另外就是,finsh shell基本上能够兼容很全的C语言表达式,例如如下的:
finsh /> 1+1         /* 基本的算术运算 */
finsh /> 1 << 8      /* 位运算 */

finsh /> int i       /* 声明一个整形变量 */
finsh /> i = 100   /* 对变量进行赋值 */

finsh /> int *ptr    /* 声明一个指针变量 */
finsh /> ptr = list/* 赋值成list函数的地址 */
finsh /> ptr()       /* 执行这个函数 */

finsh /> ptr = 0x20000000/* 把ptr赋值成0x2000 0000 地址 */
finsh /> *ptr      /* 取地址内容 */

每条语句末尾可以省略';' (实际上是内部补足了一个';'),也可自行添加上';',即';'是可选的。

lxzhg2010 发表于 2010-12-14 22:05:29

谢谢,懂了点,
不知道下面的运行是否正确,另外如何启动LCD设备?
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_604695GU6GWX.JPG
rtt run1 (原文件名:rtt_run.JPG)

http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_604696FPRA0M.JPG
rtt run2 (原文件名:rtt_run2.JPG)

shaolin 发表于 2010-12-14 22:29:02

1.运行都是正常的。
2.在QEMU中,它会负责启动LCD。RT-Thread使用QEMU的LCD时完全将它当成一个真实的LCD来操作的。

shaolin 发表于 2010-12-14 22:30:15

QEMU/mini2440中应该是完整的模拟了s3c2440的LCD控制器的。

ffxz 发表于 2010-12-15 06:34:18

不知道你的image哪里来的,是自行从rt-thread trunk中更新编译的吗?如果是这样,那么lcd会自动启动,而不需要用命令触发。

另外,lcd驱动已经往finsh shell中输出了以下的函数:
void hline(rt_uint32_t c, int x1, int x2, int y);    /* 绘制水平线,c是像素色彩,测试用可任意赋值 */
void vline(rt_uint32_t c, int x, int y1, int y2);    /* 绘制垂直线,c是像素色彩,测试用可任意赋值 */
void clear(); /* 清屏 */

你上面运行finsh shell的命令是正确的,运行结束后的打印就是这条表达式执行后的结果,所以正确与否可自行判断。

shaolin 发表于 2010-12-15 08:41:39

lxzhg2010 是在realboard模拟器中运行RT-Thread吧?

lxzhg2010 发表于 2010-12-18 18:53:48

回复【7楼】shaolin
lxzhg2010 是在realboard模拟器中运行rt-thread吧?
-----------------------------------------------------------------------

shaolin你好,是用realboard运行RT-thread, 原因已搞清楚,RT_USING_RTGUI没有编译进去。
修改rtconfig.h重新编译,不过又遇到新问题,"飞线乱飞"时按Button输出"send event to wb failed",
用qemu试过一次,也会出现这种现象,概率比较低。查过代码,是msg_queue_free为NULL导致,原因尚不清楚。
另外,弹出的对话框无法移动位置,不知道和realboard有没有关系。
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_605456NHFOLC.JPG
rtt_lcd1 (原文件名:rtt_lcd1.JPG)

http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_605457STZHQB.JPG
rtt_lcd2 (原文件名:rtt_lcd2.JPG)

ffxz 发表于 2010-12-19 07:25:27

send event to wb failed确实就像你说的,消息队列满了。通常这种情况是由于client线程太占有CPU时间了,反应不过来,导致服务端发送消息事件过去消息队列满。

在mini2440上,主要是因为刷屏采用了直接的填充,如果改用DMA刷屏就不会出现这种问题。另外mini2440默认参数是不支持窗口移动。

lxzhg2010 发表于 2010-12-19 11:28:46

回复【9楼】ffxz
send event to wb failed确实就像你说的,消息队列满了。通常这种情况是由于client线程太占有cpu时间了,反应不过来,导致服务端发送消息事件过去消息队列满。
在mini2440上,主要是因为刷屏采用了直接的填充,如果改用dma刷屏就不会出现这种问题。另外mini2440默认参数是不支持窗口移动。
-----------------------------------------------------------------------

发现在realboard中关掉Timer4中断,就不会出现这个问题,但动画效果就没有了。
rt-thread的task切换用什么机制, 是Timer4驱动吗?运行过程中只看到Timer4被启用。

shaolin 发表于 2010-12-19 11:50:46

回复【10楼】lxzhg2010
-----------------------------------------------------------------------

Timer4中断是用于系统调度的,关断后肯定会有问题的。

lxzhg2010 发表于 2010-12-19 12:42:53

回复【11楼】shaolin
回复【10楼】lxzhg2010
-----------------------------------------------------------------------
timer4中断是用于系统调度的,关断后肯定会有问题的。
-----------------------------------------------------------------------

我也这么认为,只是为了找出问题原因

shaolin 发表于 2010-12-19 13:14:44

很不错,realboard已经很强大了!
目前RT-Thread使用QEMU中另外几个常用的功能是网络和GDB调试还有SD卡支持。不知道realboard在这方面有没有什么计划呢?

lxzhg2010 发表于 2010-12-19 13:56:51

回复【13楼】shaolin
很不错,realboard已经很强大了!
目前rt-thread使用qemu中另外几个常用的功能是网络和gdb调试还有sd卡支持。不知道realboard在这方面有没有什么计划呢?
-----------------------------------------------------------------------

已支持SD2.0协议,后面考虑支持网络,调试器基本功能也差不多,目前在集成测试阶段。
前面做过一版s3c44b0x, 感觉有点脱离市场,目前是想把s3c2440做到实用,然后再去考虑其它版本。
rt-thread是我目前看到的比较强大的一款实用OS,而且国内开发,刚好可以做realboard的input。非常感谢。

这里有两张realboard调试器图片(感觉界面开发更麻烦,已经快搞一年了):
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_605636YN8SLD.PNG
source view (原文件名:realboard_debugger.PNG)

http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_605637GLAXWS.PNG
disassembly view (原文件名:realboard_debugger_dis.PNG)

lxzhg2010 发表于 2010-12-21 18:10:32

send event to wb failed原因正如ffxz所说,我把Timer4频率降下来,就不再出现这个问题。
利用realboard外设的SD协议,能正确读出sd卡的图片数据,
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_606148CL72NV.JPG
sdcard image (原文件名:rtt_image.JPG)

另外又发现一个问题,进入icon对话框,就无法退出,也不响应uart0/keyboard?
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_606150XZVPRM.JPG
sdcard icon (原文件名:rtt_icon.JPG)

非常感谢rt-thread,让我学到不少东西,希望不断完善,变得更稳定更强大。

shaolin 发表于 2010-12-21 21:17:23

回复【15楼】lxzhg2010
send event to wb failed原因正如ffxz所说,我把timer4频率降下来,就不再出现这个问题。
利用realboard外设的sd协议,能正确读出sd卡的图片数据,

-----------------------------------------------------------------------

不错,有了SD卡,那在realboard上使用RT-Thread的文件系统也不会有问题了。

icon对话框中有个小机关,点图标34下面部分试下,看看能否出现下图,呵呵。

http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_606195R1KU2X.jpg
icon (原文件名:icon.jpg)

ffxz 发表于 2010-12-21 22:13:53

非常不错,不知道跑个RT-Thread + FTK速度会怎样,QEMU跑FTK明显速度上有些吃力了。

lxzhg2010 发表于 2010-12-21 23:31:06

回复【17楼】ffxz
非常不错,不知道跑个rt-thread + ftk速度会怎样,qemu跑ftk明显速度上有些吃力了。
-----------------------------------------------------------------------

realboard的指令集运行速度是qemu的2倍左右,不过外设这一块还没做优化,等做好了也试试fkt

lxzhg2010 发表于 2010-12-21 23:38:04

回复【16楼】shaolin
-----------------------------------------------------------------------

点了好几次才点中,如果有个能上下拖动的scroll比较好,呵呵
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_606220PSKK0S.JPG
rtt_icon_34 (原文件名:rtt_icon_34.JPG)

lxzhg2010 发表于 2010-12-23 12:41:54

多谢ffxz, shaolin, 以及rt-thread大作,realboard的阶段性成果已上传到我的CSDN,有兴趣请观摩一下
s3c2440模拟器realboard v1.1.1(内含rt-thread + GUI演示)
资源下载:http://download.csdn.net/source/2929739

已知问题:
- Timer4设置过低,导致动画效果缓慢,优化外设IO会解决这个问题。
- 不支持网络协议,后面研究一下加进去。

rbs3c2440.exe是S3C2440开发板模拟器realboard v1.1.1,目前能够支持的外设,覆盖了s3c2440的基本功能:
1. 5个时钟和一个看门狗
2. 中断控制器,支持时钟/看门狗中断,串口收发中断,IIC中断等
3. 串口(Demo版本仅支持UART0和UART1),包括FIFO模式和非FIFO模式
4. IIC控制器
5. 电源管理(PWM)
6. Nand/Nor Flash控制器
7. LCD控制器
8. SD卡控制器
9. Touch/ADC控制器

rtthread-mini2440.axf是rt-thread国产操作系统demo程序,源代码和生成方法请参考http://code.google.com/p/rt-thread/wiki/RunRTThreadOnMini2440

使用方法简单,在Window命令行敲" rbs3c2440.exe rtthread-mini2440.axf "即执行,可参考rbs3c2440_rtt.bat文件.

运行rtthread-mini2440.axf,与qemu相比(实测结果)
-- realboard核心指令集速度是qemu两倍
-- realboard消耗PC内存80M, qemu消耗178M

更多相关资源,请参考http://download.csdn.net/user/lxzhg

<** 任何个人或团体学习者,教育培训机构,自由项目开发组织,在非商业赢利前提下,均可以无偿体验和使用realboard,商业使用请联系作者获得授权, email : lxzhg@hotmail.com **>

以下截屏为realboard运行rt-thread效果图:











本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lxzhg/archive/2010/12/23/6093490.aspx

ffxz 发表于 2010-12-23 14:54:24

Cool!

这边能放个运行包吗?

lxzhg2010 发表于 2010-12-23 16:56:34

回复【21楼】ffxz
cool!
这边能放个运行包吗?
-----------------------------------------------------------------------

原以为超过400K就无法传上来,没想到可以,呵呵

realboard v1.1.1(rt-thread+GUI demo)ourdev_606681MG35I0.zip(文件大小:3.49M) (原文件名:realboard v1.1.1.zip)

fenkong 发表于 2010-12-24 16:42:54

下了包里没有realboard debugger,光看图有个啥劲

lxzhg2010 发表于 2011-4-7 15:30:32

ffxz及各位大侠,我对rt-thread推崇倍至,已在我的技术网站大加宣传,如果你们对realboard有什么功能建议,希望发过来
http://www.hugacy.com/read.php?tid=30
谢谢

ffxz 发表于 2011-4-8 08:54:41

指令精确时序模拟,这无疑是非常有用,可以考虑在这方面进行加强。

然后就是插件,你不可能把所有的外设都支持了吧,一个外部接口也非常重要

hwg_LDW 发表于 2011-8-2 15:58:46

mark

backup 发表于 2011-12-11 16:48:51

mark!

rlogin 发表于 2011-12-11 23:19:20

我靠,发现楼主是大牛!
页: [1]
查看完整版本: pc上运行rt-thread 0.4.0 求助,两个问题