STM32G4xx系列boot0复用为IO注意事项
STM32G4xx系列boot0复用为IO注意事项
- 手册说明-BOOT
- 未配置BOOT前的调试与分析
参考文章:https://shequ.stmicroelectronics.cn/thread-631814-1-1.html
项目需用到三路FDCAN及USB,根据手册FDCAN1只能复用到PB8/PB9,但是PB8又是BOOT0,引脚配置如下:
手册说明-BOOT
手册中的2.6章节有对Boot的配置说明
根据当前需求,需要配置为无需boot引脚,直接从flash启动,使用STM32 ST-LINK Utility通过SWD连接芯片后,在Target菜单选项选择Option Bytes配置项,配置修改如下:
修改完成点击Apply即可,此时可断电重启程序就会从flash启动了
未配置BOOT前的调试与分析
烧录固件后串口无法输出信息,经过debug的调试信息,得知程序从RAM启动
调试信息:
手册的内存映射表:
由此可知是因为BOOT0接到了CAN1_RX导致的上电启动时PB8为高电平,芯片从系统内存启动,测量BOOT0,确实与分析一致为高电平,而后通过配置nBOOT0选项解决问题。