内嵌的闪存存储器可以用于在线编程(
ICP
)或在程序中编程(
IAP
)烧写。
在线编程(
In-Circuit Programming - ICP
)方式用于更新闪存存储器的全部内容,它通过
JTAG
、
SWD
协议或系统加载程序(
Bootloader
)下载用户应用程序到微控制器中。
ICP
是一种快速有效的编程方
法,消除了封装和管座的困扰。
与
ICP
方式对应,在程序中编程(
In-Application Programming - IAP
)可以使用微控制器支持的任一
种通信接口(如
I/O
端口、
USB
、
CAN
、
UART
、
I2C
、
SPI
等)下载程序或数据到存储器中。
IAP
允
许用户在程序运行时重新烧写闪存存储器中的内容。然而,
IAP
要求至少有一部分程序已经使用
ICP
烧到闪存存储器中。
闪存接口是在
AHB
协议上实现了对指令和数据的访问,它通过对存储器的预取缓存,加快了存储器
的访问;闪存接口还实现了在所有工作电压下对闪存编程和擦除所需的逻辑电路,这里还包括访问和
写入保护以及选择字节的控制。