在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1896|回复: 1

[原创] 基于Cortex M3核的SWD接口仿真问题

[复制链接]
发表于 2018-12-20 10:25:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
小弟想通过仿真来弄清SWD接口工作的过程。
根据Arm Debug Interface v5 ,SWD串行线调试接口协议,其工作过程为:传输线经过50个周期的高电平,再经过至少2个周期的空闲周期,进入工作准备状态,下一步可以传输主机向调试目标发送的请求数据。请求数据中包含了读or写、访问DP or AP、访问的寄存器地址、校验等bit。随后目标向主机发送确认信号,最后传输read or write信号。
问题:
1、在写仿真testbench时,是需要将准备状态之前的50 clock的高电平,至少2 clock的空闲周期写进去,还是进入工作之后,这部分已经写在协议里,自动运行的?
2、发送请求数据,若需要访问DP,对于寄存器地址该如何设置?
发表于 2024-2-23 14:02:29 | 显示全部楼层
好老的帖子
最近在验用m3的swd,遇到问题打算搜一下,既然碰到了,就当考试做一下,相信题主早已知道不需要答案并成为了技术大牛。
1.在写testbench时需要给swd接口50clk 来复位,这是复位swd的方法。当然,仿真开始时还要对swd进行初始化(即先先发50clk,再发0x79e7这个序列完成jtag到swd的转换,再来50clk和两个idle),初始化完成后才能发req
2.dp寄存机就4个,就用请求的两个地址的bit表示。注意swd是小端传输。
好了,我问下我的问题,
如果我想用swd访问soc外设的寄存器,是否需要halt cpu,如果需要,halt cpu是通过swd操作debug寄存器还是通过cpu写debug寄存器
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-18 23:23 , Processed in 0.012750 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表