找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1146|回復(fù): 2
收起左側(cè)

CX32L003不能chip擦除,如何把擦除指令放在RAM中執(zhí)行?

[復(fù)制鏈接]
ID:1110945 發(fā)表于 2024-3-10 20:15 | 顯示全部樓層 |閱讀模式
最近在玩CX32L003,手頭沒(méi)有官方的link,用的是通用的DAPlink。
它的IO口有限,想把SWD口改成普通IO口,但是很遺憾,關(guān)閉了
SWD口之后就不能更新它的程序了(除了官方的link)。
原先的想法是,可以通過(guò)UART口發(fā)送特殊指令執(zhí)行chip擦除操作,
這樣就可以再次打開SWD調(diào)試口,就又可以刷程序進(jìn)去了,在其它
單片機(jī)上這一操作很容易實(shí)現(xiàn),但這個(gè)CX32怎么都不能整片擦除,
最后打開FLASH中斷,發(fā)現(xiàn)是“擦寫PC地址”錯(cuò)誤,然后在它的參考
手冊(cè)上發(fā)現(xiàn)下面一段:
1.png


仔細(xì)想一想,擦除的指令就在FLASH上,很顯然它是不能自己擦除
自己的,控制器自動(dòng)屏蔽也是合理的,現(xiàn)在就想著怎么樣把擦除指
令放在RAM中再執(zhí)行,哪位高手能指點(diǎn)一下嗎?


回復(fù)

使用道具 舉報(bào)

ID:190832 發(fā)表于 2024-3-11 08:38 | 顯示全部樓層
做個(gè)BOOT和APP,APP鏈接地址為RAM,通過(guò)串口把APP發(fā)給BOOT,BOOT把APP拷貝到RAM并運(yùn)行,APP擦除FLASH
回復(fù)

使用道具 舉報(bào)

ID:883242 發(fā)表于 2024-3-11 13:30 | 顯示全部樓層
放bootloader的做法,把a(bǔ)pp單獨(dú)做一個(gè)工程放在RAM地址上,然后bootloader把a(bǔ)pp的二進(jìn)制拷貝到RAM中,跳轉(zhuǎn)執(zhí)行。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表