您好!
我的设计包含特殊的跳线、用于通过输入引导加载程序来设置固件更新。 下面是原理图部分:
针对 LCD 的线路引导/EXT_RST 与复位复用。 测量 CPU 的引脚10时、我看到电平较高、然后未安装跳线、电平较低。
我将配置 BOOTCFG 如下:
uint32_t BCfg = 0xFFFFFFFE; BCfg &=~FLASH_BOOTCFG_PORT_M; BCfg |= FLASH_BOOTCFG_PORT_D; BCfg &=~FLASH_BOOTCFG_PIN_M; BCfg |= FLASH_BOOTCFG_PIN_7; //BCfg &=~FLASH_BOOTCFG_POL; BCfg &=~FLASH_BOOTCFG_EN; if (BCfg!= HWREG (FLASH_BOOTCFG)) { HWREG (FLASH_FMD)= BCfg; HWREG (FLASH_FMA)= 0x75100000; HWREG (FLASH_FMC)= FLASH_FMC_WRKEY | FLASH_FMC_COMT; while (HWREG (FLASH_FMC)& FLASH_FMC_COMT); }
然后添加了"BCfg &=~FLASH_BOOTCFG_POL;"行、POL 位为1、无论是否安装了跳线、器件均可引导至应用程序。 然后我取消注释此行、无论跳线如何、引导加载程序都会启动。
出什么问题了?


