找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 243|回复: 2
打印 上一主题 下一主题
收起左侧

CX32L003不能chip擦除,如何把擦除指令放在RAM中执行?

[复制链接]
跳转到指定楼层
楼主
最近在玩CX32L003,手头没有官方的link,用的是通用的DAPlink。
它的IO口有限,想把SWD口改成普通IO口,但是很遗憾,关闭了
SWD口之后就不能更新它的程序了(除了官方的link)。
原先的想法是,可以通过UART口发送特殊指令执行chip擦除操作,
这样就可以再次打开SWD调试口,就又可以刷程序进去了,在其它
单片机上这一操作很容易实现,但这个CX32怎么都不能整片擦除,
最后打开FLASH中断,发现是“擦写PC地址”错误,然后在它的参考
手册上发现下面一段:



仔细想一想,擦除的指令就在FLASH上,很显然它是不能自己擦除
自己的,控制器自动屏蔽也是合理的,现在就想着怎么样把擦除指
令放在RAM中再执行,哪位高手能指点一下吗?


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:190832 发表于 2024-3-11 08:38 | 只看该作者
做个BOOT和APP,APP链接地址为RAM,通过串口把APP发给BOOT,BOOT把APP拷贝到RAM并运行,APP擦除FLASH
回复

使用道具 举报

板凳
ID:883242 发表于 2024-3-11 13:30 | 只看该作者
放bootloader的做法,把app单独做一个工程放在RAM地址上,然后bootloader把app的二进制拷贝到RAM中,跳转执行。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表