J-Link介绍

J-Link是segger公司的产品,J-Link的官方提供调试软件和驱动,功能比较强大,看一下百度百科的介绍:
J-Link是SEGGER公司为支持仿真ARM内核芯片推出的JTAG仿真器。配合IAR EWAR,ADS,KEIL,WINARM,RealView等集成开发环境支持所有ARM7/ARM9/ARM11,Cortex M0/M1/M3/M4, Cortex A5/A8/A9等内核芯片的仿真,与IAR,Keil等编译环境无缝连接,操作方便、连接方便、简单易学,是学习开发ARM最好最实用的开发工具。
二话不说,看看庐山真面目:

接口定义

提到专业工具,肯定要提接口定义,以及电气参数要求:
电源USB供电,整机电流 <50mA 支持的目标板电压 1.2 ~ 3.3V,5V兼容 目标板供电电压 4.5 ~ 5V (由USB提供5V) 目标板供电电流 最大300mA,具有过流保护功能;
一般也有两种接线方式,一种JTAG:标准的20pin接口,接口定义如下;另外一种是SWD,是简化了JTAG接口,只用了20pin其中3个pin;

J-link命令集介绍

调试软件有J-Link命令(j-tag调试),j-mem(内存查看),j-flash(flash烧写)等一般主要用到的是jlink commander,以下是它的命令集:

可用的命令是:
f—固件信息
h—停止
g—去
s—单步目标芯片
st—显示硬件状态
hwinfo----显示硬件信息
mem—读取内存 。 语法:mem , (十六进制)
mem8—读取8位项目 。 语法:mem8 ,(十六进制)
mem16—读取16位项目。语法:mem16, (十六进制)
mem32—读取32位项目。语法:mem32, (十六进制)
w1—写入8位项目。语法:w1, (十六进制)
w2—写16位项目。语法:w2, (十六进制)
w4—写入32位的项目。语法:w4, (十六进制)
wm—写测试字。语法:wm
ms—测量扫描链的长度。语法:ms
mr—测量RTCK反应时间。语法:mr
q—退出
qc—关闭JLink连接并退出
r—复位目标(RESET)
rx—复位目标(RESET)。语法:rx
RSetType—设置当前的复位类型。语法:RSetType
wreg—写入寄存器。语法:wreg,
SetBP—设置断点。
SetWP Set Watchpoint。
ClrBP—清除断点。
ClrWP—清除观察点。
VCatch—写向量捕获。
loadbin—将二进制文件加载到目标内存中。
savebin—将目标内存保存为二进制文件。
SetPC—将PC设置为指定值。
le—改为小端模式
unlock—解锁设备
rce—阅读CP15。
wce—写CP15。
ri—读 Ice reg。
wi—写ice reg。
etm—显示ETM状态
re —读ETM reg
we—写ETM reg
es—开始跟踪
etb—显示ETB状态
rb—读取ETB寄存器。
wb—写入ETB寄存器。
TAddBranch TRACE—向跟踪缓冲区添加分支指令。
TAddInst TRACE— 将(非分支)指令添加到跟踪缓冲区。:
TClear TRACE —清除缓冲区
TSetSize TRACE —设置跟踪缓冲区的大小
TSetFormat TRACE— SetFormat
TSR TRACE — 显示区域(并分析跟踪缓冲区)
TStart TRACE — 开始
TStop TRACE — 停止
---- SWO ----
SWOSpeed SWO — 显示支持的速度
SWOStart SWO — 开始
SWOStop SWO — 停止
SWOStat SWO — 显示SWO状态
SWORead SWO — 读取和显示SWO数据
SWOShow SWO — 读取和分析SWO数据
SWOFlush SWO — 刷新数据
----文件I / O ----
fwrite—将文件写入仿真器
fread—从模拟器读取文件
fshow—从模拟器读取和显示文件
fdelete—在模拟器上删除文件
fsize—在模拟器上显示文件的大小
----测试----
thg—运行/停止1000次
ts—运行步骤1000次
testwspeed—测试下载速度。
testrspeed—测试上传速度。
testcspeed—测试CPU速度。
---- JTAG ----
speed—速度设置JTAG速度。语法:speed| auto | adaptive,eg:speed 2000,
wjc—写入JTAG命令(IR)。语法:wjc(十六进制)
wjd—写入JTAG数据(DR)。语法:wjd(十六进制)
RTAP—复位TAP控制器使用状态机(111110)
wjraw—编写原始JTAG数据。
rt—复位TAP控制器(nTRST)
---- JTAG硬件—
c00—用TDI = TMS = 0创建时钟
c—时钟
0—清除TDI
1—设置TDI
t0—清除TMS
t1—设置TMS
trst0—清除TRST
trst1—设置TRST
r0—清除复位
r1—设置RESET
----连接----
usb—通过USB连接到J-Link。
ip—通过TCP / IP连接到J-Link ARM Pro或J-Link TCP / IP服务器。
----配置—
wconf—写配置字节。
rconf—读取配置字节。
usbaddr—将usb地址分配给所连接的J-Link
ipadd—r显示/分配连接的J-Link的/的IP地址和子网掩码。
gwaddr—显示/分配连接的J-Link网络网关地址。
dnsaddr—显示/分配连接的J-Link的网络DNS服务器地址/。
conf—显示连接的J-Link的配置。
ecp—启用J-Link控制面板。

总结一下我们使用的最多的命令:
USB --------连接目标板
R ----------重启目标板
stop-------停止CPU运行的程序
loadbin ----加载可执行的二进制文件
g ----------跳到代码段地址执行
s ----------单步执行(调试用)
setpc -----设置pc寄存器的值(调试用)
setbp -----设置断点
WREG -------写寄存器
MEM --------读内存
WM ---------写内存
关闭mmu —关闭mmu,这个对于裸板调试很重要
w4 cpsr,0x0000001f ------切换到系统模式
speed------设置jtag的传输速率
rce 0,c0,c0,0 -----设置cp15寄存器的第1个寄存器为0

常见报错分析

1.找不到内核
SEGGER J-Link指挥官V4.20h(’?'寻求帮助)
编译2010年10月5日19:11:57
DLL版本V4.20h,编译于2010年10月5日19:11:41
固件:J-Link ARM V8编译2010年5月5日08:59:59
硬件:V8.00
S / N:20100214
功能:RDI,FlashDL,FlashBP,JFlash,GDBFull
VTarget = 3.280V
信息:TotalIRLen =?,IRPrint = 0x…FFFFFFFFFFFFFFFFFFFFF1

警告:找不到CPU内核。
没有在JTAG链上找到设备。尝试在SWD上查找设备。
2.找到两个设备
信息:TotalIRLen = 9,IRPrint = 0x0011
找到2个JTAG设备,总共IRLen = 5:
#0 Id:0x2B900F0F,IRLen:04,IRPrint:0x0,ARM ETB
#1 Id:0x07B76F0F,IRLen:05,IRPrint:0x1,ARM1176 Core
确定了ARM11。

嵌入式学习(三)—调试工具J_Link介绍相关推荐

  1. NIO 学习(三) channel(主要介绍channel----FileChannel详解--通道间的信息传输)

    Channel实现 Java NIO中最重要的通道的实现: FileChannel :从文件中读写数据 DatagramChannel :通过UDP读写网络中的数据 SocketChannel  :通 ...

  2. 【嵌入式学习】嵌入式学习路线介绍

    文章目录 资料整理: 理论学习路线 嵌入式软件工程学习路线 51单片机 郭天祥 STM32单片机 正点原子 野火 安富莱 普中科技 参考链接 资料整理: 郭天祥教学视频<单片机:十天征服你> ...

  3. 嵌入式学习笔记——基于Cortex-M的单片机介绍

    基于Cortex-M的单片机介绍 前言 1生产厂商及其产品线 1.1ARM单片机的产品线 1.2命名规则 作业1 2习单片机的资料准备 2.1STM32开发所需手册 2.1.1芯片的数据手册 芯片基本 ...

  4. python学习--第三天 粗略介绍人脸识别

    首先安装opencv 在安装opencv过程中遇到一些错误(百度解决) 直接贴代码吧,讲师略讲了一下,体会不深,以后有机会深入学习,再详细介绍解释吧 人脸识别训练集应该可以网上下载吧,都是开源的 im ...

  5. unity2D学习(14)血条显示、Canvas中Render Mode的三种模式介绍

    1 血条素材处理 分割处理:对上一章画出来的血条图片做分割处理 整理素材格式: Sprite Mode选择Multiple:因为一张图片包含多个素材. Pixels Per Unit单位像素为16:与 ...

  6. 计算机网络之-嵌入式学习

    网络作为嵌入式学习的必备知识,很多嵌入式学习者还没有真正的去系统的了解过网络这个知识,在学习网络这块的知识,整理了一些网络笔记,希望对大家的学习能有帮助,那下面就一起看看计算机网络的相关知识吧!本文较 ...

  7. 以软件推动工业进步 -嵌入式学习网站

    http://www.cnblogs.com/cubean/archive/2010/04/26/1721035.html 以下内容转自:http://bbs.msembed.com/showtopi ...

  8. 嵌入式学习笔记——ADC模数转换器

    ADC模数转换器 前言 ADC介绍 ADC概述 ADC的数量 ADC的特性 ADC框图 芯片外部框图 芯片内部框图 转换部分框图 状态输出部分 条件触发框图 寄存器介绍 编程思路 模式选择 规则通道的 ...

  9. 嵌入式学习之STM32实现OLED

    嵌入式学习之STM32实现OLED 一.实验要求 二.SPI介绍 三.OLED介绍 四.实验过程 1.代码编写: 实验结果演示: 一.实验要求 理解OLED屏显和汉字点阵编码原理,使用STM32F10 ...

最新文章

  1. HDU_1075 What Are You Talking About(Trie 树)
  2. C# 工厂模式 简单入门
  3. 实战-Ueditor扩展二次开发
  4. 触发器报错“Not allowed to return a result set from a trigger”的解决方案
  5. 纯粹经济学 —— 基本概念
  6. java 代码重排_Java中指令重排
  7. [转]各类文件对应的Content-Type
  8. mysql中如何批量删除冗余数据库_WordPress清理数据库中的冗余数据加速网站运行速度...
  9. linux中python编辑器_Python 编辑器
  10. 计算机硬件4核是什么意思,8核,6核,4核和双核CPU是什么意思?
  11. Unity ML-Agents 之 环境的搭建,以及的 demo 测试
  12. android高德地图语音,高德地图导航组件没有导航语音声音
  13. 单例模式(DCL、holder等)
  14. entfrm开发平台,一个免费开源可视化的无代码开发平台
  15. EL表达式基础语法总结
  16. 有效扩展:来自预训练和微调变换器的见解、rct.ai训练出5亿参数的BERT-X模型
  17. 才云团队入选微软加速器
  18. 串联单元集成自清洗过滤器
  19. UG/NX10二次开发学习视频目录整理(NXOPEN进阶篇)
  20. 华为ap3010转胖ap

热门文章

  1. tensorflow2.0基础简介
  2. Java程序员毕业一年自述
  3. 在职读研有意义么?来社科院与杜兰大学金融管理硕士项目探寻答案
  4. 数据库和BI工程师面试题
  5. 生态对对碰|OceanBase 安华金和打造数据库安全联合解决方案
  6. antd-pro v5版本的tab页签最简实践
  7. 基于CNN的人脸表情识别系统
  8. Visual studio图形化调试工具Graphical Debugging,辅助Boost.Geometry库调试
  9. 计算机三级 信息安全技术题库——填空题3
  10. 卖女装用什么产品做吸粉?吸粉方法要按照哪些步骤来做呢?