[发明专利]多处理器系统以及使多处理器系统的调试处理同步的方法无效
申请号: | 200780031145.6 | 申请日: | 2007-08-20 |
公开(公告)号: | CN101506777A | 公开(公告)日: | 2009-08-12 |
发明(设计)人: | 乌韦·施特伯 | 申请(专利权)人: | NXP股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京天昊联合知识产权代理有限公司 | 代理人: | 陈 源;张天舒 |
地址: | 荷兰艾*** | 国省代码: | 荷兰;NL |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 处理器 系统 以及 调试 处理 同步 方法 | ||
技术领域
本发明涉及使得多处理器系统的调试处理同步的方法和系统。
背景技术
在计算机系统的研发过程中,硬件和/或软件的调试是很复杂的工作。对于多处理器系统来说,这项工作甚至更困难和复杂。通常,在片上系统(简称为SoC)上集成了一个或多个微处理器或数字信号处理器,所述片上系统包括对诸如ROM、RAM、EEPROM之类的存储器,包括计数定时器、实时定时器、电源之类的外设,诸如USB、以太网、FireWire线缆和模拟接口之类的外部接口等的选取。当调试这样的多处理器系统时,在处理器中的一个发生故障的情况下,理想的是停止其他处理器,使得错误数据不会通过通信网络而传播。例如,当利用多个调试器来调试多个处理器时,发生了以下不同的问题:
—当调试器给出用于第一处理器的运行命令时,片上系统同步硬件检测该运行命令并且停止第一处理器直到第二处理器得到该运行命令为止。
—当用户给出RUN命令时,调试器声明(assert)STEP和RUN信号。当调试器从之前遇到的断点启动处理器时,这种操作是典型的。在片上系统内,这个顺序像是两个独立的RUN命令。通过处理器同步的简单实现,第二处理器根据第一处理器的第一步进命令而启动,并且在该步进完成之后停止,这并非想要的操作。应该避免这些“虚警”。
而且,在片上系统的主机侧上包括标准调试器,这些调试器并非设计用于多核调试,并且不知道连接到片上系统的其他处理器或调试器。当调试一个处理器时,在这样的多处理器系统中开启和停止处理器和外设期间的通常问题是,用户想检查当第一处理器遇到停止条件时第二处理器做些什么。而且,在系统被调试并且可能进入暂停时第二处理器可以改变系统的状态,同时等待来自第一处理器的响应,并且在调试失败之后再次启动。如果像DMA(直接存储器存取)控制器或定时器的外设保持运行而系统被调试,则所述外设也能改变系统的状态。因此,想要的是处理器的同步运行和停止。
在JP 2228742A1中,描述了针对多个处理器的同步调试方法。例如,在存储跟踪信息时,处理器将中断信号输出到中断信号线并将其发送到其他处理器。因此,其他处理器定时地和同时地接收该中断信号,并且同时将同步信号标志作为跟踪信息存储在它们自己的跟踪存储器中。随后,在处理器的跟踪存储器中存储和保持了同步信号标志,这些同步信号标志相对于时间彼此不存在偏移。因此,消除了处理器的执行程序的历史之间的时间延迟,并且使得这些处理器彼此同步以执行安全调试。这些同步调试方法使用了中断信号和同步信号标志以及跟踪信息,而没有处理器的同步启动和停止。
发明内容
因此,本发明的一个目的是提供一种用于使得多处理器系统的调试处理同步的方法和系统,其提供了包括使处理器彼此察觉到启动、停止和调试的同步机制。
包括本发明的特征的使得多处理器系统的调试处理同步的方法和系统解决了给出的问题。
在各个从属权利要求中给出了本发明的有利实施例。
根据本发明,给出了用于使得具有多个处理器的多处理器系统的调试处理同步的方法,包括以下步骤:
如果通过STOP信号请求用于处理器之一的调试处理,那么对其他处理器声明HALT信号直到对它们声明了用于调试请求的STOP信号为止,
对已经完成调试处理的每个处理器声明各自的HALT信号直到其他处理器已经完成它们各自的调试处理,
在取消对全部HALT信号和/或STOP信号的声明并且完成全部调试处理之后,同步启动全部处理器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于NXP股份有限公司,未经NXP股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200780031145.6/2.html,转载请声明来源钻瓜专利网。