打印
[信息]

【经验分享】STM32G070 移植一个shell,方便调试。基于FreeRTOS

[复制链接]
1240|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
测试ST 官网的 FreeRTOS

移植shell
主要是串口对接, 需要重写两个函数

增加了一个回调函数, 收到数据拷贝到shell_buf,  然后重新初始化串口中断接收参数,指针,size,count

使用特权

评论回复
沙发
海滨消消|  楼主 | 2021-11-15 11:32 | 只看该作者
遇到的问题, 1. fgetc 不能直接调用HAL_UART_Receive, 否则会死等,导致其他任务无法运行。

解决这个问题的方法是,接收采用中断方式。

问题2. STM32CubeMX 生成的代码,串口中断接收是固定长度的方式, 对于shell 不适用。

解决这个问题的方法是,修改中断处理程序,如果是调试用的串口,直接处理接收数据

问题3. shell 放在Mgr task里面,由于内存分配128*4 不够导致死机

解决这个问题的方法是,去掉没有用的shell 指令,限制最多支持64条指令。 任务内存分配加大 256*4

最终效果图


使用特权

评论回复
板凳
wiba| | 2021-12-9 19:00 | 只看该作者
还真是没有移植过

使用特权

评论回复
地板
zljiu| | 2021-12-9 19:02 | 只看该作者
如何解决的这个问题呢

使用特权

评论回复
5
coshi| | 2021-12-9 19:56 | 只看该作者
这样会不会限制程序的规模啊

使用特权

评论回复
6
aoyi| | 2021-12-9 19:59 | 只看该作者
请问什么叫做shell啊

使用特权

评论回复
7
drer| | 2021-12-9 19:59 | 只看该作者
在什么方面有便利呢

使用特权

评论回复
8
1988020566| | 2022-11-16 21:44 | 只看该作者
推荐nr_micro_shell   

使用特权

评论回复
9
jackcat| | 2022-11-16 22:12 | 只看该作者
在stm32上移植linux?  

使用特权

评论回复
10
kkzz| | 2022-11-16 22:34 | 只看该作者
运行 FreeRTOS 要考虑到阻塞机制,不能让 shell 任务一直不断的运行

使用特权

评论回复
11
vivilyly| | 2022-11-17 09:37 | 只看该作者
https://github.com/NevermindZZT/letter-shell,

使用特权

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

本版积分规则

237

主题

1611

帖子

2

粉丝