[发明专利]天熠嵌入式操作系统下一种基于代理的任务级调试方法在审
| 申请号: | 202211557343.9 | 申请日: | 2022-12-06 |
| 公开(公告)号: | CN115757183A | 公开(公告)日: | 2023-03-07 |
| 发明(设计)人: | 岳静;郭袁贾;姚蕊;洪冯;刘永胜;薛渊文 | 申请(专利权)人: | 北京计算机技术及应用研究所 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 中国兵器工业集团公司专利中心 11011 | 代理人: | 刘瑞东 |
| 地址: | 100854*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 嵌入式 操作系统 一种 基于 代理 任务 调试 方法 | ||
1.一种天熠嵌入式操作系统下一种基于代理的任务级调试方法,其特征在于,该方法包括
S1、准备好上位机运行环境:GDB调试器运行在上位机中,下载并编译对应版本以及对应架构的GDB源码,准备对应目标机架构的交叉编译器以及链接脚本文件;
S2、开发调试代理:针对天熠嵌入式操作系统和具体的目标CPU架构,在天熠操作系统上,开发定制目标机端的调试代理源码;调试代理模块包括初始化模块、命令解析执行模块以及数据传输模块;
S3、应用开发与调试阶段
S31、在上位机中通过准备好的交叉编译链以及链接脚本将已开发完成的调试代理模块以及被调试应用源码一起编译生成带’-g’选项的可执行文件,‘-g’选项表示可执行文件附带调试信息;
S32、将目标镜像文件下载至目标机上运行,等待shell启动;
S33、通过串口或者网络输入封装好的命令以初始化调试代理模块以及其他驱动,并输出字符串表示目标机等待连接;
S34、上位机编译好的GDB调试器启动,通过“target”命令连接目标机,连接成功后上位机GDB调试器处于轮询模式;
S35、通过上位机GDB调试器发送各种调试命令实现对目标程序的远程调试;
S36、输入调试命令,等待GDB调试器回复,重复循环此过程达到调试目的。
2.如权利要求1所述的天熠嵌入式操作系统下一种基于代理的任务级调试方法,其特征在于,上位机包括:GDB调试器、宿主机操作系统以及底层硬件,用户以命令行的形式或者通过集成到天熠集成开发环境以图形界面操作的方式与目标机端调试代理模块进行通信。
3.如权利要求2所述的天熠嵌入式操作系统下一种基于代理的任务级调试方法,其特征在于,目标机端包括:调试代理模块、用户程序、天熠嵌入式操作系统和底层硬件;目标机端中的调试代理模块需要根据目标架构以及天熠嵌入式操作系统特性进行实现,在选择好具体要调试的任务之后,通过上位机GDB调试器和目标机调试代理模块进行命令交互,实现任务执行流程的指令级控制,实现用户对调试任务的出错位置的追踪判断,达到调试的目的。
4.如权利要求3所述的天熠嵌入式操作系统下一种基于代理的任务级调试方法,其特征在于,依据RSP协议建立上位机与目标机的远程通信。
5.如权利要求1-4任一项所述的天熠嵌入式操作系统下一种基于代理的任务级调试方法,其特征在于,所述步骤S2中,初始化模块负责注册目标机,初始化连接宿主机GDB调试器需要的网络或者串口驱动。
6.如权利要求5所述的天熠嵌入式操作系统下一种基于代理的任务级调试方法,其特征在于,所述步骤S2中,数据传输模块负责上位机GDB调试器与目标机端调试代理模块的数据收发工作,将数据按照RSP协议要求打包,通过串口/网络双向传输。
7.如权利要求5所述的天熠嵌入式操作系统下一种基于代理的任务级调试方法,其特征在于,命令解析执行模块,解析出的命令包括执行命令和校验命令两种,解析执行模块包括:断点管理子模块、内存读写子模块、寄存器缓存子模块、中断或异常处理子模块和任务状态记录子模块。
8.如权利要求7所述的天熠嵌入式操作系统下一种基于代理的任务级调试方法,其特征在于,断点管理子模块中,插入断点的位置由用户给出,在GDB调试器上通过‘b’命令插入断点时,断点是依据用户输入的命令中给出的符号根据输入文件解析出地址address,进而分析该地址是否已有断点,并保存此地址原本的指令便于继续运行或者删除断点时恢复指令。
9.如权利要求7所述的天熠嵌入式操作系统下一种基于代理的任务级调试方法,其特征在于,中断或异常处理子模块中,该子模块触发的首要条件是在初始化模块时注册该中断或异常处理子模块,进入中断或者异常时程序上下文由硬件保存,由软件负责维护通用寄存器寄存器的值;该子模块让调试代理模块和调试任务保持同步,在中断或者异常处理中完成任务状态的改变以便进行任务的切换,最后恢复现场,退出中断或异常处理。
10.如权利要求7所述的天熠嵌入式操作系统下一种基于代理的任务级调试方法,其特征在于,任务状态记录子模块中,在设计调试代理模块时向任务插入断点,不仅要向GDB调试器报告任务停下来的位置,还要知道任务现在的状态,采用链表操作来实现调试任务状态转换记录,用户调试任务的优先级需要低于调试守护任务的优先级。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京计算机技术及应用研究所,未经北京计算机技术及应用研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211557343.9/1.html,转载请声明来源钻瓜专利网。





