The invention relates to a cross debugging method of embedded system, which comprises the following steps: step S1: electric start, loading and running operating system; step S2: to determine whether or not to update the program, if it is to step S3, if not to step S9; step S3: operating system to load and run the program to download the application to modify the update module; after the step S4:JTAG into memory; step S5:JTAG write program information to a predetermined memory; step S6: program update module according to the program information application memory write disk firmware zone; step S7: add a record to the application firmware file system directory entry; step 8: tip end of update and restart step S9: enter the application; loading state of normal, the new directory entry on retrieval application from the corresponding firmware at the end of the file system directory; Step S10: load the application with the latest directory entry and run the debug. The invention also provides a device for implementing the method.
【技术实现步骤摘要】
一种嵌入式系统交叉调试方法和装置
本专利技术涉及一种调试方法和装置,特别是一种高效的嵌入式系统交叉调试方法和装置。
技术介绍
嵌入式系统交叉调试方法一般分为两种,一种是基于JTAG的片上调试方法,一种是基于调试代理的远程调试方法。请参阅图1,其为基于JTAG的片上调试方法的连接框图。JTAG是一种国际标准芯片测试协议,目前大多数CPU体系都支持JTAG。基于JTAG的片上调试方法最突出的代表就是JLink调试器,其定义了一个软件调试层面的RDI接口标准,然后JLink调试器将调试环境软件(IAR、KEIL等)发出的RDI接口转化为JTAG命令,对芯片进行调试。该方法多适用于嵌入式系统底层驱动调试、裸系统调试和单应用调试。请参阅图2,其为基于调试代理的远程调试方法的连接框图。基于调试代理的远程调试方法是在目标机上运行一个调试代理程序,与宿主机的调试器进行通信交互,一起配合完成调试的任务。该方法主要使用软件陷入来模拟断点以接管CPU来完成调试,GDB远程调试是主要代表。一般地,基于调试代理的远程调试方法有两种方式。一种是gdbserver,其能在目标机的系统上独立运行,用于调试有操作系统的应用程序;另一种是stub,其和嵌入式系统程序一起链接运行,一般用于调试系统程序。其中,Gdbserver比较容易,但需要操作系统支持;stub调试比较难,需要针对具体的芯片体系进行移植。两者的工作原理是相似的,GDB调试基于串口协议或者TCP/IP协议。由于调试代理、串口驱动或者TCP/IP驱动需要占用大量的内存空间,因此该方法一般用于内存资源比较丰富的嵌入式系统的调试。嵌 ...
【技术保护点】
一种嵌入式系统交叉调试方法,其特征在于,包括以下步骤:步骤S1:上电启动,加载运行操作系统;步骤S2:判断是否有接收到进入“更新程序”的触发命令,若是,则进入步骤S3;步骤S3:操作系统加载程序更新模块及外存对应的驱动程序,并运行该模块程序,接管CPU控制权;步骤S4:利用JTAG下载修改后的应用程序到内存;步骤S5:利用JTAG写入应用程序名称、写入内存的起始地址、应用程序大小三个信息到预定内存地址;步骤S6:当程序更新模块监控到所述预定内存发生变化后,解析该预定内存中的内容,将之前写入内存中的应用程序写到外存的固件区;步骤S7:在该固件区的文件系统目录项中添加一条指向新增应用程序的目录记录。
【技术特征摘要】
1.一种嵌入式系统交叉调试方法,其特征在于,包括以下步骤:步骤S1:上电启动,加载运行操作系统;步骤S2:判断是否有接收到进入“更新程序”的触发命令,若是,则进入步骤S3;步骤S3:操作系统加载程序更新模块及外存对应的驱动程序,并运行该模块程序,接管CPU控制权;步骤S4:利用JTAG下载修改后的应用程序到内存;步骤S5:利用JTAG写入应用程序名称、写入内存的起始地址、应用程序大小三个信息到预定内存地址;步骤S6:当程序更新模块监控到所述预定内存发生变化后,解析该预定内存中的内容,将之前写入内存中的应用程序写到外存的固件区;步骤S7:在该固件区的文件系统目录项中添加一条指向新增应用程序的目录记录。2.根据权利要求1所述嵌入式系统交叉调试方法,其特征在于:还包括步骤S8:通过LED灯提示更新结束,并执行系统重启。3.根据权利要求1所述嵌入式系统交叉调试方法,其特征在于:在步骤S2中,当判断没有接收到进入“更新程序”的触发命令时,执行以下步骤:步骤S9:进入正常的应用加载状态,从外存固件区的文件系统目录项末尾开始往前检索对应的应用目录项;最先检索到的目录项即是最新的应用程序对应的目录项;步骤S10:通过最新目录项加载最新的...
【专利技术属性】
技术研发人员:黄鑫,吴跃前,薛云,王德明,朱衡德,
申请(专利权)人:华南师范大学,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。