
各位好,目前正在用STM32H723ZET6做IAP升级,发现一个比较严重问题,FLASH擦除时只能使用BANK擦除和SECTOR擦除。BAN1擦除是把FALSH全部擦掉,所以不考虑;SECTOR擦除是把其中一个SECTOR擦除,由用户指定,所以我使用了SECTOR擦除。 STM32H723ZET6共有512K FLASH,由4个SECTOR组成(每个SECTOR由128K组成);整块FLASH由APP和BOOTLOADER组成,由于最小擦除单位是128K,因此app和bootloader不能放在同一个SECTOR(防止擦除APP时将BOOTLOADER也擦除)。因此,APP使用了256K,BOOTLOADER使用了128K。如果我想把BOOTLOADER放小,该怎么做? 程序从0800 0000开始运行,首先判断APP的首地址(0802 0000)和尾地址(0806 0000)固定地址的固定字符是否完整,如果完整的话,就跳到APP应用程序去执行;如果不完整,将在BOOTLOADER中等待升级。正常升级时,在APP应用程序中将APP的首地址(0802 0000)和尾地址(0806 0000)固定地址修改为其他字符,重启后BOOTLOADER就会认为APP不完整,等待升级了。但是由于只能擦除128K,导致在擦除固定字符时,也把全APP应用程序全部擦除了。导致无法实现IAP在线升级功能。 STM32F103系列对FLASH操作时有PAGE页擦除,一次只擦除1K,因此没有问题。 所以想请教下各位,STM32H723ZET6是否有擦除小于128K的FLASH的指令;如果没有,各位的IAP是如何实现的,不胜感激! |
型号STM32L010RB可以用来做两路BUCK移相小电源?
STM32H743做数字电源,HRTIM问题
去耦电容
L99VR02J电压输出不够是怎么回事?
STTH112手册没有结电容参数
发热元器件导热、散热解决方案
STM32H725RGV6 電源規劃
用STM32G474 如何实现带同步整流管的BUCK 电路负载小的时候时提前关闭同步整流管的驱动功能?
咨询STM Trace Codes & Bulk ID 批次及标签规则说明
SPV1050,工作不正常。
这个方法是个不错的思路。唯一美中不足之处就是怕这时候掉电,看看应用中这种小概率事件能不能接受吧。
应该没问题啊,每次上电,都是自举程序先运行,不需要下载的时候,跳转到应用区运行