一种多核系统调试方法和多核系统的制作方法

文档序号:6584823阅读:205来源:国知局
专利名称:一种多核系统调试方法和多核系统的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种多核系统调试方法和多核系统。
背景技术
多核技术的发展,多核多映像的运行模式已经使用很广泛。在多核应用的 AMP (Asymmetric Multi-Processing,非对称多处理)模式上,如果想对多核系统进行调试, 一般通过JTAG(Joint TestAction Group,联合测试工作组)调试器进行调试。在进行调 试的过程中,需要调试的硬件芯片上会有相应的调试管脚,通过调试管脚与JTAG调试器进 行相连。当对多核系统进行调试时,如果想对其中的某个从核(VCPU)里的某些字段进行调 试,则可以通过与JTAG调试器配套的调试软件来对系统进行调试,例如,通过在软件中设 置断点查看程序运行状态,从而一步步完成对多核系统的调试。发明人在实现本发明的过程中,发现现有技术至少存在如下缺点由于JTAG调试器需要单独购买并且调试人员需要熟悉调试软件的操作方法,因 此,增加了硬件成本和人力成本;同时,在多核系统的硬件设计过程中,还要为调试器设计 专门的调试管脚,增加了硬件设计的复杂度。

发明内容
本发明实施例提供一种多核系统调试方法和多核系统,用于不通过JTAG调试器 对多核系统进行调试。其中,一种多核系统调试方法包括如下步骤解析调试命令,获取调试命令信息;根据所述调试命令信息使得需要调试的核获取调试字符串;使得所述需要调试的核根据所述调试字符串运行调试程序;或者根据所述调试字 符串查询符号表,并根据所述符号表中相应的字段信息运行调试程序。其中,一种多核系统包括所述第一核系统还包括加载单元,第一通知单元;所述加载单元用于将所述调试字符串加载到共享存储区;所述第一通知单元用于通过中断方式或消息通知方式告知所述获取单元已将所 述调试字符串放到所述共享存储区;所述获取单元通过中断方式去所述共享存储区获取所述调试字符串,或者通过接 收消息通知后去所述共享存储区获取所述调试字符串,或者通过轮询方式定时访问所述共 享存储区获取所述调试字符串。上述技术方案中具有如下的优点通过解析调试命令,并获取调试字符串,并根据调试字符串在符号表中查找相应 的字段,来运行调试程序,可以不需要JTAG调试器,从而降低了成本以及系统硬件设计的 复杂度。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述 中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些 实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附 图获得其他的附图。图1为本发明方法实施例一种多核系统调试方法流程示意图;图2为本发明另一方法实施例一种多核系统调试方法流程示意图;图3为本发明另一方法实施例一种多核系统调试方法流程示意图;图4为本发明实施例一种多核系统结构示意图;图5为本发明实施例另一种多核系统结构示意图。
具体实施例方式为使本发明的目的、技术方案及优点更加清楚明白,以下将通过具体实施例和相 关附图,对本发明作进一步详细说明。实施例一本发明方法实施例一提供了一种多核系统调试方法,包括如下步骤S101、解析调试命令,获取调试命令信息;解析解调命令可以由主核,或者某一从核来执行,且解析调试命令的核可以和需 要调试的核为同一核,这种情况为多核调试的一种特殊情况,可以看成是对某个单核系统 进行调试,本发明实施例在此并不限定;调试命令由用户自定义编写,在系统编译过程中与其他系统文件一起编译生成, 此时,解析时可以采用相应的命令解析器(如aiell)来完成;通过解析调试命令,获取调试 命令信息,如对哪个核进行调试,调试类型(运行函数或者查看变量等),以及调试对象(如 对哪个函数或变量进行调试)等。S102、根据所述调试命令信息使得需要调试的核获取调试字符串;根据调试命令信息,已经知道需要对哪个核进行调试,因此,需要让调试的核获取 调试字符串;调试字符串中至少包括一部分调试命令信息,如包括调试对象,或者包括需要 调试核的核号和调试对象等。调试字符串的格式并不限定,但一般包括几个字段,中间用自定义的分隔符隔开 (如用空格、逗号、分号等隔开),后续可以通过从符号表中查找相应的调试字符串中相应 的字段信息来调试运行程序。让需要调试的核获取调试字符串可以通过多种方法进行,例如可以通过开辟一块共享存储区,当需要传递调试字符串时,先把调试字符串放到 该共享存储区,然后通过中断方式通知需要调试的核共享存储区中有相应的调试字符串, 需要调试的核通过中断程序到共享存储区获取调试字符串;或者,可以通过开辟一块当需要传递调试字符串时,先把调试字符串放到该共享存储 区,然后通过消息通信机制通知需要调试共享存储区中有相应的调试字符串,需要调试的核知道后到共享存储区获取调试字符串;当采用消息通信机制时,也可以直接在消息体中把相应的调试字符串发送给需要 调试的核,当需要调试的核收到消息后可以从消息体中获取调试字符串。或者,可以将调试字符串放共享存储区,需要调试的核使用轮询的方式定时访问共享存 储区,从而获取调试字符串;或者也可以使用其他方式让需要调试的核获取调试字符串,在此并不限定。需要说明的是,当解析调试命令的核和需要调试的核可以为同一个核,此时,可以 不通过以上通知方式,解析调试命令的核直接将字符串发送给需要调试的核即可。S103、使得所述需要调试的核根据所述调试字符串运行调试程序;或者根据所述 调试字符串查询符号表,并根据所述符号表中相应的字段信息运行调试程序。对于某一些调试字符串(例如给出具体变量地址的调试字符串),需要调试的核 可以直接根据这些调试字符串运行调试程序;对于另一些调试字符串,需要查询符号表后再运行调试程序。这里的符号表中包 括程序运行所需的函数、变量等信息,包括函数名和/或变量名,函数地址和/或变量地址; 其中,函数名可以为调试字符串里的一个字段信息,如果想调试运行某个函数,可以根据调 试字符串里的函数名这个字段在符号表里找到相应的函数名,并得到该函数的地址,从而 调试运行该函数。调试结果可以通过各种通信接口输出,当多个核共用一个通信接口时,通过拥有 控制权的核进行代理打印输出;或者,将所述通信接口的控制权转移给需要进行打印输出 的核。实际应用中,通常使用串口进行打印输出,多核系统在硬件设计的过程中由于管 脚的限制,一般只留一个串口,因此,通过串口进行数据输出时,多个核需要共用该串口进 行数据输出,同时,在某一时刻,只能由其中一个核拥有该串口的控制权,其他核如果想要 进行串口数据输出,可以让这个拥有串口控制权的核来代理打印输出,或者将这个核的控 制权转移给需要打印的核来完成串口数据输出。本发明实施例通过解析调试命令,并获取调试字符串,并根据调试字符串在符号 表中查找相应的字段,来运行调试程序,可以不需要JTAG调试器,从而降低了成本以及系 统硬件设计的复杂度。实施例二本发明实施例在基于实施例一的基础上,提供了一种多核系统调试方法,参见图 2,包括如下步骤S201、主核解析调试命令,获取调试命令信息;这里以主核接收调试命令为例来进行说明,实际应用中,也可以由某一个从核来 完成,只能该核能够解析调试命令即可;调试命令由命令解析器来完成,例如Shell命令解 析器;由于系统启动时默认先启动主核,在主核上进行命令解析的应用情况比较常见,因 此,这里以主核为例来对调试命令进行解析。调试命令并不固定,可由用户进行自定义,例如,本发明实施例中的一种实现形式 为
<命令名称 >,< 要调试的核号 >,< 调试字符串>具体的,命令名称为命令解析器能够解析的命令,在软件代码层面,可以将该命令 看成是一个函数,该函数的参数可以对应于输命令时的参数(如上面的要要调试的核号, 调试字符串等)。该函数与操作系统一起进行编译,因此,编译完后的系统可以通过命令解 析器来对该函数进行解析。以上述格式为例,要调试的核号填具体的数字,如0 (代表主核)、1 (从核1)、2 (从 核2)等;调试字符串包括几个字符,如某个函数名或变量名,以及函数的参数等。例如,一个具体的调试命令输入形式可以为MCS, 2, “ Add 1 2"假设该命令表示使用MCS命令来调试运行从核2中的一个Add函数(MCS为自定 义的名字,也可以使用AA、BB等其他自定义名字,但需要能够被命令解析器解析),两个参 数分别为1和2,其中,调试字符串里的Add、l、2之间有一个空格,来将Add、l、2三个字段, 空格也可以使用逗号,分号,句号,或者其他字符来隔开。需要说明的是,上述调试命令的具体输入格式并不固定,根据对命令的不同定义 (即命令对应的函数采用不同的实现方式),想要表示上述调试命令的输入形式也可以使 用类似MCS,“ 2Add 12〃 ;或MCS,“ Add 1 2",2 ;或MCS, “ Add 12 2〃 ;或MCS, ‘‘ 1 2 Add 2";等形式;即各个命令参数(相当于〈要调试的核号〉和〈调试字符串 >)位置并不固定,且 调试字符串里也可以加上要调试的核号,只要调试命令可以解析即可。此外,如果仅仅想查看某个变量值,则命令可以采用如下形式MC, “ 1234〃 ;或 MC,“ * 地址〃;或 MC,“ &变量名〃;或 MC,“ * 指针名〃 等方式来对变量进行查看;其中,MC也为自定义的一个命令名,实际使用中用户也完全可以使用ABC、DEF等 命令名;命令中双引号里字符串信息可以为用数字表示的地址,或者用符号‘‘*”表示取地 址的内容,或者用符号“&”表示取变量的地址,或者用符号“*”表示取用指针名表示的地址寸。采用上述这些符号是因为其命名风格与C语言中的保持一致,使得可读性更强; 在实际使用中,完成可以使用诸如MC,“ read 1234"等方式进行表示,只要该命令能够 被命令解析器进行解析,如命令解析器解析该命令时,读取到read字符串后知道这个命令 用于读地址为0xl234(或10进制的1234,可自定义)的变量内容。通过对调试命令解析,主核可以获取相关的调试命令信息,如需要对哪个核进行 调试,调试类型(如运行函数,或者查看变量等),以及具体的调试对象(如某个函数,某个 变量)等。S202、主核根据调试命令信息将调试字符串放入共享存储区;共享存储区为所有核都能访问的一块存储区,其具体实现形式不限,如可以是系统内存,或外部存储器等。为了对存储区的管理更加方便,还可以将共享存储区分为几块,如从核1的共享 存储区,从核2的共享存储区,等等。主核解析完命令后将调试字符串放入该共享存储区,例如,将调试字符串"Add 1 2"放入共享存储区。S203、主核通知从核去共享存储区获取调试字符串;通知的方式可以采用中断或发送消息的方式;当采用中断方式时,主核通过触发一个硬件中断(如通过相应函数改写中断寄存 器的值),让需要调试的从核调用执行中断处理函数,在中断处理函数中去共享存储区获取 调试字符串;当采用发送消息的方式时(如FMN消息或者POW消息),通过发送消息的函数发送 消息,通知从核去共享存储区获取调试字符串。S204、从核收到主核通知后,去共享存储区获取调试字符串;获取调试字符串后,可以将该调试串保存起来,如保存到某个变量。这里需要说明的是,上述步骤S202、S203、S204最终要实现的目的是让从核获取 调试字符串,除了用上述方法外,也可以采用其他方法,例如可以将调试字符串放在共享存储区,从核使用轮询的方式定时访问该共享存储 区,从而获取调试字符串;当采用消息通信机制时,也可以直接在消息体中把相应的调试字符串发送给需要 调试的从核,当需要调试的从核收到消息后可以从消息体中获取调试字符串。或者,使用其他方式让从核获取调试字符串。S205A、从核根据调试字符串运行调试程序;后续执行步骤S207 ;如果主核解析调试命令后,解析出来的调试字符串为诸如〃 1234〃,“ ^pointer abc"之类用于表示某些地址的信息,则从核可以直接通过这些调试字符串来运行调试程 序(如读该地址的内容,修改该地址的内容等)。S205B、根据调试字符串去符号表中查找相应的字段;此步骤为与S205A并列的分支,即对于一些调试命令可以执行步骤S205A,对于另 一些调试命令,需要执行步骤S205B以及后续其他步骤,后续步骤中结尾有“B”的表示该步 骤基于步骤S205B进行的;有些命令主核解析后并不能直接运行调试程序,此时需要去符号表中查找与调试 字符串对应的字段。这里的符号表中为从核代码运行所需的函数、变量的一个集合表,可以 将符号表看成代码运行的一个索引信息表,可以通过这些信息来运行调试程序。符号表的生成方法及最终格式并不唯一,可以根据不同操作系统来具体实现,例 如,以VxWorks操作系统为例,符号表的生成方法可以包括如下步骤1)将从核的代码编译成目标文件(如aa. ο文件);2)使用tcl脚本编译器运行tclsh*. tcl命令,把目标文件aa. ο生成一个符号表 文件,如 symTbl. c ;这里的*. tcl为一个脚本文件(符号“*”表示文件名),其功能是将目标文件生 成符号表文件。具体的,可以先将目标文件进行反汇编,提取里面的函数名,函数地址,变量名,变量地址等信息,然后对这些信息按某种特定的形式进行输出到符号表文件。需要说明的是,生成符号表的方式并不唯一,如果有其他方式也可以提取相关函 数名,函数地址,变量名,变量地址等信息,也可以通过这种方式将这些信息输出到符号表 文件;符号表文件最终的输出格式也不限定,只要从核可以读取即可。一个具体的符号表文件可以包括以下信息SYMBOL standTbl[781]={Il......{{NULL},“ Add",(char*)0x12345678,0,0,SYM_GL0BAL|SYM_TEXT},//
一个加法函数
TEXT},

BSS},
{{NULL},“ Subtract “,(char*)0x3211678,0,0,SYM_GL0BAL|SYM_ 个减法函数
{{NULL}, “ Varl“ , (char*)&Varl,0x00000004,0,0, SYM_GL0BAL|SYM_
}
其中,standTbl是
个结构体数据,里面包含多个以{{NULL},"Add 〃, (char*)0x12345678,0,0,SYM_GL0BAL SYM_TEXT}为例,该条记录中包括双引号里的函数名(如Add)以及函数名后面的函数地址(如 (char*)0xl2345678),此外,还可以添加函数或变量的属性字段,或其他需要知道的属性 (如变量占用空间大小,自定义的其他值)。同理,{{NULL}," Varl “,(char*) &Varl,0x00000004,0,0,SYM_GLOBALSYM_BSS}, 记录了一个变量的信息;该变量名为Varl,变量地址为(char*)&Varl,其他参数为附加的一些信息,可以 根据实际需求进行添加。当从核获取调试字符串时,可以根据调试字符串去符号表中查找相应的字段,如 输入命令为MCS,2,丨‘Add 1 2〃,表示需要执行Add函数,则解析完之后的主核知道要让 从核2来运行调试Add函数,两个参数为1和2;然后主核让从核获取调试字符串〃 Add 1 2"(具体方式可参考步骤S202到S204);从核获取"Addl2"后,先根据在符号表中查找 到 Add 的相关信息,如{{NULL},“ Add",(char*)0x12345678,0,0,SYM_GL0BAL SYM_ TEXT},这一条信息。S206B、根据查找到的字段运行调试程序;通过在符号表中查找到相关字段,如找到函数名,然后根据函数名找到函数 地址,即可以执行该函数;例如,继续以步骤S205B中的Add函数为例,可以先找到 {{NULL},“ Add",(char*) 0x12345678,0,0,SYM_GL0BAL | SYM_TEXT},这一条信息,然后找 到Add函数后面对应的地址为(char*) 0x12345678,找到函数地址后即可以执行该函数,参 数可以使用调试字符里的1和2,如果函数没有参数,则可以不使用参数。同理,想要查看或修改某变量时,也可以采用上述类似的方法先找到变量名,然后找到变量的地址,从而实现对变量的查看或修改。S206、将调试结果通过串口进行输出;串口是一种比较常见的数据通信方式,因此,本发明实施例中使用串口对调试结 果进行输出。由于多核系统在硬件设计的过程中受管脚的限制,一般只留一个串口,因此,通过 串口进行数据输出时,多个核需要共用该串口进行数据输出,同时,在某一时刻,只能由其 中一个核拥有该串口的控制权,其他核如果想要进行串口数据输出,可以让这个拥有串口 控制权的核来代理打印输出,或者将这个核的控制权转移给需要打印的核来完成串口数据 输出。需要说明的是,如果不使用串口,也可以使用其他接口(如USB、I2C等)实现调试 结果的输出,在些并不限定,当多个核共同使用某一接口时,也可以采用代理打印或转移控 制权的方法来对调试结果进行输出。参见图3,为本发明实施例多核系统的一个调试流程示意图,该流程以主核接收调 试命令,对从核2查看变量abc为例来进行说明,包括如下步骤S211、主核接收并解析调试命令MC,2,“ abc “,获取调试命令信息;S212、主核将调试字符串〃 abc"放入共享存储区;S213、主核通过发送消息告知从核2共享存储区已经有调试字符串;S214、从核从共享存储区获取调试字符串;S215、从核根据获取的调试字符串去符号表查找相应的字段;S216、根据查找到的相应字段找到变量地址并查看变量值;S217、将得到的值发给主核(假设调试串口控制权为主核,采用由主核代理打印 的方式);S218、主核将得到的值打印输出。本发明实施例通过解析调试命令,并获取调试字符串,并根据调试字符串在符号 表中查找相应的字段,来运行调试程序,可以不需要JTAG调试器,从而降低了成本以及系 统硬件设计的复杂度。实施例三本发明实施例提供了一种多核系统,包括第一核系统31,第二核系统32 ;所述第一核系统31包括命令解析单元311,用于解析调试命令,获取调试命令信息;
所述第二核系统32包括获取单元321,用于根据所述调试命令信息获取调试字符串;调试单元322,用于根据所述调试字符串运行调试程序;或者根据所述调试字符 串查询符号表,并根据所述符号表中相应的字段信息运行调试程序。上述第一核系统和第二核系统在实际应用中可以是不同的核系统,也可以是相同 的核系统,当两者相同时,可以将其看成一种特殊的应用情景,或者可以将其看成一种单 核。其中,命令解析单元包括命令解析器,用于完成对调试命令的解析;调试命令信息包括需要调试核的核号,调试类型(如运行函数或查看变量等),调试对象(某个函数或 变量);上述调试字符串中至少包括一部分调试命令信息,如包括调试对象,或者包括需 要调试核的核号和调试对象等。上述调试字符串可以看成是调试命令的某个参数,调试命令的具体实现形式并不 固定,在编译阶段和系统其他文件一起编译,且可以被命令解析器解析。其中,第二核系统获取调试字符串的方法有多种,参见图4,当所述第一核系统和 所述第二核系统为不同核系统时,所述第一核系统还包括加载单元312,第一通知单元313 ;所述加载单元用于将所述调试字符串加载到共享存储区;所述第一通知单元用于通过中断方式或消息通知方式告知所述获取单元已将所 述调试字符串放到所述共享存储区;所述获取单元通过中断方式去所述共享存储区获取所述调试字符串,或者通过接 收消息通知后去所述共享存储区获取所述调试字符串,或者通过轮询方式定时访问所述共 享存储区获取所述调试字符串。此外,第二核系统也可以通过消息通知方式直接接收第一核系统发送的带有调试 字符串的消息参见图5,当所述第一核系统和所述第二核系统为不同核系统或同一核系统时,所 述第一核系统还包括第二通知单元314,当所述第一核系统和所述第二核系统为不同核系 统时,所述第二通知单元用于通过消息通知方式将所述调试字符串封装到消息中,发送给 所述获取单元;当所述第一核系统和所述第二核系统为同一核系统时,将所述调试字符串 直接发送给所述获取单元。所述获取单元根据收到的消息获取所述调试字符串。所述调试单元在获取调试字符串后,对于一部分调试字符串信息,可以直接运行 调试程序,例如,如果想查看某个地址的内容,调试字符串为一些地址信息,则可以通过调 试字符串信息直接运行调试程序查看该地址值。对于另一部分调试字符串,需要查找符号表来运行调试程序,符号表在调试之前 生成,其中包含有多个字段信息,包括所述调试对象的名称以及对应的地址信息;第二核系 统的调试单元先查找调试字符串中的某个字段在符号表中的对应的字段位置,然后根据该 字段找到其对应的地址,从而根据该地址运行调试程序。具体方法可以参见实施例二中的 相关步骤。所述第二核系统还包括输出单元323,用于将调试结果输出给拥有通信接口控制 权的核系统进行打印;可以通过自己拥有通信接口控制权或者利用其他核系统进行代理打 印输出。本发明实施例通过解析调试命令,并获取调试字符串,并根据调试字符串在符号 表中查找相应的字段,来运行调试程序,可以不需要JTAG调试器,从而降低了成本以及系 统硬件设计的复杂度。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以 通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁 碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random Access Memory, RAM)等。 上列较佳实施例,对本发明的目的、技术方案和优点进行了进一步详细说明,所应 理解的是,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精 神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种多核系统调试方法,其特征在于,包括如下步骤 解析调试命令,获取调试命令信息;根据所述调试命令信息使得需要调试的核获取调试字符串;使得所述需要调试的核根据所述调试字符串运行调试程序;或者根据所述调试字符串 查询符号表,并根据所述符号表中相应的字段信息运行调试程序。
2.如权利要求1所述的多核系统调试方法,其特征在于 通过命令解析器完成所述调试命令的解析;所述调试命令信息包括需要调试的核的核号,调试类型,调试对象; 所述调试字符串至少包括一部分调试命令信息。
3.如权利要求1所述的多核系统调试方法,其特征在于所述根据所述调试命令信息使得需要调试的核获取调试字符串的步骤包括 当所述需要调试的核与解析调试命令的核为同一核时,将所述调试字符串发送给所述 需要调试的核;当所述需要调试的核与解析调试命令的核不是同一核时,将所述调试字符串放到共享 存储区,通过中断方式或者消息通知方式告知所述需要调试的核已将所述调试字符串放到 共享存储区,使得所述需要调试的核通过中断函数或收到消息后去所述共享存储区获取所 述调试字符串;或者,将所述调试字符串放到共享存储区,所述需要调试的核通过轮询方式访问所述共享存 储区,获取所述调试字符串;或者通过消息通知方式将所述调试字符串封装到消息中,使得所述需要调试的核根据收到 的消息获取所述调试字符串。
4.如权利要求2所述的多核系统调试方法,其特征在于所述符号表中的字段信息包括所述调试对象的名称以及对应的地址信息;使得所述需 要调试的核根据所述地址信息运行调试程序。
5.如权利要求1所述的多核系统调试方法,其特征在于,还包括 将调试的结果通过通信接口进行打印输出;当多个核共用一个通信接口时,通过拥有控制权的核进行代理打印输出;或者,将所述 通信接口的控制权转移给需要进行打印输出的核。
6.一种多核系统,其特征在于,包括 第一核系统,第二核系统;所述第一核系统包括命令解析单元,用于解析调试命令,获取调试命令信息; 所述第二核系统包括获取单元,用于根据所述调试命令信息获取调试字符串;调试单元,用于根据所述调试字符串运行调试程序;或者根据所述调试字符串查询符 号表,并根据所述符号表中相应的字段信息运行调试程序。
7.如权利要求6所述的多核系统,其特征在于所述命令解析单元包括命令解析器,用于完成所述调试命令的解析; 所述调试命令信息包括需要调试的核的核号,调试类型,调试对象;所述调试字符串至少包括一部分调试命令信息。
8.如权利要求6所述的多核系统,其特征在于当所述第一核系统和所述第二核系统为不同核系统时,所述第一核系统还包括加载 单元,第一通知单元;所述加载单元用于将所述调试字符串加载到共享存储区;所述第一通知单元用于通过中断方式或消息通知方式告知所述获取单元已将所述调 试字符串放到所述共享存储区;所述获取单元通过中断方式去所述共享存储区获取所述调试字符串,或者通过接收消 息通知后去所述共享存储区获取所述调试字符串,或者通过轮询方式定时访问所述共享存 储区获取所述调试字符串;或者,当所述第一核系统和所述第二核系统为不同核系统或同一核系统时,所述第一 核系统还包括第二通知单元,用于当所述第一核系统和所述第二核系统为不同核系统时, 通过消息通知方式将所述调试字符串封装到消息中,发送给所述获取单元;或者当所述第 一核系统和所述第二核系统为同一核系统时,将所述调试字符串直接发送给所述获取单元。
9.如权利要求6所述的多核系统,其特征在于所述符号表中的字段信息包括所述调试对象的名称以及对应的地址信息;使得所述需 要调试的核根据所述地址信息运行调试程序。
10.如权利要求6所述的多核系统,其特征在于 所述第二核系统还包括输出单元,用于将调试结果输出给拥有通信接口控制权的核系统进行打印。
全文摘要
本发明实施例公开了一种多核系统调试方法和多核系统,其中,所述多核系统调试方法包括解析调试命令,获取调试命令信息;根据所述调试命令信息使得需要调试的核获取调试字符串;使得所述需要调试的核根据所述调试字符串运行调试程序;或者根据所述调试字符串查询符号表,并根据所述符号表中相应的字段信息运行调试程序。本发明实施例通过解析调试命令,并获取调试字符串,并根据调试字符串在符号表中查找相应的字段,来运行调试程序,可以不需要JTAG调试器,从而降低了成本以及系统硬件设计的复杂度。
文档编号G06F11/36GK102117241SQ200910238850
公开日2011年7月6日 申请日期2009年12月30日 优先权日2009年12月30日
发明者魏海峰 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1