RVDS4.0 + openJTAG 裸机调试

上个月买了一个openJTAG一直没时间使用,今天用了一下,还行,给大家分享一下RVDS4.0与openJTAG的使用方法


首先得安装好openJTAG的相关驱动以及GDB调试软件,这个在openJTAG的使用手册上面都有,这里就不多说了,来看看RVDS4.0的设置吧

RVDS4.0 + openJTAG 裸机调试_第1张图片

只有一个.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’


RVDS4.0 + openJTAG 裸机调试_第2张图片


点开后选择下面的一个选项,下一步


如下图界面

RVDS4.0 + openJTAG 裸机调试_第3张图片

点击新建远程站点 ,右边的第一个

 RVDS4.0 + openJTAG 裸机调试_第4张图片


名称填写:  zylincdt

URL填写:         http://opensource.zylin.com/zylincdt

 

 

勾选后点击完成,需要联网下载更新,按提示安装,中途可能会有警告,确认就行,安装完成后会自动重启RVDS的,完成后

在调试里面会多出zylin 相关的调试选项.


RVDS4.0 + openJTAG 裸机调试_第5张图片

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

RVDS4.0 + openJTAG 裸机调试_第6张图片


在命令选项卡里面添加四条命令,功能依次是 载入调试文件,设置断点,继续执行


命令为

monitor reset
monitor halt
load
//break main

continue

这样可以一键运行,将//去掉程序会自动停在主函数,注意下一次仿真下载之前需要停止本次仿真.

应用即可

RVDS4.0 + openJTAG 裸机调试_第7张图片


4.开始调试

在openJTAG的终端里面输入 halt,暂停,其实可以在设置的时候第一条指令如果是break,这个步骤就可以省略了,但是建议多次调试后复位一下开发板

调试前一定要先打开OPENJTAG : OPENOCD GUI,如图

RVDS4.0 + openJTAG 裸机调试_第8张图片

设置在光盘手册里面也有.

编译好工程后点击调试即可

RVDS4.0 + openJTAG 裸机调试_第9张图片


注意要选择刚刚建立的调试配置.

RVDS4.0 + openJTAG 裸机调试_第10张图片


5.调试

RVDS4.0 + openJTAG 裸机调试_第11张图片


出现如上图,就成功了,省下的就非常简单了,大家自己琢磨琢磨.


看完后大家肯定会觉得没什么用,因为自己手上可能没有openJTAG,并且这个还有点贵,但是告诉大家一个好消息,JLINK一样可以这样用,一样可以再RVDS4.0上面进行调试,使用方法和eclipse一模一样的,不懂可以查eclipse的使用,但是jlink很容易卡死,很不稳定。

一样的程序,跑飞了。。。

RVDS4.0 + openJTAG 裸机调试_第12张图片

卡死了。。。

RVDS4.0 + openJTAG 裸机调试_第13张图片


附上:jlink调试,大部分操作都一样,设置如下,调试前想打开jlink-gdb

RVDS4.0 + openJTAG 裸机调试_第14张图片RVDS4.0 + openJTAG 裸机调试_第15张图片

你可能感兴趣的:(调试,6410,裸机,RVDS,openJTag)