[发明专利]用于诊断程序运行时间异常的方法及装置、系统在审
申请号: | 202011531290.4 | 申请日: | 2020-12-22 |
公开(公告)号: | CN112667423A | 公开(公告)日: | 2021-04-16 |
发明(设计)人: | 生晨星;姚詹图;秦志 | 申请(专利权)人: | 深圳市禾望电气股份有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F11/14 |
代理公司: | 深圳市深软翰琪知识产权代理有限公司 44380 | 代理人: | 吴雅丽 |
地址: | 518000 广东省深圳市福田区沙头街道天安社区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 诊断 程序 运行 时间 异常 方法 装置 系统 | ||
本发明公开了一种用于诊断程序运行时间异常的方法及装置、系统,其中,所述方法包括:利用MCU获取预设类型数据,将获取到的所述预设类型数据与对应类型的预设阈值进行比较,所述预设类型数据包括目标代码的运行时长和/或FPGA的计数值;其中,所述FPGA与所述MCU通过外接引脚连接,所述FPGA通过计数器为MCU提供计时;所述MCU控制所述FPGA计时的开始和暂停;若比较差值大于预设差值,则输出表征异常的诊断结果。利用本发明,可提高诊断时间问题的效率,缩短了诊断时间问题方法流程,为偶发性时间问题引起的复位等现象提供了方便、可靠的诊断手段。
技术领域
本发明涉及一种用于诊断程序运行时间异常的方法及装置、系统。
背景技术
随着芯片软件功能的迭代开发,使得芯片中时间资源越来越紧张,在这种境况下,设计人员在对软件进行迭代的过程中存在人为的失误操作带来的一些隐患。
例如,在一些特定条件下才会发生的、能够增加运行时长的代码,容易躲过测试,而当条件满足时程序运行超出预想时间,导致各种问题,严重时引起芯片复位。
当前开发人员对于复位等原因的排查一般使用在某段程序开始到结束前后添加引脚变化指令,借助示波器或者逻辑分析仪观察引脚变化的时长来排查时间问题。上述方式一般一次只排查一处代码运行时长,如果要增加排查多处,则要占用多个引脚资源和示波器接口,诊断较难。
发明内容
本发明针对现有的较难对芯片复位原因进行诊断的问题,提供了一种用于诊断程序运行时间异常的方法及装置、系统。
本发明就上述技术问题而提出的技术方案如下:
第一方面,本发明提供了一种用于诊断程序运行时间异常的方法,所述方法包括:
利用MCU获取预设类型数据,将获取到的所述预设类型数据与对应类型的预设阈值进行比较,所述预设类型数据包括目标代码的运行时长和/或FPGA的计数值;其中,所述FPGA与所述MCU通过外接引脚连接,所述FPGA通过计数器为MCU提供计时;所述MCU控制所述FPGA计时的开始和暂停;
若比较差值大于预设差值,则输出表征异常的诊断结果。
根据上述用于诊断程序运行时间异常的方法,所述利用MCU获取预设类型数据,将获取到的预设类型数据与对应类型的预设阈值进行比较包括:
在上电复位时,所述FPGA自动暂停所述计数器计数;
在上电复位后,所述MCU从所述FPGA中获取监控的目标代码运行时长,所述运行时长包括中断运行时长或任务运行时长;
将所述运行时长与预设运行时长阈值进行比较。
根据上述用于诊断程序运行时间异常的方法,所述利用MCU获取预设类型数据,将获取的数据与对应的所述预设类型数据进行比较包括:
在上电复位时,所述FPGA自动暂停所述计数器计数;
在上电复位后,所述MCU获取复位时刻的计数值;
将所述计数值与预设计数阈值进行比较。
根据上述用于诊断程序运行时间异常的方法,所述利用所述MCU控制所述FPGA计时的开始和暂停包括:
在MCU执行中断任务函数,预设任务进入任务中断状态时,暂停所述预设任务对应的所述计数器的计数;
若预设任务恢复运行状态,则恢复相应所述计数器的计数,否则,不恢复相应所述计数器的计数;
所述预设任务是指MCU正在运行的需要计数器进行运行计数的任务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市禾望电气股份有限公司,未经深圳市禾望电气股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011531290.4/2.html,转载请声明来源钻瓜专利网。