【写在最前面】
经过一系列排查,是我的小熊派板子本身有问题。
一、前情提要
我用 小熊派 和 Keil 5 做移植 LiteOS到BearPI的实验,代码没有问题,串口助手的相关设置没有问题(因为别人实践过,可以成功实现想要的功能,所以代码是正确的)。
我遇到的问题:
(1)烧录的时候出现错误:error:flash download failed - "cortex-m4"
(2)串口助手能接收到信息,但是窗口显示不了相应字符串
二、解决过程
问题(1):
打开keil 5 ,点击 魔法棒→Debug
→Setting
→Falsh Download
→勾选 Reset and Run,改选 Erase Full Chip →确定
→Erase
→Download ,就可以成功 烧录 了。
【Tips】网上的解释:
(1)芯片中已经下载了协议栈,协议栈对占用的Flash空间进行了保护,并且协议栈的地址从0开始,这时候下载地址从0开始的程序,就会出现这种现象。芯片内下载了协议栈,在没有进行全片擦除情况下下载逻辑程序。解决办法是全片擦除。
(2)没有加载编程算法(与我的没有关系,因为在 Flash Down 界面)
参考链接:https://blog.csdn.net/sunskyday/article/details/103618161
问题(2):
检查:是否勾选了 Use MicroLIB,是否勾选了 Reset and Run
不想自己挣扎了,就向室友求助。经过一系列的试验比较,两块板子,发现下载同样的代码、用同一条USB线、用同样的串口助手,室友的就可以将接收到的字符串信息发送到窗口,所以是我的板子有问题。
如图:
【心得】
不要妄想自己能闭门造车,学习遇到问题要及时寻求身边的人的帮助,找有经验的人有时能事半功倍,比自己在网上瞎找有效率。