STM32在使用过程中经?;岢鱿置壑ㄋ赖那榭?,所以我准备专门写篇文章来记录下曾经遇到过的情况,小伙伴们看到可以少走些弯路。(持续更新)
情景一(已解决)
外设配置不完整,例如GPIO需要Speed、Mode、Pin这三个参数,如果少其中之一,编译时不会报错,但烧录后无法正常运行,打开调试后则一直循环在某一段汇编指令下。
情景二(已解决)
硬件平台是stm32F103RCT6开发板,通过下载器供3.3V电。烧写程序后,开发板无任何反应,代码无问题。打开调试模式后,反汇编界面显示在这段无限循环
//寄存器的值一直仅有R1会变。
0x1FFFF3B2 F8D01808 LDR r1,[r0,#0x808]
0x1FFFF3B6 0549 LSLS r1,r1,#21
0x1FFFF3B8 D4FB BMI 0x1FFFF3B2
//反汇编窗口一直是这三条语句循环
中间走了许多弯路,
1、怀疑keil5没装兼容包打开keil4工程的原因,装了legacy pack未解决。
2、怀疑jlink有问题,于是又买了个stlink,插上一试问题未解决。
3、看到有人说是因为一键下载电路没有上电,直接连接swd导致的,所以将开发板电源开关打开(之前是直接3.3V供电,开发板可以正常使用,开关是5V的开关),然后再下载问题就解决了。