打印

OpenOCD烧录算法设计

[复制链接]
85|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
CharX|  楼主 | 2025-3-9 23:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
由于工作需求,我的电脑都是Linux桌面版,现在使用的是Ubuntu2404,看了官网CW32没有提供Linux的烧录套间于是想利用OpenOCD提供调试和烧录的能力。我之前编写过ht32f523xx芯片的烧录算法,过程是先解锁Flash,擦除Flash然后将二进制文件写入到特定区域,Flash加写保护,验证可用,在CW32L010上复刻这个方案。我看了CW32L010的寄存器手册,Flash的解锁操作应该是向PAGELOCK写入0x5A5AFFFF(5A5A为写KEY)。但是我在openocd中使用target_write_u32()接口的时候发现写操作似乎没有生效,在写入0x5A5AFFFF后再使用target_read_u32()读出PAGELOCK的值发现还是0x00000000。请问是我的操作有问题吗?

图:PAGELOCK寄存器

图:解锁函数的实现

图:openocd连接cw32l010,使用telnet localhost 4444>halt>cw32l010x mass_erase 0报错

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝