【技术实现步骤摘要】
一种基于多核嵌入式系统的多级调试方法
本申请涉及计算机领域,具体涉及一种基于多核嵌入式系统的多级调试方法。
技术介绍
软件调试器帮助很多嵌入式计算机程序员找到嵌入式计算机程序中的错误。这些错误通常叫做“bugs”。最通常的bug是嵌入式计算机程序没有做它支持做的。对程序员来说,寻找bug通常是一项棘手的任务。嵌入式软件调试器能被用于确定问题原因,然而传统的嵌入式软件调试器具有能力限制,往往只能够调试一种嵌入式计算机程序,例如用户进程,又或是嵌入式系统中的用户任务。一个任务调试时,其它任务的运行不受影响(无共享资源、无同步关系)。在系统中还有系统服务程序、分区程序(满足ARINC653标准要求的嵌入式操作系统具有分区)、中断处理程序、异常处理程序等,这些程序也有调试的需求(操作系统开发人员,设备驱动开发人员需要调试这些程序,应用开发人员有时也会从了解系统的角度去调试这些程序),但是这些程序往往不能通过提供给用户的软件调试工具进行调试,只能通过硬件仿真器进行调试。硬件仿真器存在价格高,连接不方便等问题,不适合普通用户使用。
技术实现思路
本申请提供一种基于多核嵌入式系统的多级调试方法,用于找出多核嵌入式操作系统的系统程序、任务、分区程序,以便于找出程序中的bug。本申请提供一种基于多核嵌入式系统的多级调试方法,所述多核嵌入式系统包括宿主机和目标机;所述宿主机端包括调试图形界面、调试管理器、交叉调试器、目标机服务器、宿主机OS;所述目标机端包括系统级通信代理、系统级调试代理、任务级通信代 ...
【技术保护点】
1.一种基于多核嵌入式系统的多级调试方法,其特征在于,所述多核嵌入式系统包括宿主机和目标机;所述宿主机端包括调试图形界面、调试管理器、交叉调试器、目标机服务器、宿主机OS;所述目标机端包括系统级通信代理、系统级调试代理、任务级通信代理、公共调试代理、任务级调试代理、分区级调试代理;所述多级调试方法包括:/n根据预设的调试配置和目标机状态,启动宿主机和目标机的调试;/n宿主机向目标机发送指令,以便目标机进行交叉调试操作;/n如果当前调试会话的状态处于分区级调试或者任务级调试,则通过调试图形界面进行分区级调试向系统级调试切换,或者,任务级调试向系统级调试切换;/n如果当前调试会话的状态处于系统级调试,则通过调试图形界面进行系统级调试向分区级调试切换,或者,系统级调试向任务级调试切换。/n
【技术特征摘要】
1.一种基于多核嵌入式系统的多级调试方法,其特征在于,所述多核嵌入式系统包括宿主机和目标机;所述宿主机端包括调试图形界面、调试管理器、交叉调试器、目标机服务器、宿主机OS;所述目标机端包括系统级通信代理、系统级调试代理、任务级通信代理、公共调试代理、任务级调试代理、分区级调试代理;所述多级调试方法包括:
根据预设的调试配置和目标机状态,启动宿主机和目标机的调试;
宿主机向目标机发送指令,以便目标机进行交叉调试操作;
如果当前调试会话的状态处于分区级调试或者任务级调试,则通过调试图形界面进行分区级调试向系统级调试切换,或者,任务级调试向系统级调试切换;
如果当前调试会话的状态处于系统级调试,则通过调试图形界面进行系统级调试向分区级调试切换,或者,系统级调试向任务级调试切换。
2.根据权利要求1所述的多级调试方法,其特征在于,所述根据预设的调试配置和目标机状态,启动宿主机和目标机的调试,具体包括:
如果目标机服务器未连接目标机,调试图形界面控制目标机服务器与目标机建立通信连接;
调试图形界面根据当前目标机状态创建调试配置;
调试图形界面根据调试配置通过调试管理器创建调试会话;
调试图形界面通过调试管理器启动调试会话。
3.根据权利要求1所述的多级调试方法,其特征在于,所述宿主机向目标机发送指令,以便目标机进行交叉调试操作,具体包括:
调试图形界面接收用户输入的调试操作指令,进行调试相关操作;
调试图形界面通过调试控制管理将调试操作转换为单个或多个交叉调试器命令,然后逐一发送给交叉调试器;
交叉调试器处理命令,和目标机程序调试直接相关的命令将被转换为单个或多个命令发送给目标机服务器,和目标机程序调试不直接相关的命令,处理后组织回复,回复给调试控制管理;
目标机服务器再转换命令包为目标机端调试代理支持的调试控制命令,并转发到目标机端;
目标机端调试代理处理调试控制命令,并将处理结果回复到宿主机端目标机服务器;
宿主机端目标机服务器将回复结果转换为交叉调试器的回复并发送给交叉调试器;
交叉调试器所有的命令都处理完成后,将请求的执行结果组织成回复,回复给调试控制管理;
调试控制管理接收到所有回复后,将回复中解析出的调试图形界面需要的数据返回调试图形界面;
调试图形界面接收到调试控制操作的结果数据后,将操作结果信息在调试界面中图形化显示。
4.根据权利要求1所述的多级调试方法,其特征在于,通过调试图形界面进行分区级调试向系统级调试切换,或者,任务级调试向系统级调试切换,具体包括:
调试图形界面通过目标机服务器向目标机端公共调试代理任务发送调试级别切换的命令;
公共调试代理任务处理调试级别切换命令,切换到系统级调试级别,向操作系统挂接系统级调试代理的调试中断处理,然后控制继续调度运行被调试的分区/任务并且马上再次触发调试中断,使得系统进入系统级调试代理的调试...
【专利技术属性】
技术研发人员:麦先根,田丹,卫进,
申请(专利权)人:中国航空工业集团公司西安航空计算技术研究所,
类型:发明
国别省市:陕西;61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。