嵌入式技术william hill官网
直播中

杨平

7年用户 1704经验值
私信 关注
[问答]

FinShell历史命令快速按上下键导致hardfult如何解决呢?

RT-Thread Studio 创建基于开发板CH32V307V-R1默认工程,下载到开发板后随便输入几个命令后,快速按上下键查看历史命令,然后出现以下报告:

msh > hardfult
mepc:81114268
mcause:00000002
mtval:00000000

回帖(6)

尚文清

2023-1-11 14:49:41
就这几行信息?
这个问题应该只跟 finsh 有关,但是吧。finsh 组件不大可能接收几个按键字符就出问题了
举报

杨平

2023-1-11 14:49:48
结果就是这样,试验了好几次了。
举报

尚文清

2023-1-11 14:49:55
有没有测试过串口,单独写个测试程序测试串口,先测试一下串口收发数据稳定性怎么样。
我还是认为不是 finsh 处理几个按键字符出现问题了。如果按键速度慢的时候没出问题,就可以排除 finsh 的问题了。
我有两篇文章里都提到了串口测试,也提供了测试代码,如果有需要可以拿去测试一下。
举报

杨平

2023-1-11 14:50:04
串口输入命令,或者打印ADC采样数据都没有问题,就是用上下键来调用history才会出现。等别人遇到同样问题再说吧,我折腾别的功能去了。
举报

张宇

2023-1-11 14:50:13
这个应该不是上下键导致的吧, 我测试通过rtt-studio 创建的以太网工程, 新建了三个工程, 都能正常使用, 无一例外, 都会在数个小时, 或一两天内出现同样的hardfault , 查看了v307 的堆机制, link 文件, 还有调整 flash 与 ram 大小, 仍然没有抓住核心问题, 但是…. 我在网上下载了一个基于 rtt 的八串口网络服务器例程,你猜怎么着 , 运行了一个星期到现在, 还没出现hardfault… rtt studio 里面的v307 代码可能有bug.
举报

杨平

2023-1-11 14:50:21
我的方法比较容易复现这个问题,既然你的以太网也出了同样问题,应该触发到的几率还是比较大的。V307是颗好U,因为用到多ADC同步DMA,我现在回头用freertos测试一直没遇到毛病。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分