标题:
CX32L003不能chip擦除,如何把擦除指令放在RAM中执行?
[打印本页]
作者:
明日之星8
时间:
2024-3-10 20:15
标题:
CX32L003不能chip擦除,如何把擦除指令放在RAM中执行?
最近在玩CX32L003,手头没有官方的link,用的是通用的DAPlink。
它的IO口有限,想把SWD口改成普通IO口,但是很遗憾,关闭了
SWD口之后就不能更新它的程序了(除了官方的link)。
原先的想法是,可以通过UART口发送特殊指令执行chip擦除操作,
这样就可以再次打开SWD调试口,就又可以刷程序进去了,在其它
单片机上这一操作很容易实现,但这个CX32怎么都不能整片擦除,
最后打开FLASH中断,发现是“擦写PC地址”错误,然后在它的参考
手册上发现下面一段:
1.png
(15.79 KB, 下载次数: 33)
下载附件
2024-3-10 20:04 上传
仔细想一想,擦除的指令就在FLASH上,很显然它是不能自己擦除
自己的,控制器自动屏蔽也是合理的,现在就想着怎么样把擦除指
令放在RAM中再执行,哪位高手能指点一下吗?
作者:
hange_v
时间:
2024-3-11 08:38
做个BOOT和APP,APP链接地址为RAM,通过串口把APP发给BOOT,BOOT把APP拷贝到RAM并运行,APP擦除FLASH
作者:
Hephaestus
时间:
2024-3-11 13:30
放bootloader的做法,把app单独做一个工程放在RAM地址上,然后bootloader把app的二进制拷贝到RAM中,跳转执行。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1