Jlink+RVDS单步调试 ARM11(S3C6410)裸奔程序
来源:互联网 发布:字幕自动生成软件 编辑:程序博客网 时间:2024/04/29 10:42
开发平台:XP
目标平台:S3c6410
开发工具:RVDS J-LINK(V8)
一、搭建开发环境:
1、下载rvds2.2安装程序软件包。
2、解压后,进入RVDS软件包中的Crack文件夹中,运行keygen,用generate产生license file (注意自己的系统时间 最好是真实的当前时间,如果时间比较旧的话,产
生的license file 将不能注册。license file 和系统时间、网卡物理地址、硬盘的序列号有关)
2、安装软件。
3、在安装过程中会出现选择license Wizard 选 Install Wizard ... 选择 license.dat 目录
4、拷贝 license.dat 到安装目录下面去。
5、应用补丁注入工具Patch.exe给下边列出的文件注入校验和。(Patch.exe 在RVDS软件包中的Crack文件夹中)
the files need to be patched:
%Install Path%\IDEs\CodeWarrior\CodeWarrior\5.6.1\1592\win_32-pentium\bin\Plugins\License\oemlicense.dll
%Install Path%\IDEs\CodeWarrior\RVPlugins\1.0\86\win_32-pentium\oemlicense\oemlicense.dll
%Install Path%\RDI\armsd\1.3.1\66\win_32-pentium\armsd.exe
%Install Path%\RDI\AXD\1.3.1\98\win_32-pentium\axd.exe
%Install Path%\RVCT\Programs\2.2\349\win_32-pentium\armasm.exe
%Install Path%\RVCT\Programs\2.2\349\win_32-pentium\armcc.exe
%Install Path%\RVCT\Programs\2.2\349\win_32-pentium\armcpp.exe
%Install Path%\RVCT\Programs\2.2\349\win_32-pentium\armlink.exe
%Install Path%\RVCT\Programs\2.2\349\win_32-pentium\fromelf.exe
%Install Path%\RVCT\Programs\2.2\349\win_32-pentium\tcc.exe
%Install Path%\RVCT\Programs\2.2\349\win_32-pentium\tcpp.exe
%Install Path%\RVD\Core\1.8\734\win_32-pentium\bin\tvs.exe
%Install Path%\RVD\Core\1.8\734\win_32-pentium\bin\xry100.dll
%Install Path%\RVARMulator\ARMulator\1.4.1\206\win_32-pentium\armiss.sdi
%Install Path%\RVARMulator\ARMulator\1.4.1\206\win_32-pentium\armulate.sdi
%Install Path%\RVARMulator\ARMulator\1.4.1\206\win_32-pentium\v6armiss.sdi
%Install Path%\RVARMulator\v6ARMulator\1.4.1\238\win_32-pentium\v6thumb2.sdi
%Install Path%\RVARMulator\v6ARMulator\1.4.1\238\win_32-pentium\v6trustzone.sdi
到此 RVDS环境完成。
二、接下来就是搭建调试环境了。
这里采用的调试工具是J-LINK。记得要用V8的哦!(V6的能下载程序到SRAM 中,但是不能调试)
1、安装JLink4.22驱动程序 (记得要是JLink4.22的,其它的不保证可以哦!)
2、安装Setup_JLinkARM_V410i
3、插好J-LINK,然后打开 AXD debugger 即AXD debugger v1.31。
Option->Configure Target->Add
Add 选择 JLink4.22 安装目录下的 JLinkRDI.dll
单击 OK 进入 AXD
此时,调试环境已搭建好了,可以开始写第一个裸奔程序了。
三、 在RVDS环境上实现第一个裸奔程序
1、创建工程。 打开 CodeWarrior for RVDS,
file->new 创建一个程序
在对话款中选择ARM Executable Image ,指定工程路径及工程名,设置好后点击确认后创建工程。
2、编辑代码文件。
点击 file选项下面的那个图标(new next file),创建代码编辑文件,在这里编写代码,写完后保存文件。
把刚创建的那个文件添加工程目录上面去。
3、配置编译选项。
点击工程目录上面的 Debug setting 选项。
需要设置的选项有
1、 Language Setting 下面的 RealView Asse..。
在对话框下的 Target选项 点击Architecture or 选项的下拉框 选择ARM1176JZF-S(这是 S3c6410 的处理器内核)
2、 Language Setting 下面的 RealView comp...
在对话框下的 Target选项 点击Architecture or 选项的下拉框 选择ARM1176JZF-S
3、 Linker 下面的 RealView Linker
在 Output 选项中 linktype 中的 simple, 设置 simple image 中的R0 Base 为 0x00 RW Bage 为 0x800。
4、Debugger 下面的RealView Debu... 选择调试环境AXD
5、Debugger 下面的RealView Runner 选择调试环境AXD
其它的设置可以暂且不管。
4、点击 Make 编译编辑的程序。
5、点击 debug 调试程序。
代码例子:
AREA start,CODE,READONLY
ENTRY
_start
LDR R0, =0x7F008834 ; 设置按键接口为输入模式
MOV R1, #0x00
STR R1, [R0]
LDR R0, =0x7F008820 ; 设置led 灯接口为输出模式
LDR R1, =0x00001111
STR R1, [R0]
LDR R0, =0x7F008824 ;设置led 的初始状态为灭
MOV R1, #0x00000000
STR R1, [R0]
LDR R0, =0x7F0080A0 ;设置蜂鸣器接口为输出模式
LDR R1, =0x40000000
STR R1, [R0]
LDR R0, =0x7F0080A4 ;设置蜂鸣器的初始状态为不鸣叫状态
LDR R1, =0x00
STR R1, [R0]
main_loop
LDR R0, =0x7F008834 ; 读取按键的状态
LDR R2, [R0]
MVN R1, R2
AND R1,R1,#0x0F
LDR R0, =0x7F008824 ; 控制led 输出
STR R1, [R0]
MOV R3,#0x00
CMP R1, #0x01 ;判断是否有按键按下 鸣有的话蜂鸣器
MOVEQ R3, #0x08000
CMP R1, #0x02
MOVEQ R3, #0x08000
CMP R1, #0x04
MOVEQ R3, #0x08000
CMP R1, #0x08
MOVEQ R3, #0x08000
LDR R0, =0x7F0080A4
STR R3, [R0]
B main_loop
END
- Jlink+RVDS单步调试 ARM11(S3C6410)裸奔程序
- JLink 裸机调试S3C6410
- 国嵌不用jlink那使用什么下载逻辑程序并单步调试的?& h-jtag原理,和jlink区别 & jlink为什么这么贵。
- 用IAR和jlink调试s3c6410裸机程序
- 纪念一下--ECLIPSE+JLINK单步调试OK6410终于成功
- Eclipse+Jlink+Fedora实现mini6410单步调试u-boot
- JLink+GDBServer调试S3C6410裸板
- GDB单步调试程序
- Jlink 下载裸奔程序到 TQ2440
- 如何单步调试WindowsService程序
- Android程序如何(单步)调试
- WPF单步调试程序的设置
- 使用 Eclipse 单步调试 Zephyr 程序
- 微信小程序-单步断点调试
- ARM11 (S3C6410) CP15寄存器
- s3c6410 ARM11启动流程
- 单步跟踪调试
- eclipse单步调试
- 铁道部新客票系统的设计(三)
- svn使用别名 映射ip,出差时候就方便多了
- ZOJ 1005 Jugs(模拟 special judge,也可以BFS)
- 邮箱有效性检测(nslookup -q=mx)
- boost使用(八)
- Jlink+RVDS单步调试 ARM11(S3C6410)裸奔程序
- Python学习第四天
- loadrunner之脚本录制
- C#动态创建控件之事件响应(刚刚答复提问,正好一并录之)
- Directory 与 Hashtable 的性能比较
- git错误error: Your local changes to the following files would be overwritten
- HTML5新特性:范围样式<style scoped>
- 微阵列数据分析(Microarray Data Analysis)
- Leetcode: Pascal's Triangle II