STM32F4 IAP跳转地址设置

STM32F4系列内部flash的块非常大,前面4个16KB 第5个扇区64K,后面的几个128KB为应用程序。如下图:

STM32F4 IAP跳转地址设置

一般Bootload放在开头flash,后面跟着app程序。所以跳转地址一定要设置好,看扇区分布应该选用4000、8000、C000、10000等地址,一定要放在放在扇区的开头上 避免APP更新时擦除整个扇区时误把bootload所在的扇区擦除掉,造成bootload损坏。开始时没注意这个问题以为设置跳转地址只要是0x200的倍数就可以,造成APP只能更新一次,再次更新时直接死机,原因就是bootload和app的存储地址在一个扇区内,更新app需要擦除该扇区造成扇区内的bootload程序擦除,芯片死机。