高人来介绍一下SWD接口吧!有没有可能做一个BIN转SWD下载(不是JLINK,不带调试功能)的

2019-12-10 18:33发布

如题
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
38条回答
dr2001
1楼-- · 2019-12-12 22:20
认真阅读全文即可,文档写的已经很清楚了。

关于你的问题,参考楼上贴的IHI0031A,图2-2,图8-1。
假定你用的SWD,简要流程:
1、使用SWD的DPACC访问DP,读ID确认DP的特性。
2、使用DPACC-AP Select选中AP并且设置AP Bank地址,然后用APACC访问AP的ID。枚举所有可能的AP地址,确认所有的AP都是什么并获得其特性。
3、对读写ARM内存来说,一般需要MEM-AP且类型是AHB的;通过上步枚举,需要找到这个MEM-AP。不同芯片对应的配置数据主要用于确认用哪个AP访问谁。
4、设定DPACC选中MEM-AP;然后用APACC设定MEM-AP的TAR;然后用APACC访问MEM-AP的DRW触发内存读写操作,并且获得实际内存数据。

IHI0031给定的是通用的操作流程和指令定义,操作的需求和细节手册里都有,阅读理解就好。
他们的具体应用需要把IHI0031和具体Core的TRM结合起来。TRM会给出具体的DP和AP实现了哪些REG,完成哪些功能,etc。或者是用户可自行配置的,etc。

ARM的文档手册算是相当开放的,注_册个帐号,Core的大部分内容都可以获得。
cxque
2楼-- · 2019-12-13 01:21
回复【19楼】dr2001
认真阅读全文即可,文档写的已经很清楚了。
关于你的问题,参考楼上贴的ihi0031a,图2-2,图8-1。
假定你用的swd,简要流程:
1、使用swd的dpacc访问dp,读id确认dp的特性。
2、使用dpacc-ap select选中ap并且设置ap bank地址,然后用apacc访问ap的id。枚举所有可能的ap地址,确认所有的ap都是什么并获得其特性。
3、对读写arm内存来说,一般需要mem-ap且类型是ahb的;通过上步枚举,需要找到这个mem-ap。不同芯片对应的配置数据主要用于确认用哪个ap访问谁。
4、设定dpacc选中mem-ap;然后用apacc设定mem-ap的tar;然后用apacc访问mem-ap的drw触发内存读写操作,并且获得实际内存数据。
ihi0031给定的是通用的操作流程和指令定义,操作的需求和细节手册里都有,阅读理解就好。
他们的具......
-----------------------------------------------------------------------

高手啊@@ 不过目前还没看懂你的意思。回去慢慢把文档看明白先。 看来2遍,一头雾水啊,什么DPACC,APACC都不知道是啥……
03024003
3楼-- · 2019-12-13 05:42
mark swd
dr2001
4楼-- · 2019-12-13 11:36
 精彩回答 2  元偷偷看……
Niandet
5楼-- · 2019-12-13 12:18
多谢分享,
shpan_111
6楼-- · 2019-12-13 18:01
回复【23楼】dr2001
回复【21楼】cxque   
-----------------------------------------------------------------------
我说的那些内容都在ihi0031中有详细描述。
ihi0031有几个框图,十分清晰的表明了操作方法。查找、阅读文档,把那个图理解清楚就都好办了。
有问题的话,就在这个帖子里讨论吧。以后万一要用到什么内容也好找一点。呵呵。
-----------------------------------------------------------------------

多谢您的回复和仔细指导,看了你的说明,然后根据你说的两张图仔细看了文档,好像流程和结构是比较明白了。真是多谢了啊。!!

Flash和DEBUG MEMERY都是mem-ap,他俩挂载的总线不一样,如何区别呢?或者说如何通过属性区别呢,没找到各自属性的表示方法……

一周热门 更多>