【技术实现步骤摘要】
基于动态加载的嵌入式多核调试系统及其调试方法
:
[0001]本专利技术属于嵌入式操作系统
,具体涉及基于动态加载的嵌入式多核调试系统及其调试方法。
技术介绍
:
[0002]嵌入式操作系统通常采用远程调试的方式,即调试器运行于宿主机的桌面操作系统之上,被调试程序运行于目标机的嵌入式操作系统之上,调试器通过目标机的调试代理控制和访问被调试程序。嵌入式系统开发工具中,最为常用的就是源代码调试,但常规调试手段在多任务操作系统下及面向多核处理器时,一方面代码级调试可能打乱原有的任务调度行为,导致调试结果与实际运行结果不一致;另一方面当程序出现死锁、内存泄露等问题时,源代码调试也不能及时定位问题。
[0003]随着多核处理器技术的发展以及动态链接技术的引入,为嵌入式开发调试带来了新的挑战。目前在多核处理器应用方面国内多核调试软件技术还不够成熟,产品化的多核调试软件较少,从国外购买现成的目标板和集成开发环境进行开发,成本较高。同时,由于嵌入式设备的资源有限,静态链接的方式往往导致磁盘浪费或内存空间不足,所以基于动态链接的编译 ...
【技术保护点】
【技术特征摘要】
1.一种基于动态加载的嵌入式多核调试系统,所述调试系统与多核处理器通信连接,其特征在于,所述多核处理器包括主核和若干个从核,所述主核与上层客户端系统进行通信连接,所述主核与从核、每个所述从核之间均通过消息队列方式进行通信连接,所述调试系统包括宿主机组件与目标机组件,所述宿主机组件基于Ecplise插件框架,其包括:远程调试插件,用于满足各类远程调试功能需求;目标机通信管理插件,用于为系统提供远程目标的通信管理及为用户提供物理链路的输入输出管理服务;调试器,用于接收远程网络断点调试指令信息并向目标机的调试代理发送调试命令;动态加载插件,用于支持待调试任务的界面部署及所述多核处理器加载反馈数据管理;所述远程调试插件与所述目标机通信管理插件通信连接;所述动态加载插件与所述调试器通信连接;所述目标机组件包括主核代理任务部和从核代理任务部;所述主核代理任务部包括分别部署于所述多核处理器主核上的主核加载器,用于完成待调试任务模块的动态部署功能;第一调试代理,用于完成调试命令的接入、服务函数的执行及调试结果的输出;监听代理,所述监听代理包括输入监听代理和输出监听代理,所述输入监听代理用于完成输入命令的接收、解析以及多核调试信息的转发;所述输出监听代理,用于完成输出信息的格式设置及转发;通信代理,所述通信代理与所述调试器通信链路;所述主核加载器的两端分别与所述监听代理、任务模块通信连接;所述第一调试代理的两端分别与所述监听代理、任务模块通信连接;所述输入监听代理与所述通信代理单向通信连接,用于接收外部输入来的指令信息;所述输出监听代理与所述通信代理完成单向通信,用于将本端调试数据信息发送给通信代理模块,完成数据输出;所述从核代理任务部包括分别部署于所述多核处理器从核上的第二调试代理,用于完成调试命令的接入、服务函数的执行及调试结果的输出;从核加载器,用于完成待调试任务模块的动态部署功能;所述主核加载器和从核加载器均运行于嵌入式操作系统之上。2.根据权利要求1所述一种基于动态加载的嵌入式多核调试系统,其特征在于,所述远程调试插件包括调试指令封装模块、符号数据管理模块、调试数据解析模块及调试数据显示模块。3.一种根据权利要求1至2任一项所述的系统的调试方法,其特征在于,所述调试方法面向标准调试器的远程调试系统,具体调试过程如下:S1)图形界面中选择待调试任务镜像文件,完成选择后,通过动态加载插件实现任务的部署;S2)完成任务部署后,保存全局符号信息,构建符号表;S3)在图形界面中选择输入待调试目标,完成选择后发送给调试管理插件;S4)调试管理控件在符号表中查询分析重定位本次调试中所需的变量、任务符号信息,
并发送至图形界面插件显示;S5)根据显示符号信息,设置静态调试参数,完成设置后将参数数据发送给调试管理插件;S6)调试管理插件将调试指令封装,并通过目标机通信管理插件将调试指令发送给目标机;S7)主核的通信代理完成与宿主机软件的通信后,主核启动输入输出监听代理,输入监听接收到调试指令后执行命令解析,将指令转发给目标处理核;S8)目标处理核的调试代理任务接收到调试指令后,调用对应命令函数完成调试数据获取,并将调试数据回发给主核;S9)主核的输出监听代理通过消息队列接收到目标处理核返回的调试数据,将调试数据按照调试协议格式封装...
【专利技术属性】
技术研发人员:常轩,舒红霞,胡舒婷,
申请(专利权)人:中船重工武汉凌久电子有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。