最近在用AT32F403AVG开发一个产品,已经接近开发完成,功能已经调通,发现一个奇怪的问题。
第1块板是一边写代码一边烧录测试,一直没什么异常,整片擦除,再烧录,功能一切正常。
之后就又焊了两块板,把程序烧录进去之后芯片没反应。
进入仿真模式会卡在 startup_at32f403a_407.s 的 151 行 LDR R0, =SystemInit
后面发现一个奇怪的解决办法,就把程序大部分代码注释掉,编译烧录,芯片可以正常运行,然后再把注释掉的代码恢复,编译烧录,芯片也可以正常运行。
只要正常运行之后再怎么编译烧录都可以正常运行,正常运行之后无法复现不能正常运行的情况。
只有空片烧录整个工程完整的代码才会出现不能正常运行的现象。
|