之前做的都是在芯片内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就可以吧,然后读写或跳转。 |
自己画的STM32F103RCT6的板子下载识别不到芯片。
adc采集电压
STM32 CAN通讯收发异常
STM32硬件IIC
STM32IDE工程内如何访问、计算得到当前程序flash已经使用的情况?
数据丢失
STM32F107RBT6 页擦除函数返回值成功但目标扇区数据并未擦除
L6235Q驱动MAXON三相无刷直流电机,FWD引脚接入PWM波,占空比50%的时候电机不转动,其他占空比电机转动,数据手册并没提及,请问有什么依据吗?
板子肯定没问题,用cubeprogrammer烧录报错
STM32F103ZET6 CS信号无法拉高