Hello!
My design contains special jumper to set up firmvare update by entering boot loader. here is the schematic part:
The line BOOT/EXT_RST is multiplexed with reset for LCD. Measuring on pin 10 of CPU I see high level then no jumper installed and lo level with jumper.
I am configuring BOOTCFG as the following:
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); }
Then line "BCfg &= ~FLASH_BOOTCFG_POL;" is commented, and POL bit is 1, device boots to application no matter, with or without jumper installed. Then I uncomment this line, boot loader is started regardless the jumper.
What is wrong?