CH559/549 IAP是否可以使用DATAFLASH

Data Flash區(qū)域有1K的空間,是否可以將IAP上移1K,以給用戶程序預(yù)留更大空間?


已經(jīng)嘗試將CH559的示例IAP程序的地址改為0XEC04,生成的hex轉(zhuǎn)換為

bin,然后人為切割為兩個bin文件,一個對應(yīng)0xec00-0xefff的程序,余下的數(shù)據(jù)對應(yīng)dataflash,(確定切割后的代碼數(shù)據(jù)是正確的,0xec00開始的四個字段為0xff, 后面為程序碼,猜測WCHISPTool 應(yīng)該會在升級IAP后會更新最開始的四個字節(jié)以實現(xiàn)跳轉(zhuǎn),因為無法讀取,無法驗證)。


使用WCHISPTool同時升級IAP和Data Flash,但是升級后似乎不起作用,(用戶程序也對應(yīng)修改了跳轉(zhuǎn)地址)

(同樣的程序,已驗證過地址為0xE804時可以跳轉(zhuǎn)執(zhí)行)


從datasheet上看,Data Flash也可以作為代碼區(qū)使用,請問以上操作錯了嗎?IAP是否可以使用Data Flash區(qū),如果可以如何實現(xiàn)?謝謝

可以做個簡單測試

程序

image.png

修改工程起始地址

image.png

查看map文件,函數(shù)很多在dataflash的位置了

image.png

測試程序運行正常,驅(qū)動了一個LED


在做一些類似IAP的時候最好還是全部當(dāng)做用戶程序來做,外部把BIN都處理好會比較好一點


@TECH5 ,感謝回復(fù)。


如您所說,我這邊改成0xEB00,使用的WCHISPTool(V3.00) 串口下載IAP.Hex時總是提示 IAP文件過大。

好像只要代碼區(qū)占用Dataflash部分就會有該提示,也正是這個原因,才嘗試將HEX轉(zhuǎn)為bin然后分成兩部分進行燒寫的。


請問您那邊使用的是哪個版本的下載工具?



您好,我是把固件以用戶代碼的形式下載進去的。使用的是USB方式下載。版本V3.00


@TECH5 感謝,如您所說,已解決


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频