CN112905395B - 一种面向异构多核/众核微处理器的自纠错启动系统 - Google Patents

一种面向异构多核/众核微处理器的自纠错启动系统 Download PDF

Info

Publication number
CN112905395B
CN112905395B CN202110268292.7A CN202110268292A CN112905395B CN 112905395 B CN112905395 B CN 112905395B CN 202110268292 A CN202110268292 A CN 202110268292A CN 112905395 B CN112905395 B CN 112905395B
Authority
CN
China
Prior art keywords
core
starting
dsp
boot
mode
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.)
Active
Application number
CN202110268292.7A
Other languages
English (en)
Other versions
CN112905395A (zh
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.)
Hunan Greatwall Galaxy Technology Co ltd
Original Assignee
Hunan Greatwall Galaxy Technology 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 Hunan Greatwall Galaxy Technology Co ltd filed Critical Hunan Greatwall Galaxy Technology Co ltd
Priority to CN202110268292.7A priority Critical patent/CN112905395B/zh
Publication of CN112905395A publication Critical patent/CN112905395A/zh
Application granted granted Critical
Publication of CN112905395B publication Critical patent/CN112905395B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明公开了一种面向异构多核/众核微处理器的自纠错启动系统,适用于含有多个/单个DSP核和多个/单个CPU核的处理器,其中DSP核包括DSP自纠错主启动核和DSP自纠错从启动核,CPU核和DSP从核作为自纠错启动系统的从核,DSP主启动核负责执行Boot主流程,并且基于EDAC模块保证Boot搬移程序的正确性;CPU核与DSP主/从核根据DSP主启动核设置的启动完成标志,判断入口地址是否有效,进而判断是否执行用户程序;Boot期间,DSP主启动核定期访问看门狗来保证处理器工作正常,否则看门狗可触发系统复位来避免软错误带来的处理器宕机问题。本发明支持多种启动方式,具有启动简便、高能效、高可靠性的优点,为面向无人平台高能效、高可靠自启动提供了一条技术路线。

Description

一种面向异构多核/众核微处理器的自纠错启动系统
技术领域
本发明主要涉及微处理器技术领域,具体地说,涉及一种面向异构多核/众核微处理器的自纠错启动系统。
背景技术
随着微电子技术的发展,片上集成能力每18个月就能够翻一番,使得原先的板级系统能够单片集成,形成所谓的片上系统(SOC),进一步拓展了微处理器的应用领域。然而,随着片上异构通用处理内核数量/种类的增加,如何设计出满足应用需求同时物理开销小的启动方法是当前异构多核/众核微处理器设计中的一个难点。
目前相关的方法有,TI公司的DSP+ARM异构SOC,实现的BOOT方案使用的是将ARM为主核,DSP作为从核,由ARM核实现用户程序的引导加载,主核完成主要逻辑功能后,设置完成标志,所有的核根据完成标志,再各自跳转到各自的用户程序。该方法可实现多种启动模式,但上述方法的缺点是配置段使用复杂,启动过程耗时长,可靠性差,且物理开销大。
发明内容
有鉴于此,本发明提供一种面向异构多核/众核微处理器的自纠错启动系统,通过实现DSP+CPU多核异构SOC芯片的BOOT启动管理,并以DSP主启动核作为主启动核,DSP从核和CPU核作为从核,支持EMIF、UART、I2C、SPI、GMAC、PCIE等多种启动方式,用户可灵活选择启动方式,解决了芯片从上电复位到执行芯片外各类存储器空间的用户程序的技术问题。
本发明的一种面向异构多核/众核微处理器的自纠错启动系统,所述自纠错启动系统支持DSP和CPU多核/众核异构的SOC BOOT启动,包括多个/单个DSP核和多个/单个CPU核,所述DSP核包括DSP主启动核和DSP从核,所述CPU核和DSP从核作为所述自纠错启动系统的从核,所述DSP主启动核作为所述自纠错启动系统的主启动核,所述DSP主启动核负责执行Boot主流程,将用户程序从外部存储空间,至少加载到SOC的片内存储空间,用户程序为多个核的用户程序,遵循特定的组成格式,该组成格式约定了用户程序的搬移位置和各个核的入口地址,所述DSP主启动核解析SOC的片上固件代码RBL程序,配置用于搬移用户程序的外设接口I/O,基于外设接口I/O将用户程序搬移至片上可寻址空间,BOOT启动过程中基于EDAC模块实现用户程序检测与纠错,防止因搬移用户程序错误导致系统宕机,并根据该组用户程序,解析各个核的启动地址,设置所述CPU核和DSP从核的启动地址,所述DSP主启动核完成加载过程后,设置BOOT完成标志,跳转到指定入口地址,执行用户程序,同时,在上述BOOT启动过程中,DSP主启动核定期访问片上系统级看门狗,如果程序因软错误跑飞导致系统宕机,当达到阈值时间后,看门狗可触发系统级复位,并将系统控制寄存器DEVSTAT的最高位置1,系统退出复位后,DSP主启动核将采用备选启动方案启动;所述CPU核与DSP从核根据DSP主启动核设置启动完成标志,并判断入口地址是否非零,非零则跳转到入口地址的用户程序。
进一步地,所述BOOT支持包括非搬移模式、从级搬移模式和主机搬移模式的三种启动模式,启动模式的选择通过片外启动模式引脚设置。
进一步地,所述自纠错启动系统还包括BOOTROM模块,所述BOOTROM模块是实现BOOT的硬件逻辑部分,其挂接在片内网络上,具体包括BOOTROM存储器、程序入口和读写逻辑,以及EDAC模块,所述BOOTROM存储器存储BOOT引导程序,所述BOOT引导程序为RBL程序。
进一步地,所述DSP主启动核通过读取启动模式参数,判断选择的启动模式与设备,进而确定为非搬移模式、从级搬移模式或主机搬移模式启动模式,同时确定具体的设备以及板级参考时钟频率。
进一步地,所述自纠错启动系统还包括Boot程序,所述Boot程序分为两种,一种是非搬移模式格式,一种是搬移模式格式,其中,非搬移模式格式不需要将BOOT程序从片外搬移至片上存储,用户程序放在flash地址空间,DSP核可以直接访问并运行;搬移模式格式适用于从级搬移模式和主机搬移模式启动模式,搬移模式格式规定了各个用户程序和数据如何布局,BOOT程序在读取搬移模式格式的image时按照格式的约定,解析数据及目的地址,将数据写入到目的地址中;所述RBL程序包含纠错码机制,具体表现为:在于每4位后面增加1位校验位,当数据从片外搬移到片上的过程中出现意外翻转时,可通过硬件校验机制完成纠错。
进一步地,所述搬移模式格式包含多个段和一个结束标志,其中,多个段包括配置段、用户段和入口段,配置段为可选段。
进一步地,用于搬移用户程序的外设接口I/O包括并列设置的可寻址flash I/O、主端口I/O和从端口I/O。
进一步地,所述DSP主启动核负责执行Boot主流程的具体过程为:
S100、系统退出复位后,Boot主流程开始;
S101、CORESEL选择主启动核;
S102、判断是上电复位还是热复位,若是上电复位,开启看门狗后进入步骤S103;若是热复位,开启看门狗后进入步骤S109;
S103、判断DSP主启动核访问DEVSTAT寄存器的最高位是否为1,若是,进入步骤S105,反之,进入步骤S104;
S104、DSP主启动核访问DEVSTAT寄存器,获取启动模式配置信息,根据启动模式的不同,分别进入S105、S105’和S105”;
S105、若为非搬移模式启动模式,则设备选择可寻址flash I/O,再进入步骤S106;
S105’、若为主机搬移模式启动模式,则设备选择主端口I/O,再进入步骤S106;
S105”、若为从级搬移模式启动模式,则设备选择从端口I/O,再进入步骤S106;
S106、基于S105、S105’、S105”选择的I/O将用户程序搬移至片上存储空间;
S107、基于EDAC模块,检测、纠错搬移至片上的用户程序是否有错,如果有错,则自动纠错,保证后续程序正常运行;并将标志位至1,说明搬移工作完成;
S108、解析用户程序,初始化DSP主启动核、DSP从核和CPU核用户入口地址;
S109、判断DSP主启动核入口地址是否为0,若是,则返回重新判断;若否,则进入步骤S110;
S110、跳转到入口地址,开始执行用户程序。
进一步地,所述CPU核与DSP从核根据DSP主启动核设置启动完成标志,并判断入口地址是否非零,非零则跳转到入口地址的用户程序具体表现为:所述CPU核与DSP从核根据DSP主启动核设置启动完成标志,并判断入口地址是否为0,若是,则返回重新访问入口地址寄存器;若否,则开始执行用户程序。
进一步地,所述DSP主启动核通过coresel机制任意指定;和/或所述CPU核包括任意CISC和/或RISC指令集的中央控制器。
本发明的自纠错启动系统,支持DSP和CPU多核异构的SOC BOOT启动,以DSP核为主启动核,CPU核为从核,且CPU核优选为ARM核,而非传统使用ARM核作为主启动核,具体表现为,包括多个DSP核和多个CPU核,所述DSP核包括DSP主启动核和DSP从核,所述CPU核和DSP从核作为所述自纠错启动系统的从核,所述DSP主启动核作为所述自纠错启动系统的主启动核,所述DSP主启动核负责执行Boot主流程,将用户程序从外部存储空间,至少加载到SOC的片内存储空间,用户程序为多个核的用户程序,遵循特定的组成格式,该组成格式约定了用户程序该搬移的位置和各个核的入口地址,所述DSP主启动核解析SOC的片上固件代码RBL程序,配置用于搬移用户程序的外设接口I/O,基于外设接口I/O将用户程序搬移至片上可寻址空间,BOOT启动过程中基于EDAC模块实现用户程序检测与纠错,防止因搬移用户程序错误导致系统宕机,并根据该组用户程序,解析各个核的启动地址,设置所述CPU核和DSP从核的启动地址,所述DSP主启动核完成加载过程后,设置BOOT完成标志,所有的核根据BOOT完成标志,跳转到指定入口地址,执行用户程序,同时,在上述BOOT启动过程中,DSP主启动核定期访问片上系统级看门狗,如果程序因软错误跑飞导致系统宕机,当达到阈值时间后,看门狗可触发系统级复位,并将系统控制寄存器DEVSTAT的最高位置1,系统退出复位后,DSP主启动核将采用备选启动方案启动;所述CPU核与DSP从核根据DSP主启动核设置启动完成标志,并判断入口地址是否非零,非零则跳转到入口地址的用户程序。通过上述设置,使得芯片在启动后能根据启动模式自动选择从指定存储区引导加载用户程序,并执行用户程序,支持通过EMIF、I2C、SPI、UART、PCIe、SRIO、GMAC等多种设备BOOT模式,每种设备BOOT模式包含多种配置方式,解决了芯片从上电复位到执行芯片外各类存储器空间的用户程序的技术问题,同时,基于EDAC模块也保证了Boot搬移程序的正确性。此外,Boot期间,DSP主启动核定期访问看门狗来保证处理器工作正常,否则看门狗可触发系统复位来避免软错误带来的处理器宕机问题。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明中芯片上电后自动锁存到DEVSTAT寄存器中启动模式的具体函数说明图;
图2是本发明搬移模式格式图;
图3是本发明执行Boot主流程的流程图;
图4本发明DSP从核和CPU核的BOOT流程图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
本发明公开了一种面向异构多核/众核微处理器的自纠错启动系统,该自纠错启动系统支持DSP和CPU多核异构的SOC BOOT启动,优选地,CPU核为ARM核,但不仅限于此。上述自纠错启动系统具体包括多个/单个DSP核和多个/单个ARM核,其中,DSP核包括DSP主启动核和DSP从核,ARM核和DSP从核作为该自纠错启动系统的从核,所述DSP主启动核作为所述自纠错启动系统的主启动核,所述DSP主启动核负责执行Boot主流程,将用户程序从外部存储空间,加载到SOC的片内存储空间(片内存储空间包括L2、L3、DDR等空间),用户程序为多个核的用户程序,遵循特定的组成格式,该组成格式约定了用户程序的搬移位置和各个核的入口地址,所述DSP主启动核解析SOC的片上固件代码RBL程序,配置用于搬移用户程序的外设接口I/O,基于外设接口I/O将用户程序搬移至片上可寻址空间,BOOT启动过程中基于EDAC(Error Detection And Correction,错误检测与纠正)模块实现用户程序检测与纠错,防止因搬移用户程序错误导致系统宕机,并根据该组成格式解析用户程序,搬移数据,解析各个核的启动地址,设置所述ARM核和DSP从核的启动地址,所述DSP主启动核完成加载过程后,设置BOOT完成标志,所有的核根据BOOT完成标志,跳转到指定入口地址,执行用户程序,同时,在上述BOOT启动过程中,DSP主启动核定期访问片上系统级看门狗,如果程序因软错误跑飞导致系统宕机,当达到阈值时间后,看门狗可触发系统级复位,并将系统控制寄存器DEVSTAT的最高位置1,系统退出复位后,DSP主启动核将采用备选启动方案启动(非搬移模式启动模式);所述ARM核与DSP从核根据DSP主启动核设置启动完成标志,并判断入口地址是否非零,非零则跳转到入口地址的用户程序。优选地,上述用于搬移用户程序的外设接口I/O至少包括并列设置的可寻址flash I/O、主端口I/O和从端口I/O。
此外,作为本发明的优选实施例,所述CPU核包括任意CISC和/或RISC指令集的中央控制器。
需要说明的是,如图4所示,所述CPU核与DSP从核根据DSP主启动核设置启动完成标志,并判断入口地址是否非零,非零则跳转到入口地址的用户程序具体表现为:所述CPU核与DSP从核根据DSP主启动核设置启动完成标志,并判断入口地址是否为0,若是,则返回重新访问入口地址寄存器;若否,则开始执行用户程序。
在进一步地技术方案中,BOOT支持多种启动模式,具体包括非搬移模式、从级搬移模式和主机搬移模式三种启动模式,启动模式的选择通过片外启动模式引脚设置。优选地,该引脚设置共16位,具体表示为0~15,由芯片上电后自动锁存到DEVSTAT寄存器中,其中,0~3代表设备,4~12代表设备配置(设备工作模式),13~15代表板级参考时钟信号。中芯片上电后自动锁存到DEVSTAT寄存器中启动模式的具体函数说明图参见图1。需要说明的是,引脚设置并不仅限于此。
本发明中DSP主启动核通过读取启动模式参数,判断选择的启动模式与设备,进而确定为非搬移模式、从级搬移模式和主机搬移模式中哪一种启动模式,同时确定具体的设备以及板级参考时钟频率。
同时,为实现BOOT方案,本发明还包括BOOTROM模块,BOOTROM模块是实现BOOT方案的硬件逻辑部分,挂接在片内网络上,BOOTROM包括三个部分,即BOOTROM存储器、程序入口、读写逻辑以及EDAC模块,BOOTROM存储器存储BOOT引导程序,该BOOT引导程序为RBL程序。该RBL程序包含纠错码机制,具体表现为:在于每4位后面增加1位校验位,当数据从片外搬移到片上的过程中出现意外翻转时,可通过硬件校验机制完成纠错。此外,BOOTROM存储器程序构成要素见表1:
表1 BOOTROM存储器程序构成要素表
Figure BDA0002973165010000071
Figure BDA0002973165010000081
作为本发明的优选实施例,自纠错启动系统还包括Boot程序,所述Boot程序分为两种,一种是非搬移模式格式,一种是搬移模式格式。
非搬移模式格式不需要将BOOT程序从片外搬移至片上存储,用户程序放在flash空间,DSP核可以直接访问并运行。
搬移模式格式适用于从级搬移模式和主机搬移模式启动模式,搬移模式格式规定了各个用户程序和数据如何布局,BOOT程序在读取搬移模式格式的image时按照格式的约定,解析数据及目的地址,将数据写入到目的地址中。
搬移模式格式包含多个段和一个结束标志,即结束标志为0x00000000,即段的长度为0,不再需要读入数据。搬移模式格式一共有三种类型的段,即配置段、用户段、入口段,配置段为可选段。优选地,配置段以0xFFFFFFFF为结束标志,入口段结束标志为0x00000000,但不仅限于此。搬移模式格式如图2所示。图2中,配置段包含若干个配置程序段,具体表现为配置程序0和配置程序n,n为大于0的任意自然数,每个配置程序段优选包括32位的段字节数,32位的段地址以及多个数据;用户段包括若干用户程序段,具体表现为用户程序段0和用户程序段n;入口段即为程序入口段。需要说明的是,每个配置程序段的段字节数和段地址并不仅限于32位,还可以为8位、64位或128位等。
如图3所示,所述DSP主启动核负责执行Boot主流程的具体过程为:
S100、系统退出复位后,Boot主流程开始;
S101、CORESEL选择主启动核;
S102、判断是上电复位还是热复位,若是上电复位,开启看门狗后进入步骤S103;若是热复位,开启看门狗后进入步骤S109;
S103、判断DSP主启动核访问DEVSTAT寄存器的最高位是否为1(需要说明的是,DEVSTAT寄存器的最高位默认为0,其最高位表示为DEVSTAT[31]),若是,进入步骤S105,反之,进入步骤S104;
S104、DSP主启动核访问DEVSTAT寄存器,获取启动模式配置信息,根据启动模式的不同,分别进入S105、S105’和S105”;需要说明的是,DSP主启动核具体访问DEVSTAT寄存器最高位的前一位(即DEVSTAT[30]);
S105、若为非搬移模式启动模式,则设备选择可寻址flash I/O,再进入步骤S106;
S105’、若为主机搬移模式启动模式,则设备选择主端口I/O,再进入步骤S106;
S105”、若为从级搬移模式启动模式,则设备选择从端口I/O,再进入步骤S106;
S106、基于S105、S105’、S105”选择的I/O将用户程序搬移至片上存储空间;
S107、基于EDAC模块,检测、纠错搬移至片上的用户程序是否有错,如果有错,则自动纠错,保证后续程序正常运行;并将标志位至1,说明搬移工作完成;
S108、解析用户程序,初始化DSP主启动核、DSP从核和CPU核用户入口地址;
S109、判断DSP主启动核入口地址是否为0,若是,则返回重新判断;若否,则进入步骤S110;
S110、跳转到入口地址,开始执行用户程序。
需要说明的是,上述过程中可寻址flash I/O对应EMIF,主端口I/O对应GMAC、SRIO和PCIe,从端口I/O对应EMIF、SPIO、I2C和SPI。
综上所述,本发明的面向异构多核/众核微处理器的自纠错启动系统,支持DSP和CPU多核异构的SOC BOOT启动,使得芯片在启动后能根据启动模式自动选择从指定存储区引导加载用户程序,并执行用户程序,支持通过EMIF、I2C、SPI、UART、PCIe、SRIO、GMAC等多种设备BOOT模式,每种设备BOOT模式包含多种配置方式,解决了芯片从上电复位到执行芯片外各类存储器空间的用户程序的技术问题,同时,基于EDAC模块也保证了Boot搬移程序的正确性。此外,Boot期间,DSP主启动核定期访问看门狗来保证处理器工作正常,否则看门狗可触发系统复位来避免软错误带来的处理器宕机问题。
故此,相比现有技术,本发明具有如下优点:
1、本发明为特定应用场景(如无人微系统平台)处理器自启动提供了一种高可靠、高能效、实时性好的实现方案。
2、本发明增加入口段,具体为程序入口段,对多核处理器的每个核指定入口地址,为多核/单核同时启动、分时启动,执行多线程、多任务提供实现方案。
3、取消参数表,对参数的设置存放在设备的配置中。
4、可支持任意外设启动,从而最大化该方案的可移植性,保证方案在任意处理器上的可实现性。
5、提高了板级系统的集成度,有利于系统小型化、微型化。
6、基于EDAC模块也保证了Boot搬移程序的正确性。
7、Boot期间,通过DSP主启动核定期访问看门狗来保证处理器工作正常,进而可避免软错误带来的处理器宕机问题。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种面向异构多核/众核微处理器的自纠错启动系统,其特征在于,所述自纠错启动系统支持DSP和CPU多核/众核异构的SOC BOOT启动,包括多个/单个DSP核和多个/单个CPU核,所述DSP核包括DSP主启动核和DSP从核,所述CPU核和DSP从核作为所述自纠错启动系统的从核,所述DSP主启动核作为所述自纠错启动系统的主启动核,所述DSP主启动核负责执行Boot主流程,将用户程序从外部存储空间,至少加载到SOC的片内存储空间,用户程序为多个核的用户程序,遵循特定的组成格式,该组成格式约定了用户程序的搬移位置和各个核的入口地址,所述DSP主启动核解析SOC的片上固件代码RBL程序,配置用于搬移用户程序的外设接口I/O,基于外设接口I/O将用户程序搬移至片上可寻址空间,BOOT启动过程中基于EDAC模块实现用户程序检测与纠错,防止因搬移用户程序错误导致系统宕机,并根据该组成格式解析用户程序,解析各个核的启动地址,设置所述CPU核和DSP从核的启动地址,所述DSP主启动核完成加载过程后,设置BOOT完成标志,跳转到指定入口地址,执行用户程序,同时,在上述BOOT启动过程中,DSP主启动核定期访问片上系统级看门狗,如果程序因软错误跑飞导致系统宕机,当达到阈值时间后,看门狗可触发系统级复位,并将系统控制寄存器DEVSTAT的最高位置1,系统退出复位后,DSP主启动核将采用备选启动方案启动;所述CPU核与DSP从核根据DSP主启动核设置启动完成标志,并判断入口地址是否非零,非零则跳转到入口地址的用户程序;
所述DSP主启动核负责执行Boot主流程的具体过程为:
S100、系统退出复位后,Boot主流程开始;
S101、CORESEL选择主启动核;
S102、判断是上电复位还是热复位,若是上电复位,开启看门狗后进入步骤S103;若是热复位,开启看门狗后进入步骤S109;
S103、判断DSP主启动核访问DEVSTAT寄存器的最高位是否为1,若是,进入步骤S105,反之,进入步骤S104;
S104、DSP主启动核访问DEVSTAT寄存器,获取启动模式配置信息,根据启动模式的不同,分别进入S105、S105’和S105”;
S105、若为非搬移模式启动模式,则设备选择可寻址flash I/O,再进入步骤S106;
S105’、若为主机搬移模式启动模式,则设备选择主端口I/O,再进入步骤S106;
S105”、若为从级搬移模式启动模式,则设备选择从端口I/O,再进入步骤S106;
S106、基于S105、S105’、S105”选择的I/O将用户程序搬移至片上存储空间;
S107、基于EDAC模块,检测、纠错搬移至片上的用户程序是否有错,如果有错,则自动纠错,保证后续程序正常运行;并将标志位至1,说明搬移工作完成;
S108、解析用户程序,初始化DSP主启动核、DSP从核和CPU核用户入口地址;
S109、判断DSP主启动核入口地址是否为0,若是,则返回重新判断;若否,则进入步骤S110;
S110、跳转到入口地址,开始执行用户程序。
2.根据权利要求1所述的面向异构多核/众核微处理器的自纠错启动系统,其特征在于,所述BOOT支持包括非搬移模式、从级搬移模式和主机搬移模式的三种启动模式,启动模式的选择通过片外启动模式引脚设置。
3.根据权利要求2所述的面向异构多核/众核微处理器的自纠错启动系统,其特征在于,还包括BOOTROM模块,所述BOOTROM模块是实现BOOT的硬件逻辑部分,其挂接在片内网络上,具体包括BOOTROM存储器、程序入口和读写逻辑,以及EDAC模块,所述BOOTROM存储器存储BOOT引导程序,所述BOOT引导程序为RBL程序。
4.根据权利要求3所述的面向异构多核/众核微处理器的自纠错启动系统,其特征在于,所述DSP主启动核通过读取启动模式参数,判断选择的启动模式与设备,进而确定为非搬移模式、从级搬移模式或主机搬移模式启动模式,同时确定具体的设备以及板级参考时钟频率。
5.根据权利要求4所述的面向异构多核/众核微处理器的自纠错启动系统,其特征在于,还包括Boot程序,所述Boot程序分为两种,一种是非搬移模式格式,一种是搬移模式格式,其中,非搬移模式格式不需要将BOOT程序从片外搬移至片上存储,用户程序放在flash地址空间,DSP核可以直接访问并运行;搬移模式格式适用于从级搬移模式和主机搬移模式启动模式,搬移模式格式规定了各个用户程序和数据如何布局,BOOT程序在读取搬移模式格式的image时按照格式的约定,解析数据及目的地址,将数据写入到目的地址中;所述RBL程序包含纠错码机制,具体表现为:在于每4位后面增加1位校验位,当数据从片外搬移到片上的过程中出现意外翻转时,可通过硬件校验机制完成纠错。
6.根据权利要求5所述的面向异构多核/众核微处理器的自纠错启动系统,其特征在于,所述搬移模式格式包含多个段和一个结束标志,其中,多个段包括配置段、用户段和入口段,配置段为可选段。
7.根据权利要求6所述的面向异构多核/众核微处理器的自纠错启动系统,其特征在于,用于搬移用户程序的外设接口I/O包括并列设置的可寻址flash I/O、主端口I/O和从端口I/O。
8.根据权利要求1至7中任一项所述的面向异构多核/众核微处理器的自纠错启动系统,其特征在于,所述CPU核与DSP从核根据DSP主启动核设置启动完成标志,并判断入口地址是否非零,非零则跳转到入口地址的用户程序具体表现为:所述CPU核与DSP从核根据DSP主启动核设置启动完成标志,并判断入口地址是否为0,若是,则返回重新访问入口地址寄存器;若否,则开始执行用户程序。
9.根据权利要求1所述的面向异构多核/众核微处理器的自纠错启动系统,其特征在于,所述DSP主启动核通过coresel机制任意指定;所述CPU核包括任意CISC和/或RISC指令集的中央控制器。
CN202110268292.7A 2021-03-12 2021-03-12 一种面向异构多核/众核微处理器的自纠错启动系统 Active CN112905395B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110268292.7A CN112905395B (zh) 2021-03-12 2021-03-12 一种面向异构多核/众核微处理器的自纠错启动系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110268292.7A CN112905395B (zh) 2021-03-12 2021-03-12 一种面向异构多核/众核微处理器的自纠错启动系统

Publications (2)

Publication Number Publication Date
CN112905395A CN112905395A (zh) 2021-06-04
CN112905395B true CN112905395B (zh) 2022-08-23

Family

ID=76104930

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110268292.7A Active CN112905395B (zh) 2021-03-12 2021-03-12 一种面向异构多核/众核微处理器的自纠错启动系统

Country Status (1)

Country Link
CN (1) CN112905395B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114691594B (zh) * 2022-03-11 2023-05-23 珠海海奇半导体有限公司 一种基于非对称双核mcu设计的芯片架构及其实现方法
CN115904793B (zh) * 2023-03-02 2023-05-23 上海励驰半导体有限公司 一种基于多核异构系统的内存转存方法、系统及芯片

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112131044A (zh) * 2020-08-28 2020-12-25 山东航天电子技术研究所 一种卫星用计算机应急系统及其方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8914812B2 (en) * 2010-01-08 2014-12-16 International Business Machines Corporation Controlling operations according to another system's architecture
CN108279935A (zh) * 2016-12-30 2018-07-13 北京中科晶上科技股份有限公司 一种针对片上系统的操作系统启动引导方法
CN107656773B (zh) * 2017-09-28 2021-06-25 中国人民解放军国防科技大学 一种多核dsp启动方法
CN109213531A (zh) * 2018-09-01 2019-01-15 哈尔滨工程大学 一种基于emif16的多核dsp上电自启动的简化实现方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112131044A (zh) * 2020-08-28 2020-12-25 山东航天电子技术研究所 一种卫星用计算机应急系统及其方法

Also Published As

Publication number Publication date
CN112905395A (zh) 2021-06-04

Similar Documents

Publication Publication Date Title
CN112905395B (zh) 一种面向异构多核/众核微处理器的自纠错启动系统
KR101810822B1 (ko) 인터페이스 기반 에러 인젝션이 있는 컴퓨팅 플랫폼
RU2280272C2 (ru) Механизм обработки прерываний в компьютерных системах, поддерживающих одновременное исполнение множества потоков
CN106293832B (zh) 一种soc芯片引导启动方法及系统
US20150261544A1 (en) Embedded System Boot from a Storage Device
US6587916B2 (en) Microcomputer with built-in programmable nonvolatile memory
CN109800032B (zh) Bootrom多核加载方法及装置
CN113110859A (zh) 一种嵌入式终端远程在线开发系统
US5809330A (en) Conflict free PC in which only the I/O address of internal device is change when it is determined that the I/O address is overlap by expansion device
CN111666210A (zh) 一种芯片验证方法及装置
WO2012155439A1 (zh) 一种bios启动系统和方法
CN114047952B (zh) 用于单片机的处理器、方法、单片机和存储介质
CN111666102A (zh) 文件格式转换方法、芯片验证方法、相关装置及网络芯片
CN111857785B (zh) 一种mcu的启动方法、装置及终端设备
WO2017143513A1 (zh) 一种启动Boot的方法、CPU及单板
CN116107649A (zh) 一种d1-h应用处理器的启动方法和系统
US7519802B2 (en) System and method for configuring a computer system
CN114968299A (zh) 基于Multiboot设备固件升级及异常处理方法
US20020194540A1 (en) Method and system for non-intrusive dynamic memory mapping
US20010052114A1 (en) Data processing apparatus
CN112597503A (zh) 一种基于中断向量的固件检测方法与装置
KR101244684B1 (ko) 에러검출이 가능한 마이크로 컴퓨팅 장치 및 그의 에러검출방법
CN114637539B (zh) 一种核心安全启动平台及方法
CN116108782B (zh) 一种mcu外设控制寄存器行为模拟方法与相关装置
WO2022089505A1 (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
GR01 Patent grant
GR01 Patent grant