18.25 JLink调试程序步骤
S3C2440开发板启动时候选择NandFlash启动,然后输入如下命令:
r /*复位cpu*/
h /*暂停CPU*/
loadbin e:/les.bin 0 /*下载e目录下的leds.bin到0地址*/
setpc 0 /*设置pc执行地址为下载代码的地址0*/
s /*单步调试*/
regs /*查看寄存器是否和预想的一样*/
s /*继续单步调试*/
每执行一行s,会弹出一个PC=xxxx的地址,
这是还未执行的,PC当前指向的地址
mem /*从30000000地址读取8位数据*/ J-Link>mem /*用于测试内存是否完成初始化*/ = DA A0 E3 从低位到高位读 J-Link>w4 0x12345678 /*在0x30000000写16位数据*/ J-Link>mem =
本次调试所用到的命令:
h halt
g go
s Single step the target chip
mem Read memory. Syntax: mem <Addr>, <NumBytes> (hex)
w1 Write -bit items. Syntax: w1 <Addr>, <Data> (hex)
w2 Write -bit items. Syntax: w2 <Addr>, <Data> (hex)
w4 Write -bit items. Syntax: w4 <Addr>, <Data> (hex)
q Quit
qc Close JLink connection and quit
r Reset target (RESET)
Regs Display contents of registers
wreg Write register. Syntax: wreg <RegName>, <Value>
SetBP Set breakpoint. Syntax: SetBP <addr> [A/T] [S/H]
SetWP Set Watchpoint. Syntax: <Addr> [R/W] [<Data> [<D-Mask>] [A-Mask]]
ClrBP Clear breakpoint. Syntax: ClrBP <BP_Handle>
ClrWP Clear watchpoint. Syntax: ClrWP <WP_Handle>
loadbin Load binary file into target memory.
Syntax: loadbin <filename>, <addr>
SetPC Set the PC to specified value. Syntax: SetPC <Addr>
---- JTAG ------------
Config Set number of IR/DR bits before ARM device.
Syntax: Config <IRpre>, <DRpre>
speed Set JTAG speed. Syntax: speed <freq>|auto|adaptive, e.g. speed ,
i Read JTAG Id (Host CPU) Jlink 命令调试-断点/条件断点 普通断点: 通常使用的普通断点的添加方法:SetBP <addr> [A/T] [S/H]
条件断点: watch point, 可以视为一种条件断点。
设置变量变为指定值时触发的断点:
setWP <addr> [<accesstype>] [<size>] [<data> [<data mask> [<addr mask>]]]
for example: 当变量m_marsh_test变为0xDEADBEEF时触发
通过map文件得到m_marsh_test的变量地址为0x20004f58;
setWP 0x20004f58 W S32 0xDEADBEEF
调试要对汇编语言有充分的理解,.dis的反汇编文件作为调试中的重要参考文件。
18.25 JLink调试程序步骤的更多相关文章
- 2016年10月14日 星期五 --出埃及记 Exodus 18:25
2016年10月14日 星期五 --出埃及记 Exodus 18:25 He chose capable men from all Israel and made them leaders of th ...
- win7,win10 系统上搭建testlink1.9.18环境实操步骤
Windows7,10系统上安装TestLink1.9.18(基于xampp) 写于:2018.11.28 二次排版微调:2019.01.01 如遇本文资料缺失,可点击百度网盘查看原始资料. 链接:h ...
- Codeforces821B Okabe and Banana Trees 2017-06-28 15:18 25人阅读 评论(0) 收藏
B. Okabe and Banana Trees time limit per test 2 seconds memory limit per test 256 megabytes input st ...
- gdb 调试程序步骤
在程序a.c编译过程中加入调试信息: g++ -g -o a.debug a.c 启动gdb,在终端下输入:gdb 此时启动了gdb,在gdb中加载需要调试的程序,在终端输入命令: file a.de ...
- 架构师速成6.7-设计开发思路-uml 分类: 架构师速成 2015-07-29 18:25 157人阅读 评论(0) 收藏
uml是什么东西?统一建模语言,一门语言,是用来进行软件设计的一门语言. 其实一门语言的诞生并不伟大,让大多数人都使用才足够伟大.uml就是一门伟大的语言,因为目前软件设计的唯一语言就是它. UML其 ...
- mysql 5.6.25编译安装详细步骤
简略步骤: mysql5.6.25编译安装步骤: 下载mysql准备用户和组yum安装依赖解压mysqlcmake编译mysqlmake && make install ----时间约 ...
- linux(centos8):kubeadm单机安装kubernetes(kubernetes 1.18.3)
一,kubernetes安装的准备工作: 1,准备工作的各步骤请参见: https://www.cnblogs.com/architectforest/p/13141743.html 2, ma ...
- 实记JLink刷固件方法
最近J-Link调试程序,不知何故,USB报无法连接,试了别的电脑也是这样.文件存于“百度网盘/05.组装维修/4.单片机/1.JLink-ARM仿真器”下.所有的操作基于WIN7 32位系统. 1. ...
- 【Cocos2d-x游戏引擎开发笔记(25)】XML解析
原创文章,转载请注明出处:http://blog.csdn.net/zhy_cheng/article/details/9128819 XML是一种非常重要的文件格式,由于C++对XML的支持非常完善 ...
随机推荐
- Oracle数据库各种名字的区别
数据库名(DB_NAME).数据库实例名(INSTANCE_NAME).操作系统环境变量(ORACLE_SID).数据库服务名(SERVICE_NAME).数据库域名(DB_DOMAIN)以及全局数据 ...
- 运行 vue 报node错
当报错 为这样时: 执行--npm install node-sass 即可
- cocso引擎整体流程
任何程序都有入口,mian.cpp; Cocos2d也不免俗,在win32平台下,有一个mian.cpp 入口,从这里进入cocos的世界. #ifndef __MAIN_H__ #define __ ...
- mysqldumpslow简单使用方法-mysqldumpslow详细用法
慢查询日志分析工具mysqldumpslow经常使用的参数:-s,是order的顺序----- al 平均锁定时间-----ar 平均返回记录时间-----at 平均查询时间(默认)-----c 计数 ...
- linux之关于学习必备知识
文件列表的定义: 第一个字符表示文件类型 d为目录 -为普通 1为链接 b为可存储的设备接口 c为键盘鼠标等输入设备 2~4个字符表示所有者权限,5~7个字符表示所有者同组用户权限,8~10 ...
- Labview多列列表框
前面板创建多列列表框 如何写入数据: 右键 创建属性节点 项名 创建属性节点 项符号 创造自定义项符号: 右键 创建调用节点 自定义项符号 设置为自定义符号 然后添加索引号 利用图片与声音 ...
- Sonar Java 规则插件开发 (基于阿里开发手册)
引言 最近在做Sonar静态代码扫描管理,以此顺手接了Sonar的插件开发,基于阿里开发手册进行开发,在整体开发过程中,其中还是遇到不少坑位,也以此给大家做相应借鉴官网Demo演示插件开发地址:htt ...
- Mybatis 中获取添加的自增主键ID(针对mysql)
分享一篇博客,主要就是针对在我们使用SSM的时候,在.xml中获取<insert></insert> 时的自增主键Id,由于好久没有,这个时候使用,有点生疏,就在这里写个笔记, ...
- 移动端调用ArcGIS Server 10.1服务
1.最好用mdb数据源,不要用shp文件作为数据源,一是属性字段长度超过5个字符会被截断,二是中文会变成乱码. 2.mxd的layer的坐标系要是WGS1984(4362),不然属性查询不出来.
- 数据t转换
#!/usr/bin/perl use strict; use warnings; open my $fh,"a.out"; open OUT,">a_t.o ...