问题描述:第一道程序和第二道程序下载进去后,串口输出显示不正常,如图所示,一直重复输出相同的字符串。推测出系统在进入第二道程序后一直在进行reset重启,而且是一进去就重启。
思路:
- CortexM3上电后检测boot引脚来确定PC的位置,当使用Flash启动时,启动后CPU会先取两个地址,一个是栈顶地址,一个是复位地址。
问题原因:设备的主要供电是由外部电池负责,第二道没有使能电池供电而只是在硬件上接入USB口后又USB供电,所以供电不稳反复复位。
解决办法:在第二道程序中加入供电的使能程序,经测试,修改之后程序可以正常启动。