上个月买了一个openJTAG一直没时间使用,今天用了一下,还行,给大家分享一下RVDS4.0与openJTAG的使用方法
首先得安装好openJTAG的相关驱动以及GDB调试软件,这个在openJTAG的使用手册上面都有,这里就不多说了,来看看RVDS4.0的设置吧
只有一个.s文件,是汇编写的,用来测试无uboot环境下的启动的,其它编译设置请看我的博文,RVDS4.0建立工程,我这里使用的地址为0x0,地址,也就是ARM启动后第一条指令所在位置.
;----------------------------------------------------------------------------------------------------- ;功能: S3C6410硬件初始化代码 ;作者: 异灵元([email protected]) ;创建时间:2012-10-27 ;修改时间:2012-10-27 ;修订说明: ;----------------------------------------------------------------------------------------------------- PRESERVE8 INCLUDE s3c6410_map.inc ;寄存器地址映射 AREA Init,CODE,READONLY ENTRY B ResetHandler ;系统硬件复位 B UndHandler ;未定义指定中断 B SWIHandler ;软件中断 B PaAbort ;取指令异常中断 B DaAbort ;取数据异常中断 B . ;保留 B IRQHandler ;中断 B FIQHandler ;快速中断 ResetHandler PROC ;----------------------------------------------------------------------------------------------------- ;关闭看门狗 ;----------------------------------------------------------------------------------------------------- LDR R0, =S3C6410_WTCON ;看门狗寄存器地址 LDR R1, =0x0 STR R1, [R0] ;写0,关闭看门狗 ;----------------------------------------------------------------------------------------------------- ;点亮所有LED ;----------------------------------------------------------------------------------------------------- LDR R0, =S3C6410_GPMCON LDR R1, =0x1111 ;推挽输出 STR R1, [R0] LDR R0, =S3C6410_GPMDAT LDR R1, =0x0 ;写入0,点亮所有灯 STR R1, [R0] main_loop B main_loop ENDP UndHandler PROC EXPORT UndHandler [WEAK] B . ENDP SWIHandler PROC EXPORT SWIHandler [WEAK] B . ENDP PaAbort PROC EXPORT PaAbort [WEAK] B . ENDP DaAbort PROC EXPORT DaAbort [WEAK] B . ENDP IRQHandler PROC EXPORT IRQHandler [WEAK] B . ENDP FIQHandler PROC EXPORT FIQHandler [WEAK] B . ENDP END
(默认大家已经安装好了openJTAG相关驱动)
1.首先得安装RVDS4.0,不会的看看我的博客
安装RVDS4.0 : http://blog.csdn.net/cp1300/article/details/7772645
RVDS4.0建立工程: http://blog.csdn.net/cp1300/article/details/7772809
2.安装zylincdt插件.
不好意思我的是汉语的,大家看着办啊
点击‘帮助’ -------------- ‘SoftwareUpdates’ ---------------‘Find and Install’
点开后选择下面的一个选项,下一步
如下图界面
点击新建远程站点 ,右边的第一个
名称填写: zylincdt
URL填写: http://opensource.zylin.com/zylincdt
勾选后点击完成,需要联网下载更新,按提示安装,中途可能会有警告,确认就行,安装完成后会自动重启RVDS的,完成后
在调试里面会多出zylin 相关的调试选项.
3.新建一个调试
在 Zylin Embedded debug(Native) 下面新建一个调试配置,如上图,我的是 ok6410无Uboot调试
在Debugger选项卡上面需要注意了
Debugger 选择 Embedded GDB,设置如上图所示
勾选一个 默认的断点,我的是ResetHandler这个按照自己的实际情况,如果有C语言这里一般就是main函数了
GDB调试器:选择你的openJLINK光盘里面安装的工具.说明里面都有,我的路径是:D:\Program Files\yagarto\bin\arm-elf-gdb.exe
GDB命令文件这个也是光盘里面带的,我的是:D:\Desktop\OK6410\ok6410\file\start\s3c6410_gdb.init
在命令选项卡里面添加四条命令,功能依次是 载入调试文件,设置断点,继续执行
命令为
monitor resetcontinue
这样可以一键运行,将//去掉程序会自动停在主函数,注意下一次仿真下载之前需要停止本次仿真.
应用即可
4.开始调试
在openJTAG的终端里面输入 halt,暂停,其实可以在设置的时候第一条指令如果是break,这个步骤就可以省略了,但是建议多次调试后复位一下开发板
调试前一定要先打开OPENJTAG : OPENOCD GUI,如图
设置在光盘手册里面也有.
编译好工程后点击调试即可
注意要选择刚刚建立的调试配置.
5.调试
出现如上图,就成功了,省下的就非常简单了,大家自己琢磨琢磨.
看完后大家肯定会觉得没什么用,因为自己手上可能没有openJTAG,并且这个还有点贵,但是告诉大家一个好消息,JLINK一样可以这样用,一样可以再RVDS4.0上面进行调试,使用方法和eclipse一模一样的,不懂可以查eclipse的使用,但是jlink很容易卡死,很不稳定。
一样的程序,跑飞了。。。
卡死了。。。
附上:jlink调试,大部分操作都一样,设置如下,调试前想打开jlink-gdb