程序小白
认证:优质创作者
作者动态
小小调度器——原来C代码还能这么写,原作者没少挨打吧!
2天前
解析由系统库引发的hardfault血案(RT-Thread+ESP32)
2023-07-17 16:04
TINA瞬时现象仿真分析——运放缓冲器振铃
2023-02-28 11:38
你对接地到底了解多少?——那些年接错的地
2023-02-16 15:53
重新认识电子元器件——二极管原理
2022-09-29 14:28

移植RT-thread到stm32开发板仿真异常解决

好久没发文了,来一篇低级错误的反面教材给大家亮亮眼。

异常描述如下,基于stm32战舰mini开发板自己定制了一下bsp支持包,详细的如何定制特定开发板的bsp已发表在星球,需要的筒子们可以去瞅瞅,我也是首次移植,虽然做不到丝滑,但也是比较顺利的通过了编译。

接下来就是系统级的交互了,下载程序到我的开发板,打开SecureCRT等待奇迹的出现,进入finsh组件交互界面,上电启动,发现没得反应(这个时候有点点慌)~!!!,说明程序没跑起来。

只能接上仿真器,看看软件是否卡死了?心里初步怀疑是卡在晶振配置部分代码,这个错误貌似我犯了不止一次。一般是因为晶振配置不正确导致倍频无法起振,卡在while循环里。当然一切还是以实际仿真为实。

接上仿真器后,进入仿真状态,试了下全速跑,暂停然后单步,发现功能都不正常。。。这。。。难道是仿真器的问题?

于是开始检查仿真器的接线,仿真器的驱动上有没有问号,发现没问题后,再次点击仿真神奇的一幕出现了,提示无法烧录flash(大BUG出现了,大脑开始宕机。。。。)。

开始各种捣鼓,检查电源3.3V是否正常(万用表怼上),检查仿真端口线束(拔了也又插),各种折腾依旧是连不上。。。于是开始查硬件,开发板的原理图,拉出来一点点细看。

到这里,解决方法就简单粗暴了, 焊掉R22和D3两个电阻,uart1就成了一个普通的串口了。

最终finsh组件在uart1设备上正常运行,标志着我们的系统已经流畅的运转起来了,总是在犯低级的路上渐行渐远(唉。。。):

声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
觉得内容不错的朋友,别忘了一键三连哦!
赞 3
收藏 1
关注 114
成为作者 赚取收益
全部留言
0/200
成为第一个和作者交流的人吧