OpenOCD 写入数据到TAP

  • OpenOCD 配置文件
  • JTAG TAP Controller
  • Result

OpenOCD为需要访问JTAG指令或数据寄存器的开发人员提供一些底层的控制命令,这些命令可以控制TAP控制器的状态转换的顺序。

  • drscan tapname [numbits value] + [-endstate tap_state]

    • tapname: 使用jtag newtap命令创建的TAP名
    • [numbits value]: 这个整体貌似可选(没有测试),vaule部分支持16进制和10进制,numbit指定需要传输的比特位数
    • [endstate tap_state]: 其中-endstate是选项, tap_state是一个枚举量,可供选择的状态名见下文
  • irscan [tapname instruction] + [-endstate tap_state]
    • [tapname instruction]: 这个整体也是可选的,可以不加,若输入时,tapname同drscaninstruction则与OpenOCD进行通信的JTAG TAP所对应jtag 命令编码(二进制码)
    • [endstate tap_state]: 同上
  • TAP state names (irscandrscan中tap_state可以选择其中一种)
    • RESET
    • RUN/IDLE
    • DRSELECT
    • DRCAPTURE
    • DRSHIFT
    • DREXIT1
    • DRPAUSE
    • DREXIT2
    • DRUPDATE
    • IRSELECT
    • IRCAPTURE
    • IRSHIFT
    • IREXIT1
    • IRPAUSE
    • IREXIT2
    • IRUPDATE

OpenOCD 配置文件

#interface_list
interface ftdi
ftdi_vid_pid 0x0403 0x6010# ftdi_channel 0 is port ADBUS, ftdi_channel 1 is port BDBUS.
ftdi_channel 1#adapter_name
transport select jtag
adapter_khz 10# ftdi_layout_init data direction
ftdi_layout_init 0x0038 0x00FB
ftdi_layout_signal nSRST -oe 0x0040
ftdi_layout_signal TRST -oe 0x0010 -data 0x0010ftdi_layout_signal led2 -data 0x0080 -oe 0x0080
ftdi_layout_signal led3 -data 0x0040 -oe 0x0040set _CHINPNAME custom
jtag newtap custom tap -irlen 4 -expected-id 0x149511c5init
#jtag_init
ftdi_set_signal led2 1
ftdi_set_signal led3 0#verify_ircapture enable
#verify_jtag enable#pathmove RESET  DRSELECT
foreach tapname [jtag names] {puts [format "TAP: %s\n" $tapname]
}#irscan [EXTEST] + [-endstate RUN/IDLE]
#irscan [tap EXTEST] + [-endstate RUN/IDLE]
irscan custom.tap 0x8  -endstate RUN/IDLE
drscan custom.tap 16 0x1234 -endstate RUN/IDLE

JTAG TAP Controller

在JATG篇(4)中展示的JTAG TAP中添加下面代码:

reg [63:0] input_shift_reg ;
always @ (posedge tck_pad_i or negedge trstn_pad_i)  beginif (~trstn_i) begininput_shift_reg <= 'h0;end else if(ir_debug && shift_dr_i)input_shift_reg <= {tdi_pad_i, input_shift_reg[63:1]};
end

Result

JTAG篇(5) OpenOCD 写入数据到TAP相关推荐

  1. JTAG篇(4)——OpenOCD与JTAG TAP通信

    OpenOCD与JTAG TAP通信 OpenOCD 简介 运行OpenOCD JATG TAP Controller Result OpenOCD 简介 OpenOCD (Open On-Chip_ ...

  2. Redis篇之解决redis从节点无法写入数据问题

    一.前言 一般情况下,对于Redis集群而言,redis主节点主要进行数据的读写操作,而从节点默认为只读权限.如果想要使得从节点也拥有写入权限,也是可以进行设置的. **注:**但是,不建议这么操作, ...

  3. python代码大全p-python处理写入数据代码讲解

    首先要利用python进行读取整个文件,然后逐行读取,最后写入数据.具体实现步骤参考如下: 步骤一.读取整个文件 先在当前目录下创建一个TXT文件,例如文件名为'pi_digits.txt'的文本文件 ...

  4. python读数据-用 Python 的输入输出功能读取和写入数据

    读取.写入和 Python 在 "探索 Python 系列" 以前的文章中,学习了基本的 Python 数据类型和一些容器数据类型,例如 tuple . string 和 list ...

  5. flink 写入到es_《从0到1学习Flink》—— Flink 写入数据到 Kafka

    前言 之前文章 <从0到1学习Flink>-- Flink 写入数据到 ElasticSearch 写了如何将 Kafka 中的数据存储到 ElasticSearch 中,里面其实就已经用 ...

  6. python写入数据的一种措施_Python 文件数据读写的具体实现

    文件数据读写 读写文件,本质上是请求操作系统打开一个文件对象,然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件). 文件读取 使用 Python 内置 ...

  7. centos7安装flink集群_《从0到1学习Flink》—— Flink 写入数据到 Kafka

    前言 之前文章 <从0到1学习Flink>-- Flink 写入数据到 ElasticSearch 写了如何将 Kafka 中的数据存储到 ElasticSearch 中,里面其实就已经用 ...

  8. 轻松了解面试官心理!ElasticSearch写入数据的工作原理是什么? | 技术头条

    戳蓝字"CSDN云计算"关注我们哦! 作者:手留余香 转自: Java架构沉思录 面试题 es 写入数据的工作原理是什么啊?es 查询数据的工作原理是什么啊?底层的 lucene ...

  9. 在python中创建Excel文件并写入数据

    来源:<在python中创建Excel文件并写入数据> python中的包xlwt和xlsxwriter都是比较方便创建excel文件并写入数据的. xlwt中: 通过xlwt.Workb ...

最新文章

  1. multiple definition of
  2. The Simple Life
  3. mybatis-批量更新
  4. 关于安卓手机访问一些网站或者Fiori应用弹出安装证书的提示
  5. GitLab创建项目 命令上传代码
  6. 信号方面概念解释(笔记04)
  7. 修复/boot及/etc/fstab、自制linux、编译安装内核
  8. 自己动手做一个爬虫项目
  9. uni-app - 实现手机扫描二维码并跳转全过程
  10. 教师资格证作文素材---------------背背背。。。
  11. OA的岗位管理功能模块的实现总结
  12. AI行业全面复苏,秋招AI岗位竞争激烈!Tesra超算网络助力找到合适的岗位!
  13. Python判断字符串是否以字母开头
  14. c++传输二进制数据
  15. Chrome与Chromedriver版本对应表(最新)【附下载链接】
  16. TemporalType
  17. 关于 nodejs-websocket 的 wss 设置
  18. 学习使用junit进行单元测试,
  19. 计算机软件著作权登记分类号如何选择?
  20. 【ASP.NET Core】配置应用程序地址的N多种方法

热门文章

  1. Python中求矩阵的逆
  2. Linux 启动时间优化实战,2.41 秒启动应用!
  3. 自学Python兼职赚钱靠谱吗?
  4. CTF基础知识-Web
  5. c语言中float是什么类型的数据,float是什么数据类型?
  6. linux查看hive账户权限,Linux用户和权限管理
  7. 水利水电安全员考试多选练习题库(8)
  8. 关于指针为什么是4个字节大小
  9. 计算机科学与技术以为舟,于哲舟-吉林大学计算机科学与技术学院
  10. 面试题:数组和链表的区别