之前做的都是在芯片内FLASH运行的串口在线升级工作, 现在需要对外挂SPI FLASH进行程序升级,希望有做过的大佬给个大概思路,谢谢! |
原理类似,像安装APP一样。先把要升级的程序下载到FLASH中,下载完毕后。通过boot程序进行应用程序的刷写。注意自己对自己操作会发生异常,擦除后代码不存在会死机。 |
F1自己没有内置的程序,所以在应用程序中添加SPI 烧录代码。至于这段代码放在哪个位置,根据应用需要就好了。 对于F1来说,这种应用比较少,通常都是放数据在外挂FLASH里面。 |
此功能使用BOOT+APP模式就可以了.BOOT运行于F1的内部FLASH,包含串口升级的逻辑.APP存放于SPI FLASH中,运行时加载到内存.APP中需要升级时,跳转到BOOT中启动升级过程,或上电中BOOT检查是否处于升级请求状态,如果是,则进入升级过程,如果否并APP校验OK,则跳入APP,反之也进入升级过程. |
外部FLASH和内部FLASH没什么区别吧,只是将BOOT的起始地址改为外部FLASH就可以吧,然后读写或跳转。 |
软件为keil5,头文件未找到
通过FATFS文件系统读写SD卡创建文件可以了,但加入MSC,一直显示一个没有格式化的U盘盘符,也不能格式化,这是什么问题导致的
stm32f103汇编求助
cubemx 生成的freertos代码 在keil ac6下不能编译,有什么解决的方法吗
报错Could not determine GDB version using command: arm-none-eabi-gdb --version
stm32f107vct6配RTL8201例程
STM32F103VGT6 能代替 STM32F103VFT6 吗?
STM32 读取DHT20,跑的官方的例程一直读取失败,初学者,各位大佬能指点一下不
向各位大佬请教一个问题
STM32CubeMX 使用"FW_F1 V1.8.6"生成FreeRTOS代码缺少"freertos_mpool.h"?