STM32远程升级基本思路
STM32远程升级基本思路 开发环境:IAR for ARM 8.30.1 MCU:STM32F103RCT6 存储介质:w25q32 1.实现思路 1.需要一个bootloader程序和APP程序 2.APP程序通过网络或者串口等方式将要升级的代码写到spiFlash中约定的位置,然后重启 3.bootloader判断spiFlash中是否有文件需要更新,有就将文件更新到stm32的内部Flash的App区域,然后跳 转到APP,否则直接跳转 2.知识储备 STM32闪存模块组织 stm32F103RCT6属于大容量型产品,ROM:256K,RAM:48K,页大小为2k,闪存分为三个块: 主存储器:页大小为2K,256K也就是128页 信息块:分为两个部分: 系统存储器(存放启动程序代码,ST出厂固化,不可更改,用于ISP编程) 用户选项字节(Option Bytes,可以用它设置读写保护,硬件看门狗使能啥的) 闪存存储器接口寄存器:操作stm32内部Flash要用到这些寄存器; 启动配置 ● 从主闪存存储器启动:主闪存存储器被映射到启动空间(0x0000 0000) ● 从系统存储器启动:系统存储器被映射到启动空间(0x0000 0000) ● 从内置SRAM启动:只能在0x2000 0000开始的地址区访问SRAM 3.Bootloader和App的工程设置