[发明专利]一种多核MIPS平台下并行系统调试方法有效
| 申请号: | 200710304765.4 | 申请日: | 2007-12-29 |
| 公开(公告)号: | CN101470662A | 公开(公告)日: | 2009-07-01 |
| 发明(设计)人: | 刘彤;吴亚飚;张宏君 | 申请(专利权)人: | 北京天融信网络安全技术有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 信息产业部电子专利中心 | 代理人: | 梁 军 |
| 地址: | 100085北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 多核 mips 平台 并行 系统 调试 方法 | ||
技术领域
本发明涉及多核MIPS(Microprocessor without interlocked piped stages,无内部互锁流水级微处理器,或者,Million Instructions Per Second,每秒百万条指令)平台下的并行技术,尤其涉及一种多核MIPS平台下并行系统的调试方法。
背景技术
目前多核并行技术越来越普遍,多核MIPS平台已可以提供成熟的解决方案,很多大芯片公司及龙芯也提供MIPS的支持,已经成为现代的嵌入式系统主流的平台。MIPS大量应用在PDA、机顶盒、信息终端和防火墙等设备上,可以说使用多核MIPS嵌入式系统是未来嵌入式领域的发展方向。
由于多核MIPS平台上并行运行的每个CPU都会对内存、硬盘、IO设备等资源进行操作,会竞争使用互斥资源,所以对于研发产品的调试工作是非常困难的。
目前,普遍使用的调式方法是跟踪打印调试方法和Jtag调试方法。
跟踪打印调试方法是目前在研发中最常用的方法,使用这个技术的方法很难找到问题具体发生的位置,要多次进行猜测,做大量试验才可能会找到问题所在,这样会在研发进度和成本上产生很大影响.在正式发布的产品上不能有不相关的很多打印信息,不能进行后期的客户复杂环境中的问题跟踪。由于要向终端输出大量的打印信息,将很大影响程序的运行速度,所以有一些对性能要求很高的程序在产生问题的情况下不能使用跟踪打印进行调试.
在多核并发情况下有可能根本不能使用:在进行嵌入式开发时,很多情况是打印对终端直接操作(如对串口直接操作),由于是并发多核执行,会出现打印重叠以至于看不到在打印什么,因为每个核都在向终端输出。
Jtag调试方法是使用一个硬件与要调试的机器进行联接,当系统或软件出现问题时对CPU进行控制,然后可以读各个CPU的PC指针,访问堆栈的当前内容。使用Jtag方法要额外使用硬件设备,会增加成本;每个Jtag只能对一个机器进行操作,还要有一条外接线非常不方便于工作;对于CPU的PC指针跑飞的情况不能进行跟踪定位;只能在研发价段使用;通过Jtag得到的数值要经过计算和查找才会找到PC运行所在的函数;在正式发布的产品上不能使用,因此不能进行后期的客户复杂环境中的问题跟踪。
发明内容
本发明提供一种多核MIPS平台下并行系统调试方法,用以解决现有调试技术中存在的操作不便或根本无法适用的问题。
本发明方法包括:
步骤A:当运行阶段产生关键问题时,保存出现问题的现场环境,并进行复位;
步骤B:当确认是由于出现关键问题而复位的,进行关键问题处理,保存复位现场的现场环境,并重新启动设备;
步骤C:设备重新启动,当确认在设备初始化过程产生新的调试信息,保存初始化现场的现场环境。
进一步地,所述步骤A具体包括:
步骤A1:当运行阶段产生问题时,判断所述问题是否为关键问题,如果是,执行步骤A2,否则在程序中处理,并在处理后返回到正常运行状态;
步骤A2:判断是否需要保存出现问题的CPU的所有寄存器的状态,如果需要,保存该CPU的所有寄存器的状态值,并执行步骤A3,否则直接执行步骤A3;
步骤A3:按要求进行复位。
进一步地,所述步骤A1还包括:通过软件看门狗和/或硬件看门狗记录死锁信息,并将死锁信息作为关键问题,执行步骤A2。
进一步地,所述步骤A3具体包括:
调用不可屏蔽中断广播函数,当其它CPU收到不可屏蔽中断广播后,分别将PC跳到0xBFC00000处进行复位。
进一步地,所述步骤B具体包括:
步骤B1:复位后,判断是否是由于出现问题而启动,如果是一次正常的复位操作,则进入复位流程,进行整板复位;如果启动程序发现是由于出现关键问题而复位的,保存复位现场的现场环境,并标记此次复位新产生的调试信息;
步骤B2:保存现场环境后,判断仲裁复位CPU,如果该CPU就是用来复位的CPU,进行整板复位,并重新启动设备,否则永远等待仲裁CPU复位。
进一步地,所述步骤B1中,将复位现场的现场环境保存到非易失寄存器中。
进一步地,所述步骤C具体包括:
步骤C1:设备重新启动后会重新初始化所有硬件设备;
步骤C2:检查本次启动有没有生成过新的调试信息,如果有,保存所述调试信息,并正常启动,否则直接正常启动。
进一步地,所述步骤C2中,保存所述调试信息的过程具体包括:
将调试信息生成文件进行保存;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京天融信网络安全技术有限公司,未经北京天融信网络安全技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710304765.4/2.html,转载请声明来源钻瓜专利网。





