关于Keil5在线编译无法进入主函数的解决方法
关于Keil5在线调试无法进入主函数的解决办法
问题描述
拿到一个别人编写好的一组源码,进行简单的配置以后,编译和烧录都没有问题,偏偏在进行在线调试的时候,程序直接跑飞,左侧两个箭头都看不见,上方汇编程序显示代码卡在
0x08000188 4809 LDR R0[PC,#36]; @0x080001B0;
在startup_stm32f103xb.s中 LDR R0,=SystemInit 处打断点,程序依旧跑飞,也就是说不单单是主函数进不去,连启动文件都进不去。因为博主也是个小白,所以研究了好久,解决方法也百度了好久,最后都没有找到适合我这个问题的方法。
经过一番折腾终于找到了在网上尚未找到的方法。额,如果有那就是我眼神不好使了。现在直接说解决方法。
解决方法
将蓝色划线部分改成0x8000000,再重新编译一遍,问题解决
补充说明
我采用的芯片是STM32F103C8T6,看了官方给的Memory Map,Flash memory的起始地址为0x8000000,各位还要具体问题具体分析一下,还有,改完以后,一定要重新编译,我因为这个走了不少弯路。希望对刚入坑的各位有点帮助吧