CN115220944A - 一种应用于多核异构处理器看门狗的控制方法 - Google Patents

一种应用于多核异构处理器看门狗的控制方法 Download PDF

Info

Publication number
CN115220944A
CN115220944A CN202210706340.0A CN202210706340A CN115220944A CN 115220944 A CN115220944 A CN 115220944A CN 202210706340 A CN202210706340 A CN 202210706340A CN 115220944 A CN115220944 A CN 115220944A
Authority
CN
China
Prior art keywords
watchdog
core
chip
virtual
feeding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210706340.0A
Other languages
English (en)
Inventor
周柯
王晓明
金庆忍
莫枝阅
丘浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Electric Power Research Institute of Guangxi Power Grid Co Ltd
Original Assignee
Electric Power Research Institute of Guangxi Power Grid Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Electric Power Research Institute of Guangxi Power Grid Co Ltd filed Critical Electric Power Research Institute of Guangxi Power Grid Co Ltd
Priority to CN202210706340.0A priority Critical patent/CN115220944A/zh
Publication of CN115220944A publication Critical patent/CN115220944A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明属于嵌入式系统控制技术领域,具体涉及一种应用于多核异构处理器看门狗的控制方法,通过主控芯片喂狗引脚连接外部看门狗芯片,以t1时间输出喂狗信号定时对外部看门狗芯片进行喂狗操作,同时外部看门狗芯片的看门狗复位信号连接主控芯片复位引脚,若是超过t2时间未对外部看门狗芯片进行喂狗操作,则外部看门狗芯片输出复位信号复位主控芯片;所述主控芯片包括2个及2个以上的核;所述t1小于t2;其中t2为外部看门狗芯片的喂狗定时时间。本发明无需外部挂接FPGA或CPLD芯片,节省成本,省去硬件电路设计及FPGA或CPLD程序、多核芯片与FPGA或CPLD交互逻辑开发,全程由主核喂狗,不涉及多核心操作同一个喂狗引脚冲突,导致程序漏洞。

Description

一种应用于多核异构处理器看门狗的控制方法
技术领域
本发明属于嵌入式系统控制技术领域,具体涉及一种应用于多核异构处理器看门狗的控制方法。
背景技术
在嵌入式系统中,由于嵌入式程序编码错误、漏洞或主控芯片受到外界电磁场的干扰,造成各种寄存器和内存的数据混乱,导致程序指针错误,不在程序区,取出错误的程序指令等,都有可能会陷入死循环,程序的正常运行被打断,由嵌入式系统无法继续正常工作,导致整个系统的陷入停滞状态,发生不可预料的后果。
看门狗,又叫 watchdog,从本质上来说就是一个定时器电路,一般有一个输入和一个输出,其中输入叫做喂狗,输出一般连接到另外一个部分的复位端,一般是连接到主控芯片。 看门狗的功能是定期的查看芯片内部的情况,一旦发生错误就向芯片发出重启信号。在嵌入式主程序的运行过程中,需在看门狗定时时间到之前对定时器进行复位,即喂狗操作。如果出现主程序死循环,不能及时喂狗,那么定时时间到后看门狗就会输出复位信号使主控芯片复位,实现重启嵌入式系统。
目前主流嵌入式系统使用看门狗定时时间为1.6s,当前裸跑的单片机运行启动快,可启动后喂狗,运行操作系统的核由于启动过程复杂,加载功能模块、读取文件等操作造成启动时间过长,如嵌入式linux系统启动普遍需要十几秒,不能及时喂狗,造成不断复位、不断重启问题,目前解决方法一般使用外部挂接FPGA(Field Programmable GateArray,现场可编程逻辑门阵列)或CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)实现,即上电初始时,FPGA或CPLD启动快,先由FPGA或CPLD固定喂狗30s,待嵌入式操作系统启动完成并运行应用程序,由应用程序接管喂狗。然而外部挂接FPGA或CPLD成本高,电路复杂,需单独开发FPGA或CPLD程序,多核芯片与FPGA或CPLD交互、控制复杂。
发明内容
为了解决上述问题,本发明提供了一种应用于多核异构处理器看门狗的控制方法,具体技术方案如下:
一种应用于多核异构处理器看门狗的控制方法,通过主控芯片喂狗引脚连接外部看门狗芯片,以t1时间输出喂狗信号定时对外部看门狗芯片进行喂狗操作,同时外部看门狗芯片的看门狗复位信号连接主控芯片复位引脚,若是超过t2时间未对外部看门狗芯片进行喂狗操作,则外部看门狗芯片输出复位信号复位主控芯片;所述主控芯片包括2个及2个以上的核;所述t1小于t2;其中t2为外部看门狗芯片的喂狗定时时间。
优选地,所述主控芯片的一个核运行linux操作系统,其他核裸跑运行。
优选地,所述喂狗操作分为2个阶段,第一阶段时长t3,所述t3大于等于linux操作系统启动的时长;
第一阶段固定由其中一个裸跑运行的核喂狗,其他核未启动,其他每个核分别启动1路虚拟看门狗,喂狗定时与外部看门狗芯片一致,为t2;
第二阶段t3时长后,所有核全部正常启动,启动虚拟看门狗的核通过核间通信方式喂狗虚拟看门狗,裸跑运行喂狗的核同时检验没路虚拟看门狗的状态,任何一个虚拟看门狗未复位,则停止喂狗外部看门狗芯片,复位整个系统。
优选地,多核正常运行过程中,启动虚拟看门狗的核对应对虚拟看门狗喂狗,裸跑运行的核的固定喂狗信号与每路虚拟看门狗的喂狗信号取与操作,输出喂狗信号给外部看门狗芯片。
优选地,所述主控芯片采用伏羲主控芯片。
优选地,所述伏羲主控芯片包含2个以上的内核,包括一个嵌入式双核CPUCK860MP,两个嵌入式CPU CK810;两个嵌入式CPU CK810分别为CK810.0核和CK810.1核,其中CK860MP核运行linux操作系统,CK810.0核、CK810.1核裸跑运行。
优选地,喂狗操作分为2个阶段,第一阶段时长t3,固定由CK810.0核喂狗,其他核未启动,CK810.1核、CK860MP核启动2路虚拟看门狗,分别为虚拟看门狗1、虚拟看门狗2,定时与外部看门狗芯片一致;
第二阶段30s后,所有核全部正常启动,CK810.1核、CK860MP核通过核间通信方式喂狗虚拟看门狗,CK810.0核同时检验虚拟看门狗1、虚拟看门狗2状态,任何一个看门狗未复位,则停止喂狗外部看门狗芯片,复位整个系统。
优选地,多核正常运行过程中,由核CK810.1核喂狗虚拟看门狗1, CK860MP核喂狗虚拟看门狗2,CK810.0核的固定喂狗信号与虚拟看门狗1、虚拟看门狗2的喂狗信号取与操作,输出喂狗信号给外部看门狗芯片。
本发明的有益效果为: 本发明无需外部挂接FPGA或CPLD芯片,节省成本,省去硬件电路设计及FPGA或CPLD程序、多核芯片与FPGA或CPLD交互逻辑开发,全程由主核喂狗,不涉及多核心操作同一个喂狗引脚冲突,导致程序漏洞。使用虚拟看门狗,定时参数与外部看门狗一致,各核心喂狗操作独立,互不干扰,同时实现了监控多个核心运行状态。若硬件设计更改,如只使用其中单核,不涉及多核系统,可直接使用外部真实看门狗芯片替代虚拟看门狗,软件无需改动。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
图1为本发明的主控芯片与外部看门狗芯片连接的原理示意图;
图2为本发明的伏羲主控芯片与外部看门狗芯片的连接原理示意图;
图3为本发明的伏羲主控芯片的运行原理图;
图4为本发明控制外部看门狗芯片的原理图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和 “包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本发明的具体实施方式提供了一种应用于多核异构处理器看门狗的控制方法,如图1所示,通过主控芯片喂狗引脚连接外部看门狗芯片,以t1时间输出喂狗信号定时对外部看门狗芯片进行喂狗操作,同时外部看门狗芯片的看门狗复位信号连接主控芯片复位引脚,若是超过t2时间未对外部看门狗芯片进行喂狗操作,则外部看门狗芯片输出复位信号复位主控芯片;所述主控芯片包括2个及2个以上的核;所述t1小于t2;其中t2为外部看门狗芯片的喂狗定时时间。
其中,主控芯片的一个核运行linux操作系统,其他核裸跑运行。
喂狗操作分为2个阶段,第一阶段时长t3,所述t3大于等于linux操作系统启动的时长;
第一阶段固定由其中一个裸跑运行的核喂狗,其他核未启动,其他每个核分别启动1路虚拟看门狗,喂狗定时与外部看门狗芯片一致,为t2;
第二阶段30s后,所有核全部正常启动,启动虚拟看门狗的核通过核间通信方式喂狗虚拟看门狗,裸跑运行喂狗的核同时检验没路虚拟看门狗的状态,任何一个虚拟看门狗未复位,则停止喂狗外部看门狗芯片,复位整个系统。
多核正常运行过程中,启动虚拟看门狗的核对应对虚拟看门狗喂狗,裸跑运行的核的固定喂狗信号与每路虚拟看门狗的喂狗信号取与操作,输出喂狗信号给外部看门狗芯片。
作为本发明另一优选的实施例,所述主控芯片采用伏羲主控芯片。所述伏羲主控芯片包含2个以上的内核,包括一个嵌入式双核CPU CK860MP,两个嵌入式CPU CK810;两个嵌入式CPU CK810分别为CK810.0核和CK810.1核,其中CK860MP核运行linux操作系统,CK810.0核、CK810.1核裸跑运行。
采用伏羲主控芯片的喂狗操作分为2个阶段,第一阶段时长t3,固定由CK810.0核喂狗,其他核未启动,CK810.1核、CK860MP核启动2路虚拟看门狗,分别为虚拟看门狗1、虚拟看门狗2,定时与外部看门狗芯片一致;
第二阶段t3时长后,所有核全部正常启动,CK810.1核、CK860MP核通过核间通信方式喂狗虚拟看门狗,CK810.0核同时检验虚拟看门狗1、虚拟看门狗2状态,任何一个看门狗未复位,则停止喂狗外部看门狗芯片,复位整个系统。
多核正常运行过程中,由核CK810.1核喂狗虚拟看门狗1, CK860MP核喂狗虚拟看门狗2,CK810.0核的固定喂狗信号与虚拟看门狗1、虚拟看门狗2的喂狗信号取与操作,输出喂狗信号给外部看门狗芯片。
在本实施例中,t2为1.6秒,t3为30秒,t1可取0.1-1.1秒,具体可选择0.5秒。
伏羲主控芯片的核间通信方式具体为:伏羲主控芯片采用多个异构处理器及用于异构处理器之间通信的MailBox,基于此硬件基础,软件可以使用AMP(asymmetric multi-processing,非对称多处理)模式。
AMP模式通过在多个异构处理器独立运行不同的操作系统或裸机程序,同时使用MailBox、共享内存等机制实现高效通信、数据同步,从而达到多核高效协同工作效果。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的实施例中,应该理解到,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元可结合为一个单元,一个单元可拆分为多个单元,或一些特征可以忽略等。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

Claims (8)

1.一种应用于多核异构处理器看门狗的控制方法,其特征在于,通过主控芯片喂狗引脚连接外部看门狗芯片,以t1时间输出喂狗信号定时对外部看门狗芯片进行喂狗操作,同时外部看门狗芯片的看门狗复位信号连接主控芯片复位引脚,若是超过t2时间未对外部看门狗芯片进行喂狗操作,则外部看门狗芯片输出复位信号复位主控芯片;所述主控芯片包括2个及2个以上的核;所述t1小于t2;其中t2为外部看门狗芯片的喂狗定时时间。
2.根据权利要求1所述的一种应用于多核异构处理器看门狗的控制方法,其特征在于,所述主控芯片的一个核运行linux操作系统,其他核裸跑运行。
3.根据权利要求2所述的一种应用于多核异构处理器看门狗的控制方法,其特征在于,所述喂狗操作分为2个阶段,第一阶段时长t3,所述t3大于等于linux操作系统启动的时长;
第一阶段固定由其中一个裸跑运行的核喂狗,其他核未启动,其他每个核分别启动1路虚拟看门狗,喂狗定时与外部看门狗芯片一致,为t2;
第二阶段30s后,所有核全部正常启动,启动虚拟看门狗的核通过核间通信方式喂狗虚拟看门狗,裸跑运行喂狗的核同时检验没路虚拟看门狗的状态,任何一个虚拟看门狗未复位,则停止喂狗外部看门狗芯片,复位整个系统。
4.根据权利要求3所述的一种应用于多核异构处理器看门狗的控制方法,其特征在于,多核正常运行过程中,启动虚拟看门狗的核对应对虚拟看门狗喂狗,裸跑运行的核的固定喂狗信号与每路虚拟看门狗的喂狗信号取与操作,输出喂狗信号给外部看门狗芯片。
5.根据权利要求2所述的一种应用于多核异构处理器看门狗的控制方法,其特征在于,所述主控芯片采用伏羲主控芯片。
6. 根据权利要求5所述的一种应用于多核异构处理器看门狗的控制方法,其特征在于,所述伏羲主控芯片包含2个以上的内核,包括一个嵌入式双核CPU CK860MP,两个嵌入式CPU CK810;两个嵌入式CPU CK810分别为CK810.0核和CK810.1核,其中CK860MP核运行linux操作系统,CK810.0核、CK810.1核裸跑运行。
7.根据权利要求6所述的一种应用于多核异构处理器看门狗的控制方法,其特征在于,喂狗操作分为2个阶段,第一阶段时长t3,固定由CK810.0核喂狗,其他核未启动,CK810.1核、CK860MP核启动2路虚拟看门狗,分别为虚拟看门狗1、虚拟看门狗2,定时与外部看门狗芯片一致;
第二阶段t3时长后,所有核全部正常启动,CK810.1核、CK860MP核通过核间通信方式喂狗虚拟看门狗,CK810.0核同时检验虚拟看门狗1、虚拟看门狗2状态,任何一个看门狗未复位,则停止喂狗外部看门狗芯片,复位整个系统。
8. 根据权利要求7所述的一种应用于多核异构处理器看门狗的控制方法,其特征在于,多核正常运行过程中,由核CK810.1核喂狗虚拟看门狗1, CK860MP核喂狗虚拟看门狗2,CK810.0核的固定喂狗信号与虚拟看门狗1、虚拟看门狗2的喂狗信号取与操作,输出喂狗信号给外部看门狗芯片。
CN202210706340.0A 2022-06-21 2022-06-21 一种应用于多核异构处理器看门狗的控制方法 Pending CN115220944A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210706340.0A CN115220944A (zh) 2022-06-21 2022-06-21 一种应用于多核异构处理器看门狗的控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210706340.0A CN115220944A (zh) 2022-06-21 2022-06-21 一种应用于多核异构处理器看门狗的控制方法

Publications (1)

Publication Number Publication Date
CN115220944A true CN115220944A (zh) 2022-10-21

Family

ID=83607065

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210706340.0A Pending CN115220944A (zh) 2022-06-21 2022-06-21 一种应用于多核异构处理器看门狗的控制方法

Country Status (1)

Country Link
CN (1) CN115220944A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116225771A (zh) * 2023-05-08 2023-06-06 上海励驰半导体有限公司 一种系统外部监控复位电路、芯片、电子设备及相关设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116225771A (zh) * 2023-05-08 2023-06-06 上海励驰半导体有限公司 一种系统外部监控复位电路、芯片、电子设备及相关设备
CN116225771B (zh) * 2023-05-08 2023-07-25 上海励驰半导体有限公司 一种系统外部监控复位电路、芯片、电子设备及相关设备

Similar Documents

Publication Publication Date Title
KR101623892B1 (ko) 분산된 멀티코어 메모리 초기화
US8200934B2 (en) Data transfer unit in multi-core processor
EP0497380B1 (en) Microcomputer having a watchdog timer
US8549258B2 (en) Configurable processing apparatus and system thereof
US7577874B2 (en) Interactive debug system for multiprocessor array
CN111913822B (zh) 一种基于amp架构的核间通信方式
US9841795B2 (en) Method for resetting an electronic device having independent device domains
CN110399034B (zh) 一种SoC系统的功耗优化方法及终端
US20150006978A1 (en) Processor system
US10915488B2 (en) Inter-processor synchronization system
CN115220944A (zh) 一种应用于多核异构处理器看门狗的控制方法
US8060778B2 (en) Processor controller, processor control method, storage medium, and external controller
US20050229035A1 (en) Method for event synchronisation, especially for processors of fault-tolerant systems
CN114355802A (zh) 一种多核并起的处理器同步调试方法
CN112416856A (zh) 一种面向多核技术的分布式可重构机载容错系统
CN111966197A (zh) 一种多路服务器系统及cpu启动数量的调节方法
CN116501343A (zh) 一种程序升级方法、电源及计算设备
JP2004302731A (ja) 情報処理装置および障害診断方法
CN109491824A (zh) 一种嵌入式操作系统的看门狗控制方法
CN112631872A (zh) 一种多核系统的异常处理方法及装置
CN114218067A (zh) 一种异构众核软件调试装置及调试方法
CN213423927U (zh) 一种主控芯片控制装置以及计算机设备
CN115016977B (zh) 一种异构多核电力芯片分级复位控制方法及系统
CA2498656A1 (en) Method for synchronizing events, particularly for processors of fault-tolerant systems
CN100375941C (zh) 计算机系统及系统重置方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination