开贴记录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条回答
abbott.yang
2019-12-11 19:09
本帖最后由 abbott.yang 于 2015-8-21 16:19 编辑
shangdawei 发表于 2015-8-21 14:37
通过 SWD 控制target的flash寄存器达到同样的效果和
通过SWD下载程序到内部RAM来控制target的flash寄存器 ...


区别很小吧,特别是SWD速度够快的时候。blackmagic和DAP不同,它是用SWD直接操作target flash寄存器来完成的。
IO模拟速度慢,然后考虑的是做这个脱机烧录只是我要做的东西的一部分,后面会把整个产线的一些功能都集成进来,所以在启动时一次性把程序下进去完事。操作flash就可以少用几个SWD读写动作。
省点点时间,蚊子小也有肉。以前用资源,时钟很少很慢的低级MCU留下的习惯,比较抠门!

一周热门 更多>