STM32学习004_调试工具J_LINK

发布者:玄幻剑客最新更新时间:2017-10-26 来源: eefocus关键字:STM32  调试工具  J_LINK 手机看文章 扫描二维码
随时随地手机看文章

jlink是segger公司的产品,jlink的官方提供调试软件和驱动,调试软件有jlink命令(j-tag调试),j-mem(内存查看),j-flash(flash烧写)等我主要用到的是jlink commander,以下是它的命令集:

  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上查找设备。

警告:找不到CPU内核。

******错误:奇偶校验错误(Data = 0xFFFFFFFF,ReceivedParity = 1)

在SWD没有设备。

没有找到任何核心

信息: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-链接>

  可用的命令是:

----------------------

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设置断点。语法:SetBP [A / T] [S / H]

SetWP Set Watchpoint。句法: [R / W] [ [] [A-Mask]]

ClrBP清除断点。语法:ClrBP  

ClrWP清除观察点。语法:ClrWP  

VCatch写向量捕获。语法:VCatch

loadbin将二进制文件加载到目标内存中。

             语法:loadbin ,

savebin将目标内存保存为二进制文件。

             语法:savebin , ,

SetPC将PC设置为指定值。语法:SetPC

le改为小端模式

改为大端模式

日志启用日志到文件。语法:log

unlock解锁设备。语法:解锁

           键入解锁没有 得到一个列表

           的支持的设备名称。

           nRESET必须连接

---- CP15 ------------

rce阅读CP15。语法:rce, , ,

wce写CP15。语法:wce, , , ,

- - 冰 - - - - - - -

冰显示状态的嵌入式冰宏单元(ICE断路器)

ri Read Ice reg。语法:ri(十六进制)

wi写冰reg。语法:wi, (十六进制)

---- ETM -------------

etm显示ETM状态

re read ETM reg。语法:re

我们写ETM reg。语法:我们, (十六进制)

es开始跟踪

---- ETB -------------

etb显示ETB状态

rb读取ETB寄存器。语法:rb

wb写入ETB寄存器。语法:wb, (十六进制)

---- TRACE -----------

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测试下载速度。语法:testwspeed [ []]

testrspeed测试上传速度。语法:testrspeed [ [] [

S>]]

testcspeed测试CPU速度。语法:testcspeed []

---- JTAG ------------

配置在ARM设备之前设置IR / DR位数。

             语法:配置 ,

速度设置JTAG速度。语法:speed| auto | adaptive,例如speed 2000,

速度a

我读取JTAG ID(主机CPU)

wjc写入JTAG命令(IR)。语法:wjc(十六进制)

wjd写入JTAG数据(DR)。语法:wjd(十六进制), (分解)

RTAP复位TAP控制器使用状态机(111110)

wjraw编写原始JTAG数据。语法:wjraw, ,

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。语法:usb,其中港口为0..3

ip通过TCP / IP连接到J-Link ARM Pro或J-Link TCP / IP服务器。

           语法:ip

----配置---

si选择目标界面。语法:si,

           其中0 = JTAG,1 = SWD。

电源开关电源为目标。语法:电源 [烫发]

           州是开或关。例如:上电

wconf写配置字节。语法:wconf,

rconf读取配置字节。语法:rconf

usbaddr将usb地址分配给所连接的J-Link:语法:usbaddr =

ipaddr显示/分配连接的J-Link的/的IP地址和子网掩码。

gwaddr显示/分配连接的J-Link网络网关地址。

dnsaddr显示/分配连接的J-Link的网络DNS服务器地址/。

conf显示连接的J-Link的配置。

ecp启用J-Link控制面板。

校准校准目标电流测量。

----------------------

注意:在命令行中指定文件名

将在脚本模式下启动J-Link Commander。

  总结一下我们使用的最多的命令:

  USB --------连接目标板

  [R ----------重启目标板

  停止-------停止CPU运行的程序

  loadbin ----加载可执行的二进制文件

  g ----------跳到代码段地址执行
  s ----------单步执行(调试用)
  setpc -----设置pc寄存器的值(调试用)
  setbp -----设置断点

  -------暂存器读寄存器组织

  WREG -------写寄存器

  MEM --------读内存

  W4 ---------写内存

  关闭mmu ---关闭mmu,这个对于裸板调试很重要
  w4 cpsr,0x0000001f ------切换到系统模式

  速度------设置jtag的传输速率
  rce 0,c0,c0,0 -----设置cp15寄存器的第1个寄存器为0


关键字:STM32  调试工具  J_LINK 引用地址:STM32学习004_调试工具J_LINK

上一篇:STM32学习003_STM32F10X的时钟配置
下一篇:STM32学习005_端口复用与重映射

推荐阅读最新更新时间:2024-03-16 15:41

基于stm32的精确延时利用系统滴答systick
利用系统滴答定时器来实现精确延时,需要以下五步: 1、设置滴答定时器的时钟,通过设置其控制寄存器,选择外部时钟,即为系统时钟的八分之一,若系统时钟为72M,则滴答定时器时钟为9M。即定时一秒需要9M个时钟周期。 2、设置滴答定时器的重装载寄存器的数值,即需要延时的时钟周期数。如:若需要延时20微秒,则重装载值为20*9.若要延时20毫秒,则设置重装载值为20*9000. 3、清空滴答定时器当前值寄存器的值,使之为零,以便使能计数时能够从设定值开始倒数计时。 4、设置滴答定时器的控制寄存器,开始倒计数。 5、查询滴答定时器的状态位,定时时间到,关闭定时器,清空定时器当前值。 void delay_init(u8 SYSC
[单片机]
STM32系统学习——USART(串口通信)
串口通信是一种设备间非常常用的串行通行方式,其简单便捷,大部分电子设备都支持。 一、物理层 常用RS-232标准,主要规定了信号的用途、通信接口以及信号的电平标准。 “DB9接口”之间通过串口信号线建立起连接,串口信号线使用”RS-232标准“传输数据信号,这些信号通过记过电平转换芯片转换成控制器能识别的TLL标准的电平信号,才能实现通信。 1.电平标准 可分为TTL标准以及RS-232标准。 常见的电子电路中常见TTL的电平标准,理想状态使用5V表示二进制逻辑1,0V表示逻辑0;而为了增加串口通信的远距离传输以及抗干扰能力,RS-232使用-15V表示逻辑1,+15V表示逻辑0。 因为控制器一般使用TTL电平标准
[单片机]
<font color='red'>STM32</font>系统学习——USART(串口通信)
STM32输入捕获(一)
今天,就参照芯片的数据手册,来编写程序,实现输入捕获功能,首先看一下输入捕获的实现原理:(这里只拿通道1为例,其他通道与之类似) 首先来看这张图 (图中的U代表更新事件,UI表示可以产生更新条件) 蓝色框出的部分就是一条完整的输入捕获通道,红色画出的就是信号采集后的路径,而这只是一个粗略的路径,我们来看下一幅图: (蓝色方框标注的是相应的控制位) 从上图可以很清晰的看出输入信号的流程:输入部分对相应的TI1输入信号采样(f_DTS是指采样频率),并产生一个滤波后的信号TI1F。然后,一个带极性选择的边缘检测器产生一个信号(TI1FP1),它可以作为从模式控制器的输入触发或者作为捕获控制。该信号通过预分频进入捕获
[单片机]
<font color='red'>STM32</font>输入捕获(一)
STM32 USB 枚举分析
芯片:STM32F407VE 编译器:KEIL5 STM32 USB枚举 用到比较重要的寄存器:OTG_HS 主机端口控制和状态寄存器 (OTG_HS_HPRT) 系统复位 等待USB连接,延时100ms 主机对USB设备复位,主机检测到端口使能位置位,与设备建立连接 主机再次对USB设备复位,复位结束,开始枚举过程。 主机拥有8个通道,其中IN占用0通道,OUT占用1通道。打开IN和OUT管道 获取设备描述符,只获取8个字节,为了得到通道0的最大包长度。将状态机调整到HOST_CTRL_XFER。同时备份当前全局状态,便于跳转到HOST_CTRL_XFER恢复状态。 USBH_Get_DevDesc(pde
[单片机]
STM32的使用之SPI通信DMA模式
MCU:STM32F303VC 在SPI通信中,可以同时开启发送和接收DMA请求,自动数据的发送和接收,完成数据的交换 基本步骤是: 1. 配置好SPI相应引脚功能 2. 配置和初始化SPI 3. 初始化DMA 4. 片选信号选择要通信的设备 5. 打开DMA 对应DMA通道:SPI1_RX---DMA1_Channel2;SPI1_TX---DMA1_Channel3 代码: #define L3GD20_SPI_TDR (u32)(SPI1_BASE+0x0C) #define L3GD20_SPI_RDR (u32)(SPI1_BASE+0x0C) u8 SPI_TXBUFFER ={0xE8,0x00,0x00,
[单片机]
基于STM32设计的拼图小游戏详解
一、环境介绍 MCU:STM32F103ZET6 编程软件环境:keil5 LCD显示屏:正点原子的TFT 3.5寸显示屏 二、运行效果 三、功能介绍 因为代码原来是在2.8寸屏上设计的,但是2.8寸屏摔碎了,现在手上只有块3.5寸的LCD屏。就把代码移植到3.5寸屏上显示了,目前运行的效果可以看上面的效果图。 拼图游戏在小时候还是经常玩,玩法也比较简单,这里就使用STM32设计一个拼图小游戏分享出来一起学习。 目前游戏是通过开发板上4按键进行控制图片的移动,完成最终的拼图效果,如果想要在上面扩充其他游戏功能都还是比较容易。 当然,设计编写这个款小游戏不仅仅是为了玩游戏这么简单,主要是为了通过设计游戏
[单片机]
基于<font color='red'>STM32</font>设计的拼图小游戏详解
STM32单片机的系统定时器初始化设置
正如之前文章所述,在使用外设功能时,都必须提前对其精心初始化才能使用其功能。 以下是系统定时器初始化的程序清单。 #include“stm32f10x_lib.h” unsigned char sys_nub;//系统定时器中断计数变量 //SysTick 设置 void SysTIck_Config(void) { //失能SysTIck定时器 SysTIck_CounterCmd(SysTIck_Counter_Disable); //失能SysTick中断 SysTick_ITConfig(DISABLE); //设置SysTick时钟源 SysTick_ClockSourceConfig(SysTick_Source_
[单片机]
<font color='red'>STM32</font>单片机的系统定时器初始化设置
简述stm32的usart的功能特点
关于STM32的启动流程,网上有的资料在讨论几种boot模式,有的在回答启动文件的内容,在查阅了很多资料后,本文给出一个比较全面的总结和回答。 1. 根据boot引脚决定三种启动模式 复位后,在 SYSCLK 的第四个上升沿锁存 BOOT 引脚的值。BOOT0 为专用引脚,而 BOOT1 则与 GPIO 引脚共用。一旦完成对 BOOT1 的采样,相应 GPIO 引脚即进入空闲状态,可用于其它用途。BOOT0与BOOT1引脚的不同值指向了三种启动方式: 从主Flash启动。主Flash指的是STM32的内置Flash。选择该启动模式后,内置Flash的起始地址将被重映射到0x00000000地址,代码将在该处开始执行。一般我
[单片机]
简述<font color='red'>stm32</font>的usart的功能特点
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved