因为我这边需要使用以太网做程序升级,所以自己在做升级程序。
调试板子为CH32V307-R1-1V0。
参考CHV307 IAP程序,目前使用FLASH_ErasePage_Fast、FLASH_EraseBlock_32K_Fast、FLASH_EraseBlock_64K_Fast这3个函数擦除不是应用程序的区域之后,按住reset键重启MCU之后,有概率会出现MCU永久不能启动的现象,请问下FLASH操作还有什么讲究吗?擦除代码如下。
因为我这边需要使用以太网做程序升级,所以自己在做升级程序。
调试板子为CH32V307-R1-1V0。
参考CHV307 IAP程序,目前使用FLASH_ErasePage_Fast、FLASH_EraseBlock_32K_Fast、FLASH_EraseBlock_64K_Fast这3个函数擦除不是应用程序的区域之后,按住reset键重启MCU之后,有概率会出现MCU永久不能启动的现象,请问下FLASH操作还有什么讲究吗?擦除代码如下。
您好,按照你程序判断方式,需要注意一下边界问题,目前单看逻辑上没有问题。附件为一个U盘IAP升级例程,你可参考一下程序中的IAP方式,或先尝试用一种简单单一的方式擦除看看,若没问题,再按照你现在这种方式慢慢修改尝试。若需要,可将你的例程发送至我的邮箱(lzs@wch.cn)帮你看一下。
我这边先看看例子,如果还是不行的话,再通过邮箱联系您。
我这边参考您发的例子,针对CH32V307做了特定的处理,之前是开始升级就全部擦除升级区域,现在是边擦除边升级,这样IAP升级部分就搞定了。