STM32 内部有三种启动方式
先说一下各种自举模式:
主FLASH:程序代码存储于此,大小为1MB,即1024KB。
系统存储器:STM在出厂时,内置了BootLoader固件,用于USART1(PA9/PA10)、 USART3(PB10/11 和 PC10/11)\ CAN2(PB5/13)\ USB OTG FS(PA11/12) 外设写入程序代码 (即 DFU:器件固件升级)地址范围:0x1FFF 0000 - 0x1FFF 77FF
嵌入式SRAM,用于存储程序运行时候的数据。也可以将程序下载于此,用于临时调试。TM32F405xx/07xx 和 STM32F415xx/17xx 带有 4 KB 备份 SRAM和 192 KB 系统 SRAM。STM32F42xxx 和 STM32F43xxx 带有 4 KB 备份 SRAM和 256 KB 系统 SRAM。只能供 CPU 通过数据总线访问的64K映射地址0x1000 0000,映射在地址 0x2000 0000 的 112 KB 和 16 KB 块,可供所有 AHB 主控总线访问,即一共192KB的系统SRAM。
关于烧写代码:
1、通过下载器下载程序,用的是第一种启动方式。
直接将程序烧写到主FLASH之中,芯片会从此0x0000 0000启动代码。
2、而通过USB串口下载,则是第二种启动方式。同手机一样,芯片也有BootLoader模式,出厂时带了各种烧写模式。通过系统存储器启动,则会使用出厂时候的串口下载程序固件。通过这种固件,可以使用USB串口等外设将程序代码烧进主FLASH区。
3、整个FLASH擦除需要很长的时间,调试时每次修改一点,所以程序下载于此,便于调试。
有问题的话,请指正。