對(duì)于CH32V203的FLASH操作的幾個(gè)問(wèn)題
CH32V203C8T6的FLASH具體是多少KB?使用WCH-LinkUtility查詢(xún)出來(lái)是224KB,通過(guò)程序?qū)?28KB位置進(jìn)行讀寫(xiě)也是正常。
對(duì)于FLASH的操作疑問(wèn),從手冊(cè)上看到的編程如下截圖:
標(biāo)準(zhǔn)編程最小擦除單元是4KB,我的應(yīng)用場(chǎng)景是把產(chǎn)品的設(shè)置值存在FLASH里,設(shè)置值就只有15項(xiàng)這樣,大概需要30個(gè)字節(jié),而如果使用這種方式明顯浪費(fèi)了太多FLASH空間。
快速編程最小擦除單元是256字節(jié),這個(gè)符合需求,然后我的疑問(wèn)就是寫(xiě)入數(shù)據(jù)時(shí)必須是一次性寫(xiě)入256字節(jié)嗎?
目前使用以下兩個(gè)API
FLASH_Status FLASH_ROM_ERASE(uint32_t StartAddr, uint32_t Length);
FLASH_Status FLASH_ROM_WRITE(uint32_t StartAddr, uint32_t *pbuf, uint32_t Length);