1.一种嵌入式系统交叉调试方法,其特征在于,包括以下步骤:
步骤S1:上电启动,加载运行操作系统;
步骤S2:判断是否有接收到进入“更新程序”的触发命令,若是,则进入步骤S3;
步骤S3:操作系统加载程序更新模块及外存对应的驱动程序,并运行该模块程序,接管CPU控制权;
步骤S4:利用JTAG下载修改后的应用程序到内存;
步骤S5:利用JTAG写入应用程序名称、写入内存的起始地址、应用程序大小三个信息到预定内存地址;
步骤S6:当程序更新模块监控到所述预定内存发生变化后,解析该预定内存中的内容,将之前写入内存中的应用程序写到外存的固件区;
步骤S7:在该固件区的文件系统目录项中添加一条指向新增应用程序的目录记录。
2.根据权利要求1所述嵌入式系统交叉调试方法,其特征在于:还包括步骤S8:通过LED灯提示更新结束,并执行系统重启。
3.根据权利要求1所述嵌入式系统交叉调试方法,其特征在于:在步骤S2中,当判断没有接收到进入“更新程序”的触发命令时,执行以下步骤:
步骤S9:进入正常的应用加载状态,从外存固件区的文件系统目录项末尾开始往前检索对应的应用目录项;最先检索到的目录项即是最新的应用程序对应的目录项;
步骤S10:通过最新目录项加载最新的应用程序,并开始运行该应用程序;
步骤S11:再次启动JTAG调试,进入正常的调试状态。
4.一种嵌入式系统交叉调试装置,其特征在于,包括:
启动模块,用于加载并启动操作系统;
判断加载模块,用于判断是否有接收到进入“更新程序”的触发命令;如果收到,则进入程序更新状态,由操作系统加载程序更新模块并运行;如果没收到,则进入正常的应用加载状态。
程序更新模块,对预订内存块的内容进行监控。若监控到所述预定内存发生变化后,解析该预定内存中的内容,将之前通过JTAG写入到内存中的应用程序写到外存的固件区;
目录新增模块,用于在系统固件区的文件系统目录项中添加一条指向新增应用程序的目录记录。
5.根据权利要求4所述嵌入式系统交叉调试装置,其特征在于:还包括提醒模块,用于通过控制LED灯提示更新结束,并执行系统重启。
6.根据权利要求4所述嵌入式系统交叉调试装置,其特征在于,还包括:
检索模块,用于进入正常加载状态时,从外存系统固件区的文件系统目录项的末尾开始往前检索对应的应用目录项;最先检索到的目录项即是最新的应用程序对应的目录项。
加载模块,用于通过最新目录加载最新的应用程序,并开始运行该应用程序;
调试模块,用于启动JTAG调试,进入正常的调试状态。