一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种多核SoC的板卡固件异常监测及核心数据导出方法与流程

2022-11-23 16:58:43 来源:中国专利 TAG:

一种多核soc的板卡固件异常监测及核心数据导出方法
技术领域
1.本发明涉及芯片技术领域,具体涉及一种多核soc的板卡固件异常监测及核心数据导出方法。


背景技术:

2.当前,随着片上系统soc技术的研究和应用,微电子及其应用领域正在发生着一场前所未有的变革。在soc设计中,设计者面向的不再是电路芯片,而是能实现设计功能的ip模块库。建立在ip芯核基础上的系统级芯片设计技术,使设计方法从传统的电路级设计转向系统级设计。多核soc是当前soc系统中一种典型的应用,多核也意味着多系统的存在,而任一个系统产生异常都有可能导致整个soc产生异常,如何监控异常并保留异常现场的核心数据是多核soc跟踪调试中很重要的一个功能。
3.现有的异常检测机制有的是在调试阶段通过硬件电路采样的方式进行信号捕获和分析,有的是在异常分支处打印日志以供后续分析,也有的是将异常发生的核心数据信息保存在片上的存储介质中,通过人为插入专用存储设备的方式触发核心数据的导出。第一种方式对于分析线上产品问题可行性不大,第二种通过日志分析的方式虽然可以定位部分问题,但对于板卡固件上的soc日志的导出往往需要人为干预,及时性不够好,在大量的日志中定位问题也比较困难。第三种通过人为外界设备的方式进行核心文件的导出,对于存在于服务器机箱内的板卡固件来说操作起来比较困难。
4.因此一种兼具自动监控异常、自动导出异常现场核心数据的技术亟待产生。


技术实现要素:

5.有鉴于此,本发明的目的在于提出一种多核soc的板卡固件异常监测及核心数据导出方法,基于多核soc进行板卡固件异常自动监测和核心数据导出,配合硬件看门狗电路,soc上多子系统共同喂狗,实现对各子系统异常情况的监测和通知。异常发生后通过向主机上报告警,主机端可以做一些预处理操作,避免因板卡固件的异常导致主机的异常。各子模块将各自的核心数据保存在特定的ddr区域中,在系统复位后,可以由主机进行核心数据的拉取导出进行分析。
6.基于上述目的,一方面,本发明提供了一种多核soc的板卡固件异常监测及核心数据导出方法,该方法包括以下步骤:
7.实时对板卡固件进行异常监测,异常产生后,向主机发送异常通知上报告警;
8.主机端进行预处理操作后进行应答反馈,各异常监测模块将各自的核心数据保存在特定的ddr区域中;
9.系统重新复位后,向主机端发送请求拉取核心数据,主机反馈信息数据请求,进行核心数据的拉取导出进行分析。
10.作为本发明的进一步方案,多核soc存在多个cpu并对应多个子系统,多个子系统之间进行数据交互,当其中一个系统出现故障时,soc做出响应,进行异常记录、告警,将异
常发生的现场快照信息进行转储。
11.作为本发明的进一步方案,系统为多核soc的板卡固件,板卡固件为主板上的pcie设备,与主机中间通过nvme协议进行通信。
12.作为本发明的进一步方案,多子系统监控时,采用一个硬件看门狗,对soc中多个子系统的监控,由多个子系统定时喂狗,当某一个子系统没有进行及时喂狗时则认为是系统故障。
13.作为本发明的进一步方案,当看门狗计数器溢出时,提供向主机发送告警,并存储系统核心数据,操作步骤如下:
14.某一模块未进行喂狗,看门狗溢出,产生wdt pre-warning中断通知到各个子系统;
15.一个子系统负责和主机的通信,将系统异常信息发送至主机侧,请求主机预处理;
16.主机端驱动程序做相应的预处理,返回处理成功;
17.各个子系统在对应的中断处理中完成核心数据的收集组织并保存在指定的ddr空间中;
18.wdt pre-warning产生到wdt reset中间有一个计数时间,系统复位后,从bootloader开始重新加载各个子系统;
19.在bootloader阶段检测系统复位原因,主机端从对应的ddr空间中拉取核心数据至主机侧固定路径。
20.作为本发明的进一步方案,多核soc的板卡固件异常监测及核心数据导出方法中,系统还支持各子系统主动触发或通过host端主动下发命令进行核心文件的生成和导出。
21.作为本发明的进一步方案,host端配合host端的工具主动触发,工具通过下发pcie指令到板卡固件,板卡固件接收到指令,主动将看门狗定时器配置成溢出状态产生核心数据和导出。
22.作为本发明的进一步方案,所述多核soc的板卡固件异常监测及核心数据导出方法中,使用一个硬件看门狗进行多个子系统的监控。
23.作为本发明的进一步方案,在系统异常reset前向主机发送通知,要求主机端停止与板卡固件的通信。
24.作为本发明的进一步方案,所述多核soc的板卡固件异常监测及核心数据导出方法支持在主机端主动触发核心数据的生成并导出。
25.本发明的再一方面,还提供了一种计算机可读存储介质,存储有计算机程序指令,该计算机程序指令被执行时实现上述任一项根据本发明的多核soc的板卡固件异常监测及核心数据导出方法。
26.本发明的又一方面,还提供了一种计算机设备,包括存储器和处理器,该存储器中存储有计算机程序,该计算机程序被处理器执行时执行上述任一项根据本发明的多核soc的板卡固件异常监测及核心数据导出方法。
27.本发明的另一方面,还提供了一种根据上述任一项根据本发明的多核soc的板卡固件异常监测及核心数据导出方法进行流量控制的芯片,其中所述芯片的架构中具有cpu复位向量寄存器、cpu释放控制管脚、cpu释放控制寄存器、调试接口,其中
28.所述cpu复位向量寄存器用于控制cpu释放后读取并执行的指令的地址;
29.所述cpu释放控制寄存器用于控制芯片上电时的cpu释放;
30.所述cpu释放控制管脚用于控制所述cpu释放控制寄存器的有效性;
31.所述调试接口用于读写片上ram和各寄存器以执行芯片的流量控制。
32.本发明至少具有以下有益技术效果:
33.本发明提出了一种多核soc的板卡固件异常监测及核心数据导出方法,使用一个硬件看门狗实现多个子系统的监控,节约成本实现方便;在系统异常reset前向主机发送通知,要求主机端停止与板卡固件的通信,防止板卡固件重启导致主机端异常,减少异常的扩散,提高主机端的稳定性;可以实现将核心数据自动转储到主机侧,方便分析定位问题;支持在主机端主动触发核心数据的生成并导出,有利于开发人员分析系统运行状态。
34.本技术的这些方面或其他方面在以下实施例的描述中会更加简明易懂。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
35.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
36.在图中:
37.图1示出了根据本发明的多核soc的板卡固件异常监测及核心数据导出方法的异常产生和核心导出流程图;
38.图2示出了根据本发明的多核soc的板卡固件异常监测及核心数据导出方法的系统拓扑图;
39.图3示出了根据本发明的多核soc的板卡固件异常监测及核心数据导出方法的多子系统监控示意图;
40.图4示出了根据本发明的多核soc的板卡固件异常监测及核心数据导出方法的多子系统看门狗复位逻辑图;
41.图5示出了根据本发明的多核soc的板卡固件异常监测及核心数据导出方法的看门狗自动监控多系统异常和核心收集及导出的示意图;
42.图6示出了根据本发明的多核soc的板卡固件异常监测及核心数据导出方法的多系统异常主动触发核心收集及导出的示意图
43.图7示出了根据本发明的实现多核soc的板卡固件异常监测及核心数据导出方法的计算机可读存储介质的实施例的示意图;
44.图8示出了根据本发明的实现多核soc的板卡固件异常监测及核心数据导出方法的计算机设备的实施例的硬件结构示意图;
45.图9示出了根据本发明的芯片的实施例的框架的示意图。
具体实施方式
46.为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
47.需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称的非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备固有的其他步骤或单元。
48.为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
49.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
50.附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
51.下面结合附图,对本技术的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
52.由于现有的异常检测机制有的是在调试阶段通过硬件电路采样的方式进行信号捕获和分析,有的是在异常分支处打印日志以供后续分析,也有的是将异常发生的核心数据信息保存在片上的存储介质中,通过人为插入专用存储设备的方式触发核心数据的导出。第一种方式对于分析线上产品问题可行性不大,第二种通过日志分析的方式虽然可以定位部分问题,但对于板卡固件上的soc日志的导出往往需要人为干预,及时性不够好,在大量的日志中定位问题也比较困难。第三种通过人为外界设备的方式进行核心文件的导出,对于存在于服务器机箱内的板卡固件来说操作起来比较困难。
53.鉴于此,本发明的实施例提供了一种多核soc的板卡固件异常监测及核心数据导出方法,基于多核soc进行板卡固件异常自动监测和核心数据导出,配合硬件看门狗电路,soc上多子系统共同喂狗,实现对各子系统异常情况的监测和通知。异常发生后通过向主机上报告警,主机端可以做一些预处理操作,避免因板卡固件的异常导致主机的异常。各子模块将各自的核心数据保存在特定的ddr区域中,在系统复位后,可以由主机进行核心数据的拉取导出进行分析。
54.在本发明的一些实施例中,参见图1所示,提供了一种多核soc的板卡固件异常监测及核心数据导出方法,包括以下步骤:
55.实时对板卡固件进行异常监测,异常产生后,向主机发送异常通知上报告警;
56.主机端进行预处理操作后进行应答反馈,各异常监测模块将各自的核心数据保存在特定的ddr区域中;
57.系统重新复位后,向主机端发送请求拉取核心数据,主机反馈信息数据请求,进行核心数据的拉取导出进行分析。
58.作为本发明的进一步方案,多核soc存在多个cpu并对应多个子系统,多个子系统之间进行数据交互,当其中一个系统出现故障时,soc做出响应,进行异常记录、告警,将异
常发生的现场快照信息进行转储。
59.多核soc中往往存在多个cpu,相应的可以存在多个子系统,多个子系统之间一般会存在频繁的数据交互,当其中某一个系统出现故障时,需要soc做出响应,进行异常记录、告警,更进一步的,需要将异常发生的现场快照信息进行转储,以供开发人员进行问题分析定位。
60.本发明描述的系统为多核soc的板卡固件,板卡固件为主板上的pcie设备,与主机中间通过nvme协议进行通信,其拓扑图如图2所示,系统为多核soc的板卡固件,板卡固件为主板上的pcie设备,与主机中间通过nvme协议进行通信。
61.参见图3和图4所示,多子系统监控时,采用一个硬件看门狗,对soc中多个子系统的监控,主要实现过程是由多个子系统定时喂狗。当某一个子系统没有进行及时喂狗时则认为是系统故障,这里以3个子系统的场景进行举例。
62.当看门狗计数器溢出时,提供向主机发送告警,并存储系统核心数据的功能。主要实现流程如下:
63.a)某一模块未进行喂狗,看门狗溢出,产生wdt pre-warning中断通知到各个子系统;
64.b)系统3负责和主机的通信,将系统异常信息发送至主机侧,请求主机预处理;
65.c)主机端驱动程序做相应的预处理,返回处理成功;
66.d)各个子系统在对应的中断处理中完成核心数据的收集组织并保存在指定的ddr空间中。核心数据包括寄存器、内存信息等;
67.e)wdt pre-warning产生到wdt reset中间有一个计数时间,因此上述b-d的操作需要在该计数时间内完成。计数时间到则系统复位;
68.f)系统复位后,从bootloader开始重新加载各个子系统,本系统中bootloader的功能由子系统2完成;
69.g)在bootloader阶段需要检测系统复位原因,如果是看门狗复位引起的,则在bootloader阶段需要通知主机进行核心文件的拉取;
70.h)主机端从对应的ddr空间中拉取核心数据至主机侧固定路径以供开发人员进行分析。
71.其中,看门狗自动监控多系统异常和核心收集及导出如图5所示,另外,该系统还支持各子系统主动触发或通过host端主动下发命令进行核心文件的生成和导出。该场景适用于开发人员需要对系统当前运行状态的详细和性能信息进行查看分析的情况。host端的主动触发需要配合host端的工具,工具通过下发pcie指令到板卡固件,板卡固件接收到指令,主动将看门狗定时器配置成溢出状态,接下来产生核心数据和导出的步骤同上3)的过程,参见图6所示。
72.在本实施例中,多核soc的板卡固件异常监测及核心数据导出方法中,系统还支持各子系统主动触发或通过host端主动下发命令进行核心文件的生成和导出。
73.在本实施例中,host端配合host端的工具主动触发,工具通过下发pcie指令到板卡固件,板卡固件接收到指令,主动将看门狗定时器配置成溢出状态产生核心数据和导出。
74.在本实施例中,所述多核soc的板卡固件异常监测及核心数据导出方法中,使用一个硬件看门狗进行多个子系统的监控。
75.在本实施例中,在系统异常reset前向主机发送通知,要求主机端停止与板卡固件的通信。
76.在本实施例中,所述多核soc的板卡固件异常监测及核心数据导出方法支持在主机端主动触发核心数据的生成并导出。
77.本发明采用多子系统统一喂狗的方式实现异常的监控;实现系统核心自动收集;异常时及时向主机发送通知,保证异常不扩散;异常时核心数据自动同步至主机方便问题的及时处理。
78.本发明提出的一种多核soc的板卡固件的异常监测和核心导出方法,通过统一的监测、通知和导出机制,缩小故障影响范围,保证主机端的可靠性,同时方便开发人员进行异常分析。
79.应该理解的是,上述虽然是按照某一顺序描述的,但是这些步骤并不是必然按照上述顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,本实施例的一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
80.本发明实施例的第二个方面,还提供了一种计算机可读存储介质,图7示出了根据本发明实施例提供的多核soc的板卡固件异常监测及核心数据导出方法的计算机可读存储介质的示意图。如图7所示,计算机可读存储介质300存储有计算机程序指令310,该计算机程序指令310可以被处理器执行。该计算机程序指令310被执行时实现上述任意一项实施例的方法。
81.应当理解,在相互不冲突的情况下,以上针对根据本发明的多核soc的板卡固件异常监测及核心数据导出方法阐述的所有实施方式、特征和优势同样地适用于根据本发明的多核soc的板卡固件异常监测及核心数据导出系统和存储介质。
82.本发明实施例的第三个方面,还提供了一种计算机设备400,包括存储器420和处理器410,该存储器中存储有计算机程序,该计算机程序被该处理器执行时实现上述任意一项实施例的方法,包括以下步骤:
83.实时对板卡固件进行异常监测,异常产生后,向主机发送异常通知上报告警;
84.主机端进行预处理操作后进行应答反馈,各异常监测模块将各自的核心数据保存在特定的ddr区域中;
85.系统重新复位后,向主机端发送请求拉取核心数据,主机反馈信息数据请求,进行核心数据的拉取导出进行分析。
86.如图8所示,为本发明提供的执行多核soc的板卡固件异常监测及核心数据导出方法的计算机设备的一个实施例的硬件结构示意图。以如图8所示的计算机设备400为例,在该计算机设备中包括一个处理器410以及一个存储器420,并还可以包括:输入装置430和输出装置440。处理器410、存储器420、输入装置430和输出装置440可以通过总线或者其他方式连接,图8中以通过总线连接为例。输入装置430可接收输入的数字或字符信息,以及产生与多核soc的板卡固件异常监测及核心数据导出有关的信号输入。输出装置440可包括显示屏等显示设备。
87.存储器420作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本技术实施例中的多核soc的板卡固件异常监测及核心数据导出方法对应的程序指令/模块。存储器420可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储多核soc的板卡固件异常监测及核心数据导出方法的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器420可选包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
88.处理器410通过运行存储在存储器420中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的多核soc的板卡固件异常监测及核心数据导出方法,步骤以下步骤:
89.实时对板卡固件进行异常监测,异常产生后,向主机发送异常通知上报告警;
90.主机端进行预处理操作后进行应答反馈,各异常监测模块将各自的核心数据保存在特定的ddr区域中;
91.系统重新复位后,向主机端发送请求拉取核心数据,主机反馈信息数据请求,进行核心数据的拉取导出进行分析。
92.本发明实施例的第四个方面,还提供了一种根据上述任一项根据本发明的多核soc的板卡固件异常监测及核心数据导出方法进行流量控制的芯片500。图9示出了根据本发明的芯片500的框架的示意图。如图9所示,在该实施例中,芯片500的架构中具有cpu复位向量寄存器510、cpu释放控制管脚520、cpu释放控制寄存器530、调试接口540,其中
93.所述cpu复位向量寄存器510用于控制cpu释放后读取并执行的指令的地址;
94.所述cpu释放控制寄存器520用于控制芯片500上电时的cpu释放;
95.所述cpu释放控制管脚530用于控制所述cpu释放控制寄存器520的有效性;
96.所述调试接口540用于读写片上ram和各寄存器以执行芯片的流量控制。
97.本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
98.最后需要说明的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦写可编程rom(eeprom)或快闪存储器。易失性存储器可以包括随机存取存储器(ram),该ram可以充当外部高速缓存存储器。作为例子而非限制性的,ram可以以多种形式获得,比如同步ram(dram)、动态ram(dram)、同步dram(sdram)、双数据速率sdram(ddr sdram)、增强sdram(esdram)、同步链路dram(sldram)、以及直接rambus ram(drram)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。
99.结合这里的公开所描述的各种示例性逻辑块、模块和电路可以利用被设计成用于执行这里功能的下列部件来实现或执行:通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。通用处理器可以是微处理器,但是可替换地,处理器可以是任何传统处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,例如,dsp和微处理器的组合、多个微处理器、一个或多个微处理器结合dsp和/或任何其它这种配置。
100.本发明提出了一种多核soc的板卡固件异常监测及核心数据导出方法,使用一个硬件看门狗实现多个子系统的监控,节约成本实现方便;在系统异常reset前向主机发送通知,要求主机端停止与板卡固件的通信,防止板卡固件重启导致主机端异常,减少异常的扩散,提高主机端的稳定性;可以实现将核心数据自动转储到主机侧,方便分析定位问题;支持在主机端主动触发核心数据的生成并导出,有利于开发人员分析系统运行状态。
101.以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
102.应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
103.所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献