RVDS4.0 + openJTAG 裸机调试

上个月买了一个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 Files\yagarto\bin\arm-elf-gdb.exe

GDB命令文件这个也是光盘里面带的,我的是:D:\Desktop\OK6410\ok6410\file\start\s3c6410_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


  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 34
    评论
1 系统要求 运行 ARM® RealView® Development Suite (RVDS) v4.0 的计算机最低要求使用 1GHz Pentium III 系列处理 器, 512MB 的系统内存。 建议的计算机规格为 Pentium 4 系列处理器,内存为 1GB。 注意 如果使用 RVDS Professional 版,运行 ARM Profiler 的计算机的最低建议规格为 2GHz 双核处理器, 1GB 内存。 1.1 支持的平台 以下平台支持 RVDS v4.0: • Windows Vista Business Service Pack 1 • Windows Vista Enterprise Service Pack 1 • Windows XP Professional Service Pack 2 • Windows Server 2003 (仅编译器) • 用于 Intel x86 的 Red Hat Enterprise Linux WS 4 版 (使用 Gnome 窗口管理器和 bash Shell) • 用于 Intel x86 的 Red Hat Enterprise Linux WS 5 版 (使用 Gnome 窗口管理器和 bash Shell) 所有工具同时支持这些操作系统的 32 位和 64 位版本。 但是,RealView ICE 不支持 Red Hat Linux 的 64 位 版本,也不允许在 Windows Vista 中安装 64 位的 USB 驱动程序。 注意 RVDS v4.0 使用 Acresso Software Inc. (前身是 Software Business Unit of Macrovision Corporation)的 FLEXnet 许可证管理软件。 要使用浮动许可证,必须在每台相关计算机上配置并运行 TCP/IP 网络。 有关详 细信息,请参阅 《ARM 工具 FLEXnet 许可证管理指南 4.2 版》。 1.2 RealView ICE 主机软件 选择 Full/ 全部产品选项,就会安装在发行 RVDS v4.0 版本时可用的 RealView ICE 主机软件版本。 但对于 不同功能的使用,有不同的要求: • 对于硬件调试,要求使用 TCP/IP 或 USB 连接到主机的 RealView ICE 运行控制单元 • 对于使用 RealView Debugger 进行的捕获和分析跟踪,要求如下: — 要使用 Embedded Trace Buffer™ (ETB™) 捕获跟踪,要求使用 TCP/IP 或 USB 连接到主机的 RealView ICE 运行控制单元 — 要直接从 Embedded Trace Macrocell™(ETM™) 中捕获跟踪,需要 RealView Trace 或 RealView Trace 2 数据捕获单元,该单元通过 RealView ICE 运行控制单元连接到主机 注意 仅 Windows 平台支持使用 RealView Debugger 进行跟踪捕获和分析。 • 对于硬件性能分析,要求如下: — 使用 TCP/IP 或 USB 连接到主机的 RealView ICE 运行控制单元 — 使用 USB 连接到主机的 RealView Trace 2 数据捕获单元。 根据调试和跟踪要求,必须分别购买 RealView ICE、RealView Trace 和 RealView Trace 2 硬件。 您购买的 RealView ICE 硬件会包含某版本的 RealView ICE 主机软件。 有关详细信息,请参阅 《RealView ICE 和 RealView Trace 用户指南》。
RVDS是RealView Development Suite的简称,是一套由ARM公司开发的集成开发环境(IDE),用于嵌入式系统的软件开发。RVDS许可证是一种软件许可证,用于授权开发者和企业使用RVDS软件套件。 RVDS许可证提供了不同类型的许可,以满足不同用户的需求。根据许可证的类型和数量,使用者可以在单个设备或多个设备上进行开发和调试RVDS软件默认提供了一个eval许可证,允许用户在不需要实际的硬件设备的情况下来熟悉和了解RVDS软件。 为了获得有效的RVDS许可证,用户需要联系ARM公司或其授权的经销商购买。购买许可证后,用户将获得一个唯一的许可证文件,通常是以电子形式提供。这个许可证文件包含了用户的许可证信息和许可证密钥,用于授权RVDS软件的使用。 用户需要将许可证文件加载到RVDS软件中,以验证其许可证的有效性。一旦许可证成功加载,用户就可以开始使用RVDS开发环境,进行软件开发、调试和优化等任务。许可证可以在特定的设备上使用,也可以通过网络共享给多个开发者进行协同开发。 需要注意的是,RVDS许可证是一种有限期限的许可,用户需要在许可证过期之前续订或更新。此外,根据许可证的类型和限制,有些功能和组件可能需要额外购买或进行特殊许可。 总之,RVDS许可证是使用RVDS软件套件的关键,它授权用户合法地使用ARM的开发工具进行嵌入式软件开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 34
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cp1300

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值