JTAG篇(5) OpenOCD 写入数据到TAP
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是一个枚举量,可供选择的状态名见下文
- tapname: 使用
irscan
[tapname instruction] + [-endstate tap_state]- [tapname instruction]: 这个整体也是可选的,可以不加,若输入时,tapname同
drscan
,instruction则与OpenOCD进行通信的JTAG TAP所对应jtag 命令编码(二进制码) - [endstate tap_state]: 同上
- [tapname instruction]: 这个整体也是可选的,可以不加,若输入时,tapname同
TAP state names
(irscan
和drscan
中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相关推荐
- JTAG篇(4)——OpenOCD与JTAG TAP通信
OpenOCD与JTAG TAP通信 OpenOCD 简介 运行OpenOCD JATG TAP Controller Result OpenOCD 简介 OpenOCD (Open On-Chip_ ...
- Redis篇之解决redis从节点无法写入数据问题
一.前言 一般情况下,对于Redis集群而言,redis主节点主要进行数据的读写操作,而从节点默认为只读权限.如果想要使得从节点也拥有写入权限,也是可以进行设置的. **注:**但是,不建议这么操作, ...
- python代码大全p-python处理写入数据代码讲解
首先要利用python进行读取整个文件,然后逐行读取,最后写入数据.具体实现步骤参考如下: 步骤一.读取整个文件 先在当前目录下创建一个TXT文件,例如文件名为'pi_digits.txt'的文本文件 ...
- python读数据-用 Python 的输入输出功能读取和写入数据
读取.写入和 Python 在 "探索 Python 系列" 以前的文章中,学习了基本的 Python 数据类型和一些容器数据类型,例如 tuple . string 和 list ...
- flink 写入到es_《从0到1学习Flink》—— Flink 写入数据到 Kafka
前言 之前文章 <从0到1学习Flink>-- Flink 写入数据到 ElasticSearch 写了如何将 Kafka 中的数据存储到 ElasticSearch 中,里面其实就已经用 ...
- python写入数据的一种措施_Python 文件数据读写的具体实现
文件数据读写 读写文件,本质上是请求操作系统打开一个文件对象,然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件). 文件读取 使用 Python 内置 ...
- centos7安装flink集群_《从0到1学习Flink》—— Flink 写入数据到 Kafka
前言 之前文章 <从0到1学习Flink>-- Flink 写入数据到 ElasticSearch 写了如何将 Kafka 中的数据存储到 ElasticSearch 中,里面其实就已经用 ...
- 轻松了解面试官心理!ElasticSearch写入数据的工作原理是什么? | 技术头条
戳蓝字"CSDN云计算"关注我们哦! 作者:手留余香 转自: Java架构沉思录 面试题 es 写入数据的工作原理是什么啊?es 查询数据的工作原理是什么啊?底层的 lucene ...
- 在python中创建Excel文件并写入数据
来源:<在python中创建Excel文件并写入数据> python中的包xlwt和xlsxwriter都是比较方便创建excel文件并写入数据的. xlwt中: 通过xlwt.Workb ...
最新文章
- multiple definition of
- The Simple Life
- mybatis-批量更新
- 关于安卓手机访问一些网站或者Fiori应用弹出安装证书的提示
- GitLab创建项目 命令上传代码
- 信号方面概念解释(笔记04)
- 修复/boot及/etc/fstab、自制linux、编译安装内核
- 自己动手做一个爬虫项目
- uni-app - 实现手机扫描二维码并跳转全过程
- 教师资格证作文素材---------------背背背。。。
- OA的岗位管理功能模块的实现总结
- AI行业全面复苏,秋招AI岗位竞争激烈!Tesra超算网络助力找到合适的岗位!
- Python判断字符串是否以字母开头
- c++传输二进制数据
- Chrome与Chromedriver版本对应表(最新)【附下载链接】
- TemporalType
- 关于 nodejs-websocket 的 wss 设置
- 学习使用junit进行单元测试,
- 计算机软件著作权登记分类号如何选择?
- 【ASP.NET Core】配置应用程序地址的N多种方法