昨天大致刷程序?qū)懥藥状?,然后讀出來發(fā)現(xiàn)是能讀寫成功的,現(xiàn)在發(fā)現(xiàn)一旦芯片擦除Flash整個芯片就死機(jī)了,我懷疑是不是把程序區(qū)擦除掉了。
下面是擦除程序
#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);
我發(fā)現(xiàn)了幾個可能出現(xiàn)問題的點(diǎn),但是沒有教程實(shí)在難弄,
1. 編譯的時候,如下提示,64K的RAN, FLash 448K也好大,工程設(shè)置CH32V20x_D8W,實(shí)際硬件是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.燒錄的時候芯片內(nèi)存分配選的是RAM32K + ROM160KB
我是不是應(yīng)該在MounRiver里面做分區(qū)啊