目前在做一颗soc芯片arm9的前端仿真,我正在尝试写一段testbench,给JTAG端口信号,测试简单的JTAG访问操作。
看了twentone和duyunhai的<ARM JTAG调试原理>文档后,对JTAG TAP controller的状态有了一些认识。
经过两三天的调试,有了一点小成果。就是能从shift状态下,看到了TDO上输出4b'0001信号,具体执行操作如下:
test-logic reset -->run-test/idle --> select -DR-Scan -->select-IR-Scan -->Capture -IR --> Shift -IR(在该状态下,保持TCK运行4个clk,就能看到4b'0001信号,再保持TCK,就能看到TDI上的数据从TDO输出到端口) -->
...
目前的问题是,不知道接下去怎么配置,通过执行IDCODE指令,TDO读出arm ID
共3条
1/1 1 跳转至页
非常感谢版主给我的指点。:)
但是对配置IDCODE指令,没有成功。
如下图是我采用的时序图。期望能在配置了指令寄存器后,能在shift-DR时把ID寄存器的值读出来,实际没有。
具体操作流程是:test-logic reset -->run-test/idle --> select -DR-Scan -->select-IR-Scan -->Capture -IR --> Shift -IR(5个TCK) -->Exit1-IR -->Update-IR --> run-test/idle --> select -DR-Scan -->Capture -DR --> Shift -DR ---

我看了arm9的manual,发现指令是一样的,也是1110。
我又尝试用一个别的公司arm芯片,用示波器通过Multi-ice连接到目标板,然后用示波器直接在板上采集波形。因为一开始会有芯片加载过程,我认为可能就是在识别ID号。读取波形,没有发现tdo数据,如图:兰线是TCK(一堆无规则的脉冲),紫线是TMS,绿线是TDO

共3条
1/1 1 跳转至页
回复
| 有奖活动 | |
|---|---|
| 2026年“我要开发板活动”第三季,开始了! | |
| 硬核工程师专属补给计划——填盲盒 | |
| “我踩过的那些坑”主题活动——第002期 | |
| 【EEPW电子工程师创研计划】技术变现通道已开启~ | |
| 发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
| 【EEPW在线】E起听工程师的声音! | |
| 高校联络员开始招募啦!有惊喜!! | |
| 【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
我要赚赏金打赏帖 |
|
|---|---|
| PTC与NTC功能常规对比被打赏¥14元 | |
| 【分享开发笔记,赚取电动螺丝刀】关于3pin锂电池接口的介绍/使用被打赏¥16元 | |
| 以启明云端ESP32P4开发板实现TF卡读写功能被打赏¥28元 | |
| 【分享开发笔记,赚取电动螺丝刀】树莓派5串口UART0配置被打赏¥25元 | |
| 【STM32F103ZET6】17:分享在Rtos项目中断管理的使用经验被打赏¥23元 | |
| 【STM32F103ZET6】16:分享在中断中恢复串口任务,遇到的问题被打赏¥31元 | |
| 在FireBeetle2ESP32-C5上实现温度大气压检测及显示被打赏¥21元 | |
| 【分享开发笔记,赚取电动螺丝刀】SAME51双串口收发配置被打赏¥27元 | |
| Chaos-nano操作系统在手持式VOC检测设备上的应用被打赏¥37元 | |
| 【分享开发笔记,赚取电动螺丝刀】关于在导入第三方库lib时,wchart类型冲突的原因及解决方案被打赏¥30元 | |
我要赚赏金
