everkimage 发表于 2018-6-4 14:02:31

STM32F0x的Flash编程疑问

bootloader为0x08000000开始的16KB Flash内容,后续分配给应用程序。系统上电运行bootloader,如果收到升级程序命令,可不可以直接写应用程序区的Flash?是否会引起总线冲突?界限是什么(总不能bootloader可以写自己所在Flash吧)?

发表于 2018-6-4 14:24:37

boot通过串口或者其他接口的方式,可以进行应用程序的升级。

Cortexxx 发表于 2018-6-4 14:32:21

界限自己定你的bootloader是16K的话 你的APP的FLASH_BASE就应该在0x0800 4000, 当然可以直接写到Flash里面。但是需要判断Flash的异常标志位。有时候Flash可能正忙你需要等待其恢复空闲状态。

everkimage 发表于 2018-6-4 14:50:08

Cortexxx 发表于 2018-6-4 14:32
界限自己定你的bootloader是16K的话 你的APP的FLASH_BASE就应该在0x0800 4000, 当然可以直接写到Flash里面 ...

应用程序区Flash忙大概是由什么因素引起的?

Cortexxx 发表于 2018-6-4 15:04:23

everkimage 发表于 2018-6-4 14:50
应用程序区Flash忙大概是由什么因素引起的?

可能正在擦除,可能正在写,所以要等待上一步做完,再去做下一个步骤。

feixiang20 发表于 2018-6-5 03:20:18

可以去看看【STM32F0xx_FLASH编程(片内)配置详细过程 】
【STM32F系列单片机内部FLASH编程】
【STM32F0xx_SPI读写(Flash)配置详细过程】
资料
页: [1]
查看完整版本: STM32F0x的Flash编程疑问