
之前做的都是在芯片内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就可以吧,然后读写或跳转。 |
STM32的DCode bus是连接到bus matrix的吗?参考手册描述和图片是不符吗?
stm32ide怎么正确的导出项目
STM32F105RBT6 2025年 ROSH REACH 报告
STM32CubeMX 使用"FW_F1 V1.8.6"生成FreeRTOS代码缺少"freertos_mpool.h"?
你好,我的setting里面设置都没有问题。但是显示failed download cortexm3
STM32F103C8出現找不到'STM32100B_EVAL/stm32100b_eval.h' file not found
stm32f407无法配置定时器2为全部dma
STM32F103TBU6 封装是VFQFPN36 将PD0和PD1配置成CAN不成功是什么原因
串口DMA + 空闲中断收发 ?
F103RCT6芯片对AFIO->MAPR寄存器写入时出错