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

2019-12-10 18:33发布

如题
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
38条回答
dr2001
1楼-- · 2019-12-12 12:29
在ARM网站上找了一下:
如果需要了解SWD的细节,需要在ARM网站上免费注_册一个帐号,下载IHI0031 ARM_debug_interface这个文档。

这应该是ARM SWD/JTAG Debug的最基础那个文档,如果需要别的文档,应该能从这个文档中获得相关资料。
wuguoyan
2楼-- · 2019-12-12 14:48
回复【13楼】dr2001  
-----------------------------------------------------------------------

我下载下来了,分享给大家一起研究~~

点击此处下载 ourdev_689267S9QZ06.zip(文件大小:1.50M) (原文件名:AR551-DA-70001-r0p0-00rel1.zip)


This zip file contains two documents:

   * IHI0031A_ARM_debug_interface.pdf

     This is the "ARM?Debug Interface v5 Architecture Specification,"
     covering ADIv5 version 5.0.


   * DSA09-PRDC-008772-1-0_ARM_debug_interface_v5_supplement.pdf

     This is the "ARM?Debug Interface v5 Architecture Specification ADIv5.1
     Supplement," an update to ARM?Debug Interface v5 Architecture
     Specification. It includes errata and new features for ADIv5.

     The new features described in the supplement represent a minor revision
     of the architecture specification, and hence the architecture version
     number is v5.1. The new features are backwards compatible with v5.0;
     the version documented by the "ARM?Debug Interface v5 Architecture
     Specification."

The terms "ARM Debug Interface v5" and "ADIv5" refer to the major revision of
ADI, that is, to v5.0, v5.1 or any future minor revision of ADIv5.
cxque
3楼-- · 2019-12-12 16:51
回复【13楼】dr2001
在arm网站上找了一下:
如果需要了解swd的细节,需要在arm网站上免费注_册一个帐号,下载ihi0031 arm_debug_interface这个文档。
这应该是arm swd/jtag debug的最基础那个文档,如果需要别的文档,应该能从这个文档中获得相关资料。
-----------------------------------------------------------------------

这2个文档都看过了……还是不会! SWD的协议知道了,但是SWD下载程序的协议还是不知道从哪里开始。就如同已经知道了串口从起始位开始,中间数据位,后面是校验和停止位,以及每位的电平,但是想用串口下载HEX文件还需要ISP协议。。。。再顶起!
USACH
4楼-- · 2019-12-12 21:39
等高人介绍。
dr2001
5楼-- · 2019-12-12 22:04
 精彩回答 2  元偷偷看……
shpan_111
6楼-- · 2019-12-12 22:07
回复【17楼】dr2001  
回复【15楼】cxque  
-----------------------------------------------------------------------
给个大致的思路,具体的我没做过,需要你自己慢慢研究了。
1 侦测目前jtag接口用的是什么协议,jtag还是swd。如果不是swd,用那个50脉冲法,切换到swd接口。
  这是因为调试接口分jtag,swd,jtag+swd三种,要确认用的是哪个,并且转入正常的状态。
2 可能需要是使用某种指令复位一下swd接口,具体是否需要看手册。
3 根据手册,使用swd读写arm core的调试寄存器,勒令arm core进入halt状态。
  这个的主要目的是不让arm core读写flash内存区,防止写flash的时候出问题。
4 用swd实现读写内存的函数。只要不是挂在arm内部总线上的外设和内存,swd是可以直接访问......
-----------------------------------------------------------------------


这位大侠回复很仔细阿。。。

但是我也很疑惑,看SWD协议,还是不知道如何访问内存和FLASH,发送读命令或者写命令的时候地址都是只有2位的……,等待大侠解释。

一周热门 更多>