CH32V003如何擦除BOOT FLASH

先前给CH32V003的bootflash烧过程序,现在想把这部分程序通过wchlinke擦除,以备之后用来存储用户数据,请问应该如何操作可以擦除掉bootflash

您好,


        CH32V003芯片允许用户擦除BOOT区域的代码,您可以参考EVT中USART_IAP文件夹下的CH32V003_IAP使用说明进行操作。

image.png





demo中的usart_iap看起来是用来下载更新用户代码flash的,并不能擦除bootflash,我通过在用户代码中使用以下代码擦除了boot flash区域,但是会出现ide直接下载可以正常运行用户程序,但是掉电后不能运行。(现象是用户代码刷了gpio_toggle,直接ide下载可以闪灯,但是重新上电后不能闪灯)请问该如何解决。

volatile uint32_t boot_flash_base = 0x1FFFF000;
FLASH_Unlock_Fast();
for (int sum = 0; sum < 30; sum++) {
   FLASH_ErasePage_Fast(boot_flash_base);
    boot_flash_base += 64;
}
FLASH_Lock_Fast();



您好,


        您将BOOT区擦除的目的是什么,存储数据还是更大的用户代码空间呢?如果是希望有更大的用户代码空间,建议您参考EVT中Boot Flash作为用户区的例程来使用。

image.png





只有登录才能回复,可以选择微信账号登录