打印
[STM32F0]

【NUCLEO-64试用】RT-Thread Nano添加控制台和FinSH组件

[复制链接]
508|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
      昨天已经在NUCLEO-F091RC开发板上成功移植了RT-Thread Nano,接下来在其基础上添加串口控制台打印输出功能和FinSH输入交互功能。在 RT-Thread Nano 上添加 UART 控制台打印功能后,就可以在代码中使用 RT-Thread 提供的打印函数 rt_kprintf() 进行信息打印,从而获取自定义的打印信息,方便定位代码 bug 或者获取系统当前运行状态等。RT-Thread FinSH 是 RT-Thread 的命令行组件(shell),提供一套供用户在命令行调用的操作接口,主要用于调试或查看系统信息。1、首先在rtconfig.h文件中使能RT_USING_CONSOLE宏定义

2、在Keil软件中通过Manage Run-Environment添加FinSH源码到项目工程中

3、将串口初始化函数MX_USART2_UART_Init()添加到board.c文件中的rt_hw_board_init()函数中,用于实现串口初始化和RT-Thread版本信息打印

4、在主函数中添加rt_hw_console_output()函数以及rt_hw_console_getchar()函数的实现



5、通过以上步骤,便可以实现在RT-Thread Nano中串口控制台和FinSH组件的添加,重新编译程序,下载至开发板。打开终端软件,可以看到控制台输出。


使用特权

评论回复
沙发
wsmysyn| | 2020-7-30 16:33 | 只看该作者
我刚好也在研究这个,能说一下你的mdk的版本么,我这边不知道是不是用mdk太新了,还是其他原因,finsh组件两种方式添加编译可以通过,但是好像并没有控制台的功能,宏开关也打开了,看代码好像很多关于编译型号的部分,有些不能正确识别,所以并没有编译进去,比如正常我选择是ARMCC的编译器,但是MSVC的编译器宏总是能有定义,很奇怪

使用特权

评论回复
板凳
hbzjt2011|  楼主 | 2020-7-30 17:18 | 只看该作者
wsmysyn 发表于 2020-7-30 16:33
我刚好也在研究这个,能说一下你的mdk的版本么,我这边不知道是不是用mdk太新了,还是其他原因,finsh组件 ...

我的是5.25,这个应该和版本关系不大,你串口映射的对吗?

使用特权

评论回复
地板
wsmysyn| | 2020-7-30 17:24 | 只看该作者
hbzjt2011 发表于 2020-7-30 17:18
我的是5.25,这个应该和版本关系不大,你串口映射的对吗?

串口有打印,也能接收转发回来,就是msh的命令执行不了,比如help,ps之类的没反应,

使用特权

评论回复
5
wsmysyn| | 2020-7-30 19:27 | 只看该作者
hbzjt2011 发表于 2020-7-30 17:18
我的是5.25,这个应该和版本关系不大,你串口映射的对吗?

搞定了,两方面原因,一个是我用的工具不对,要用终端,串口工具,应该是默认没有换行这类的字符,所以msh解析不对,用putty控制台工具就可以了,

另一个宏高亮的问题看起来应该是keil本身的问题,可能是keil判断有误,

使用特权

评论回复
6
gaoyang9992006| | 2020-7-30 20:48 | 只看该作者
昨晚上我直接从官方下载原文件,自己建立工程,根据官方手册,移植到了一个新的单片机上:新唐NUC029SGE

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:欢迎参与LabVIEW版块的讨论学习! 点我一键即达

157

主题

2338

帖子

41

粉丝