首先我用STM32RET6的Nucleo板子完成了代码,包括定时器、串口、led灯。
而后自己画的板子,用的STM32L152R8T6代替了RET6,同时将启动文件更换为了xB.s,芯片对应的h文件也更改完毕。编译成功。
但是程序运行的时候,经常卡死。我用debug调试的时候发现,代码会突然退回到启动文件的systeminit,然后停止运行。同时,用sp寄存器的地址看上一步的代码也是systeminit,也就是找不到具体在哪里造成了卡死。同时,也发现卡死的地方有多处,运气好的话都能过去,运气不好就会卡住。如果未卡死,就会循环点亮或者熄灭led灯,这里未出现卡死的情况。
会不会是芯片的问题?淘宝上买的十多块钱的R8T6。因为代码只跟换了启动文件等必要的文件,串口定时器等代码均未改变,用ret6未出现该情况。又或者是因为我的板子画的问题?因为我没有用ret6调试我的板子,直接更换为了r8t6。
|