lvhaian 发表于 2010-4-9 17:14:59

【RT-Thread 智能充电器开发连载 2】 RT-Thread 内核调用 Finsh 组件 (shell)

http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_544854.jpg
(原文件名:Charger-RTT.jpg)

RT-Thread 拥有一个非常强大的调试组件, Finsh , 就好像 linux 中的 Shell .

这个例子中我们利用充电器的 串口 1 来作为 Finsh 的硬件接口设备.

RT-Thread 版本智能充电器代码, 编译环境 MDK4.1,
更新日期:2010年04月09日 17:05
点击此处下载 ourdev_544899.rar(文件大小:4.66M) (原文件名:kernel_finsh.rar)


在上一个讲中我们已经学会了使用 MDK 的软件仿真功能来调试 RT-Thread 的内核.

这个章节我们学习利用 MDK 的软件仿真来调试 finsh 功能.

像之前一样选择软件仿真, 并且打开 Usart1 模拟界面. 全速运行程序. 我们可以看到串口模拟串口中输出下面的内容:

http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_544900.png
(原文件名:finsh1.png)



我们将鼠标的光标移到串口窗口中. 敲击电脑的 Tab 按键. 可以看到串口的系统提示信息和支持的操作指令.

http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_544901.png
(原文件名:finsh2.png)



我们可以根据提示的系统能够支持的命令在串口窗口内敲击命令行, 比如: list_mem() 回车, 这个命令我们可以列出 RT-Thread 的存储空间使用情况.

http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_544902.png
(原文件名:finsh3.png)


继续在命令行里面敲击下面的命令 list_device() 回车, 可以看到系统中转载的设备.

http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_544903.png
(原文件名:finsh4.png)

====================================================================

同样我们可以利用仿真器把程序下载到智能充电器的板子中进行调试, 串口连到电脑的串口后可以使用超级中断进行 finsh 的操作信息输出. 和上面介绍中的软件仿真是一样的.

http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_544904.png
(原文件名:finsh5.png)


重要声明: 已经拥有智能充电器硬件的朋友们, 由于这批采购的 MAX3232 芯片存在着质量问题, 因此在 finsh 调试上会出现失效问题, 是由于 MAX3232 的速度达不到要求造成的, 请自行更换全新大厂家的串口接口芯片后再调试此功能, 比如 SP3232, MAX3232. 在这里给智能充电器用户道个歉.

benladn911 发表于 2010-4-9 17:47:19

哈哈,谢谢安哥。

手上有TI的样片MAX3232,自己换个没问题的。

lvhaian 发表于 2010-4-9 21:38:09

手上有TI的样片MAX3232,自己换个没问题的。

======================================

^_^

rube 发表于 2010-4-17 18:00:34

谢谢安哥
我用sscom发送命令可以。
用超级终端就不行,我仔细观察了,超级终端是一个一个字符的发送,而sscom一次发送一串。
不知道是哪儿设置不对

aozima 发表于 2010-4-17 18:02:39

流控选择为 "无"

用PUTTY或是SecureCRT都不错,或是找个终端机.

rube 发表于 2010-4-17 18:59:21

感谢

swordlife 发表于 2010-7-14 15:30:21

不知道这个支持 锂电池 充电不?
页: [1]
查看完整版本: 【RT-Thread 智能充电器开发连载 2】 RT-Thread 内核调用 Finsh 组件 (shell)