昨天大致刷程序写了几次,然后读出来发现是能读写成功的,现在发现一旦芯片擦除Flash整个芯片就死机了,我怀疑是不是把程序区擦除掉了。
下面是擦除程序
#define PAGE_WRITE_START_ADDR ((uint32_t)0x08008000) /* Start from 32K */
FLASH_Unlock();
FLASH_ClearFlag(FLASH_FLAG_BSY | FLASH_FLAG_EOP |FLASH_FLAG_WRPRTERR);
FLASH_ErasePage(PAGE_WRITE_START_ADDR);
我发现了几个可能出现问题的点,但是没有教程实在难弄,
1. 编译的时候,如下提示,64K的RAN, FLash 448K也好大,工程设置CH32V20x_D8W,实际硬件是CH32V208GBU6
make -j16 all
Memory region Used Size Region Size %age Used
FLASH: 69196 B 448 KB 15.08%
RAM: 9060 B 64 KB 13.82%
text data bss dec hex filename
68560 632 8428 77620 12f34RF_PHY.elf
2.烧录的时候芯片内存分配选的是RAM32K + ROM160KB
我是不是应该在MounRiver里面做分区啊