当前位置:首页 > 芯闻号 > 充电吧
[导读]上个月买了一个openJTAG一直没时间使用,今天用了一下,还行,给大家分享一下RVDS4.0与openJTAG的使用方法首先得安装好openJTAG的相关驱动以及GDB调试软件,这个在openJTA


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



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


只有一个.s文件,是汇编写的,用来测试无uboot环境下的启动的,其它编译设置请看我的博文,RVDS4.0建立工程,我这里使用的地址为0x0,地址,也就是ARM启动后第一条指令所在位置.


;-----------------------------------------------------------------------------------------------------
;功能:	S3C6410硬件初始化代码
;作者:	异灵元(cp1300@139.com)
;创建时间: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 Filesyagartobinarm-elf-gdb.exe

GDB命令文件这个也是光盘里面带的,我的是:D:DesktopOK6410ok6410filestarts3c6410_gdb.init



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


命令为


monitor reset
monitor halt
load
//break main

continue

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


应用即可



4.开始调试

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

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


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

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



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



5.调试



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


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

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


卡死了。。。



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


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭