[发明专利]基于GPIO信号实现系统启动调试的方法、系统、设备和介质在审
申请号: | 202211201410.3 | 申请日: | 2022-09-29 |
公开(公告)号: | CN115617657A | 公开(公告)日: | 2023-01-17 |
发明(设计)人: | 柯思怡 | 申请(专利权)人: | 广州芯德通信科技股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F11/32 |
代理公司: | 广州容大知识产权代理事务所(普通合伙) 44326 | 代理人: | 杨艳 |
地址: | 510000 广东省广州市广州高新*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 gpio 信号 实现 系统启动 调试 方法 系统 设备 介质 | ||
本公开涉及系统调试领域,具体涉及基于GPIO信号实现系统启动调试的方法、系统、设备和介质,所述方法包括如下步骤:初始化GPIO并使得与所述GPIO连接的系统灯闪烁;在系统启动过程中的每个初始化模块调用所述系统灯,如果所述系统灯闪烁,表示所述初始化模块的初始化正常;如果所述初始化模块初始化失败后,会清除初始化GPIO时使得系统灯闪烁的调用而使得系统灯停止闪烁;在确认初始化模块初始化失败后,并进入初始化失败的初始化模块中进行行代码调试,利用系统灯闪烁的次数来定位行代码异常位置。本公开可以极大节省问题定位时间,最重要的是方法简易,不需要复杂的测量仪器就能准确地定位问题,提高开发效率。
技术领域
本公开涉及系统调试领域,具体涉及基于GPIO信号实现系统启动调试的方法、系统、设备和介质。
背景技术
在嵌入式系统项目初期,在嵌入式系统系统启动时,有可能出现开发板启动后无任何串口打印。由于系统的串口还没有开始初始化,串口无法正常工作,还没有串口输出。此时,对于开发者来说无法用串口输出来调试,也就无法知道系统运行到哪里。开发人员最常用的办法是用JTAG调试工具,或者示波器测量硬件的一些特殊信号来定位问题,但是这些方法用起来效率比较慢,且不能有效的定位到具体初始化异常的地方,且需要相关仪器,成本较高。
发明内容
本公开涉及基于GPIO信号实现系统启动调试的方法、系统、设备和介质,利用GPIO点系统灯的方式,通过闪烁次数,快速定位嵌入式系统启动失败问题。为解决上述技术问题,本公开提供如下技术方案:
作为本公开实施例的一个方面,提供一种基于GPIO信号实现系统启动调试的方法,包括如下步骤:
初始化GPIO并使得与所述GPIO连接的系统灯闪烁;
在系统启动过程中的每个初始化模块调用所述系统灯,如果所述系统灯闪烁,表示所述初始化模块的初始化正常;
如果所述初始化模块初始化失败后,会清除初始化GPIO时使得系统灯闪烁的调用而使得系统灯停止闪烁;
在确认初始化模块初始化失败后,并进入初始化失败的初始化模块中进行行代码调试,利用系统灯闪烁的次数来定位行代码异常位置。
较佳地,使得与所述GPIO连接的系统灯闪烁的方式包括如下:设置GPIO为输出方向,先设置输出高电平,再输出低电平。
较佳地,如果行代码异常位置为函数,则会清除初始化GPIO时使得系统灯闪烁的调用而使得系统灯停止闪烁,并进入所述函数内继续进行行代码调试并利用系统灯闪烁的次数来定位行代码异常位置,直至定位到最终使得初始化失败的行代码。
较佳地,在利用系统灯闪烁的次数来定位行代码异常位置之后,还包括如下步骤:根据异常位置的行代码情况进行修改,并重新进行系统启动调试。
较佳地,每个初试化模块调用一次系统灯闪烁。
较佳地,所述系统为uboot引导的嵌入式操作系统。
作为本公开实施例的另一个方面,提供一种基于GPIO信号实现系统启动调试的系统,包括:
系统灯;
嵌入式系统模块,通过GPIO连接所述系统灯,并用于实现:
初始化GPIO并使得与所述GPIO连接的系统灯闪烁;
在系统启动过程中的每个初始化模块调用所述系统灯,如果所述系统灯闪烁,表示所述初始化模块的初始化正常;
如果所述初始化模块初始化失败后,会清除初始化GPIO时使得系统灯闪烁的调用而使得系统灯停止闪烁;
在确认初始化模块初始化失败后,并进入初始化失败的初始化模块中进行行代码调试,利用系统灯闪烁的次数来定位行代码异常位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州芯德通信科技股份有限公司,未经广州芯德通信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211201410.3/2.html,转载请声明来源钻瓜专利网。