The flash boot loader code is executed every time the part is powered on or reset. The
loader can execute the ISP command handler or the user application code.
The boot block is 12 kB in size and resides in the top portion (starting from 0x0007 D000) of the on-chip flash memory.
After any reset the entire boot block is also mapped to the top of the on-chip memory space i.e. the boot block is also visible in the memory region starting from the address 0x7FFF D000.
The flash boot loader is designed to run from this memory area but both the ISP and IAP software use parts of the on-chip RAM. The interrupt vectors residing in the boot block of the on-chip flash memory also become active after reset, i.e., the bottom 64 bytes of the boot block are also visible in the memory region starting from the address 0x0000 0000. The reset vector contains a jump instruction to the entry point of the flash boot loader software.
The boot block is present at addresses 0x0007 D000 to 0x0007 FFFF in all devices. ISP and IAP commands do not allow write/erase/go operation on the boot block.
启动块是不能被擦除的
首先,选择是传统的寄存器控制,还是增强型控制(增强型,用的CPU本地总线,速度更快)
System Control and Status flags register (SCS)
其中 GPIO0M位 = 0, 表示GPIO 端口0通过传统的APB地址控制寄存器
= 1, 表示GPIO 端口0,高速控制