开贴记录SWD 脱机烧录器开发过程,请各路大神指教

2019-12-09 19:23发布

参考 CMISI_DAP,BlackMagic代码。
预备下周末结案,目前方案:
1:Host用STM32F427,跑RTEMS系统, IO口模拟SWD时序。
2:flash的操作函数,由Host通过SWD下载入target ram执行。(CMISI_DAP采用这种方式)
     不知道jlink的flash操作是不是一样的原理。他要适用这么多芯片,那得有准备多少这样的小程序啊。。。
3:USB用的虚拟串口,用ST官方提供的驱动,上位机编程简单。tafget本身程序.bin文件由上位机通过虚拟串口传入。
     此虚拟串口的波特率,奇偶,起停位设置均形同虚设。

目前状态:
SWD时序基本调试通过,读写target ID/reg已经正常,暂时未经过高强度测试。。
正在弄flash操作。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
94条回答
蓝蓝的恋
1楼-- · 2019-12-19 05:51
这里好复杂,学习一下
Free_man
2楼-- · 2019-12-19 08:13
czdavid 发表于 2015-9-5 13:31
先擦除,然后读出来是不是已经擦除了。
写FLASH的时候要注意FLASH延迟。
我当时测STM32F030的时候FLASH的 ...

stm32 swd离线下载,到了控制寄存器编程到flash那里不懂怎么搞,可以指导一下吗?
sklli
3楼-- · 2019-12-19 08:14
好东西,资料很全
helislayer
4楼-- · 2019-12-19 12:11
 精彩回答 2  元偷偷看……
Free_man
5楼-- · 2019-12-19 14:56
helislayer 发表于 2016-8-8 17:34
这个最简单就是直接操作 flash 寄存器,flash 的速度我自己的比较是
比用程序来刷慢 1 倍左右所以也没有 ...

好的,谢谢!
zhangyh89
6楼-- · 2019-12-19 16:12
我现在可以用swd直接操作flash的寄存器进行擦出操作,但擦除后怎么给写数据啊,我用swd在相应的地址写数据后,读FLASH_SR寄存器发现一只处于BUSY状态。之前写flash用的固件库,里面擦出页后,半字半字的写,不知到SWD里怎么写呀

一周热门 更多>