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的支持非常完善 ...
随机推荐
- memge和saveOrUpdate的区别
今天做hibernate开发的时候遇到这样一个错误: a different object with the same identifier value was already associated ...
- java关于redis的快速配置
1.关于Jedis安装配置很简单,我主要写一个,能够快速使用redis的工具类,首先导入依赖, 就一个 jedis 最好选用老一点版本 <!-- https://mvnrepository.co ...
- ;html5斜体字
font-style:italic; italic|oblique|normal 依次倾斜,越来越邪:
- JS中的一元操作符
表达式 一元操作符 优先级 结合性 运算顺序 表达式是什么? 就是JS 中的一个短语,解释器遇到这个短语以后会把对它进行计算,得到一个结果参与运算,我们把这种要参与到运算中的各种各样的短语称为表达式. ...
- webSocket的 原理 及 实现
websocket协议是基于Tcp的一种新的网络协议,它实现了客户端与服务器的双向通行,并允许服务端主动发送信息给客户端.WebSocket是html5中的协议. Http协议与WebSocket协议 ...
- GDB程序调试
GDB使用流程 1.编译生成可执行文件: gcc -g tst.c -o tst2.启动GDB gdb tst3. 在main 函数处设置断点 break main4. 运行程序 run GDB 命令 ...
- flex 布局 实现电商网页菜单的多级分类展示
用flex,实现多级菜单分类展示,这里记录一下,方便以后查阅. 效果展示如下: 跟上面floor的设计差不多,鼠标hover全部商品分类的时候,将下拉列表展示在指定区域,这个类似鼠标悬浮商品图片期待上 ...
- Django连接oracle数据库的那些问题
环境: windows 7 64位 python 3.6.5 32位 oracle客户端11.2 32位 django1.11.20 (django2.x版本不支持oracle客户端11g了) cx_ ...
- 《Java编程思想》读书笔记-基本规范、注释、static关键字、import关键字
扫一扫加我的微信公众号,和我一起打好Java的基础 本文作为构建第一个Java程序的番外篇二,主要跟大家伙儿从浅层次的探讨下Java中的关键字import和static,此外为了让我们的代码可读性更强 ...
- python学习笔记-os模块参数
python的os 模块提供了非常丰富的方法用来处理文件和目录.常用的方法如下表所示: os.access(path, mode) 检验权限模式 os.chdir(path) 改变当前工作目录 os. ...