STM32的Flash分区可以使用Keil的分散加载的方式进行分区。
也可以自己定义一些函数或是变量的地址来进行分区。
不过最常用的就是通过分散加载的方式,或是在keil的工程中设置ROM的开始地址与大小
在裸开发中,你可以自行管理,因为Flash有地址空间,你定义几个常量,分别标明Flash分区的首地址,长度 等信息对,就可以自行以此为基础进行读写访问。
因为Flash结构和读写要求特性,最好分区和Flash最小单独擦除区成倍数关系(这样好管理)
Keil的话,rom自由分区在linker中设置。IAR的话直接修改ICF文件。
以KEIL为例,按上面的配置,点eidt打开分区描述文件。
按下面的语法分成两个区或者更多区域。
是不是要做bootloader 的应用呢,这种一般是在软件上keil中设置好每个程序的ROM的起始地址再进行编程的
还有中断向量的地址也要按偏移量进行设置