独望枫

人在尘世间,有缘自相见,变化千千万,未开窍,已迷恋
posts - 45, comments - 0, trackbacks - 0, articles - 1
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

RT-Thread Nano 添加Finsh组件

Posted on 2021-07-13 18:48 小菜枫 阅读(811) 评论(0)  编辑 收藏 引用 所属分类: 学习笔记

参考链接:
移植控制台/FinSH (rt-thread.org)

1、添加rt_hw_console_output(const char *str)控制台/串口输出函数的实现
(在usart.c文件中,基于CubeMx生成的工程-HAL库)

2、使用rtt实现的rt_kprintf接口输出调试信息验证


3、添加RTE_USING_FINSH宏定义,开启使用finsh组件


4、实现finsh组件接受指令的函数rt_hw_console_getchar(void)


5、编译,找不到finsh_api.h头文件,增加components/finsh目录到头文件路径



6、编译通过,烧写成功,finsh等待输入的msh>已显示


7、测试:输入help,成功响应


8、添加自建线程的指令到finsh


9、通过输入指令给finsh组件,启动线程


10、自动初始化(INIT_XX_EXPORT)

xx共分五类:初始化顺序自上而下
> ①INIT_BOART_EXPORT : 板级自动初始化
②INIT_PREV_EXPORT :组件自动预初始化可用
③INIT_DEVICE_EXPORT :设备相关的自动初始化可用
④INIT_COMPONENT_EXPORT :组件自动初始化可用
⑤INIT_APP_EXPORT :应用层自动初始化可用

PS:
如上述图示的TaskCreate函数使用INIT_xxx_EXPORT自动初始化,会提示如下警告:

主要是函数声明类型跟INIT_xxx_EXPORT要求的不一样,将函数返回值由void修改为int即可,当然函数内亦需要按实际情况return一个值。

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理