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一个值。