CN102053849B - 分布式系统及其主系统和从系统以及代码加载方法 - Google Patents

分布式系统及其主系统和从系统以及代码加载方法 Download PDF

Info

Publication number
CN102053849B
CN102053849B CN 200910235955 CN200910235955A CN102053849B CN 102053849 B CN102053849 B CN 102053849B CN 200910235955 CN200910235955 CN 200910235955 CN 200910235955 A CN200910235955 A CN 200910235955A CN 102053849 B CN102053849 B CN 102053849B
Authority
CN
China
Prior art keywords
cpu
main
logic chip
main system
dual port
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
CN 200910235955
Other languages
English (en)
Other versions
CN102053849A (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.)
New H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies 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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN 200910235955 priority Critical patent/CN102053849B/zh
Publication of CN102053849A publication Critical patent/CN102053849A/zh
Application granted granted Critical
Publication of CN102053849B publication Critical patent/CN102053849B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种分布式系统及其主系统和从系统以及代码加载方法。本发明由主系统统一管理和维护各从系统的引导程序和应用程序、且各从系统逻辑芯片内具有用于存放本系统引导程序的双口RAM,因而使得主系统能够将各从系统的引导程序分别写入至该从系统逻辑芯片内的双口RAM,并能够在写入完毕后对该从系统CPU解除复位、以使该从系统CPU从本系统逻辑芯片内的双口RAM中加载本系统引导程序,从而通过主系统统一实现各从系统引导程序加载及初始化启动,降低系统生产和维护成本、提高系统可靠性和健壮性、减少升级和扩展所受限制、并降低系统功耗。

Description

分布式系统及其主系统和从系统以及代码加载方法
技术领域
本发明涉及代码加载技术,特别涉及一种可实现各从设备代码加载的分布式系统、一种分布式系统中可向从系统加载代码的主系统、一种分布式系统中可由主系统加载代码的从系统、以及一种分布式系统中的代码加载方法。
背景技术
分布式系统一般由一个主设备和至少一个从系统组成,各从系统与主系统分别执行特定的应用程序、并通过系统间接口通信,即可协同完成特定的功能。其中,无论是主系统还是从系统,都包含有例如PCI控制器等CPU、SDRAM等随机存储器件、FPGA/CPLD等可编程逻辑芯片、以及非易失性存储器件。
在分布式系统启动的过程中,每个从系统的CPU均先从本系统的非易失性存储器件中读取并执行用于对硬件进行基本初始化的引导程序代码,从而为后续执行应用程序做好准备,然后再从本系统的非易失性存储器件中读取、或通过PCI接口等系统间接口从主系统加载应用程序代码至本系统的随机存储器件中,最后跳转到应用程序入口地址执行应用程序代码。
参见图1,以两个从系统为例,主系统的非易失性存储器件中存储有主系统的引导程序和应用程序,还存储有从系统2的应用程序,在分布式系统上电后,主系统的CPU先后从本系统的非易失性存储器件中读取并执行本系统的引导程序和应用程序;从系统1的非易失性存储器件中则存储有从系统1的引导程序和应用程序,在分布式系统上电后,从系统1的CPU先后从本系统的非易失性存储器件中读取并执行本系统的引导程序和应用程序;从系统2的非易失性存储器件中仅存储有从系统2的引导程序,在分布式系统上电后,从系统2的CPU从本系统的非易失性存储器件中读取并执行引导程序后,再从主系统加载应用程序并执行。
然而,随着分布式系统在功能上的不断丰富,其对于运行性能、小型化、微型化、低成本、低功耗的要求也就随之提高。对于这些不断提高的要求,上述分布式系统会存在如下缺陷:
1、每个从系统都需要至少一个非易失性存储器件、并且至少需要预先在该非易失性存储器件中写入本系统的引导程序,增加了从系统的生产成本;
2、非易失性存储器件及其布线会占用较大空间,不利于系统的小型化;
3、每个从系统的引导程序和应用程序同样存在版本配套关系,因而增加了从系统的维护成本;
4、为了保证版本配套关系而手动升级从系统的引导程序时易出错,例如正在向从系统的非易失性存储器件写入引导程序时发生断电,从而易导致从系统无法正常启动;
5、从系统引导程序和应用程序的后续版本升级和业务扩展,受限于非易失性存储器件的容量;
6、从系统的非易失性存储器件在启动完成后依然上电消耗能量,增加了分布式系统的总功耗。
可见,现有的分布式系统存在成本高、可靠性低、升级和扩展受限、以及功耗大等诸多缺陷。
发明内容
有鉴于此,本发明提供了一种可实现各从设备代码加载的分布式系统、一种分布式系统中可向从系统加载代码的主系统、一种分布式系统中可由主系统加载代码的从系统、以及一种分布式系统中的代码加载方法,能够降低成本、提高可靠性、减少升级和扩展所受限制、以及降低功耗。
本发明提供的一种可实现各从设备代码加载的分布式系统,包括主系统和至少一个从系统,其中,
主系统包括主系统CPU、主系统逻辑芯片、主系统随机存储器件、以及非易失性存储器件,主系统的非易失性存储器件中存放有主系统的引导程序和应用程序、以及从系统的应用程序;
从系统包括从系统CPU、从系统逻辑芯片、以及从系统随机存储器件,从系统CPU通过系统间接口与主系统CPU相连;
从系统逻辑芯片通过系统间总线与主系统CPU相连、且从系统逻辑芯片的内部具有双口RAM,该双口RAM一端连接所述系统间总线、另一端连接其所在从系统的从系统CPU;
主系统非易失性存储器件中还存放有各从系统的引导程序;
主系统CPU,用于在分布式系统上电后从主系统的非易失性存储器件加载主系统引导程序,用以初始化主系统随机存储器件、以及所述系统间接口和所述系统间总线;在初始化完毕后,通过所述系统间总线将主系统非易失性存储器件中的各从系统的引导程序分别写入至各从系统逻辑芯片内的双口RAM;在写入完毕后,对各从系统CPU解除复位;在收到从系统CPU发送的请求应用程序的通知后,通过所述系统间接口将主系统的非易失性存储器件中的对应从系统的应用程序发送给对应从系统CPU;
从系统CPU,用于在分布式系统上电后保持复位状态;在被主系统CPU解除复位后,从其所在从系统的从系统逻辑芯片内的双口RAM加载该从系统的引导程序、用以初始化所述系统间接口以及从系统随机存储器件;在初始化完毕后,通过所述系统间接口向主系统CPU发送请求应用程序的通知,然后接收主系统CPU发送的该从系统的应用程序、并加载至从系统随机存储器件中。
从系统逻辑芯片为FPGA;
所述FPGA内固化有所述双口RAM;或者,所述FPGA内置有只读存储器、该只读存储器内存储有可供所述FPGA构建所述双口RAM的逻辑芯片代码;或者,主系统非易失性存储器件中存放有可供所述FPGA构建所述双口RAM的逻辑芯片代码,且所述FPGA进一步通过JTAG总线从主系统非易失性存储器件中加载所述逻辑芯片代码、用以构建所述双口RAM。
从系统的引导程序由汇编语言编写、且不需要堆栈空间。
主系统CPU利用电平信号改变从系统CPU复位管脚状态,以实现对从系统CPU解除复位。
本发明提供的一种分布式系统中可向从系统加载代码的主系统,包括主系统CPU、主系统逻辑芯片、主系统随机存储器件、以及非易失性存储器件,该主系统的非易失性存储器件存放有主系统的引导程序和应用程序、以及各从系统的应用程序,且该主系统CPU通过系统间接口与所述分布式系统中的各从系统CPU相连;
所述非易失性存储器件中还存放有各从系统的引导程序,且主系统CPU还通过系统间总线与各从系统的逻辑芯片相连;
在分布式系统上电后,主系统CPU用于从所述非易失性存储器件加载主系统引导程序,用以初始化主系统随机存储器件、以及所述系统间接口和所述系统间总线;
在初始化完毕后,主系统CPU用于通过所述系统间总线将所述非易失性存储器件中的各从系统的引导程序分别写入至各从系统所包括的从系统逻辑芯片内的双口RAM;
在任一从系统的引导程序写入完毕后,主系统CPU用于对该从系统的从系统CPU解除复位,以使该从系统的从系统CPU能够从该从系统所包括的从系统逻辑芯片内的双口RAM中加载该从系统的引导程序、并初始化所述系统间接口;
在收到任一从系统CPU初始化完毕后发送的请求应用程序的通知后,主系统CPU用于通过所述系统间接口将所述非易失性存储器件中的该从系统的应用程序发送给该从系统CPU。
从系统逻辑芯片为FPGA,且所述非易失性存储器件中存放有可供逻辑芯片构建所述双口RAM的逻辑芯片代码,以供各从系统逻辑芯片在所述分布式系统上电后通过JTAG总线予以加载。
从系统的引导程序由汇编语言编写、且不需要堆栈空间。
所述主系统CPU利用电平信号改变从系统CPU复位管脚状态,以实现对从系统CPU解除复位。
一种分布式系统中可由主系统加载代码的从系统,包括从系统CPU、从系统逻辑芯片、以及从系统随机存储器件,从系统CPU通过系统间接口与所述分布式系统中的主系统CPU相连,
从系统逻辑芯片通过系统间总线与主系统CPU相连,且从系统逻辑芯片的内部具有双口RAM,该双口RAM一端连接所述系统间总线、以使主系统CPU写入该从系统的引导程序,该双口RAM另一端则连接其所在从系统的从系统CPU;
从系统CPU,用于在分布式系统上电后保持复位状态;在被主系统CPU解除复位后,从其所在从系统的从系统逻辑芯片内的双口RAM加载该从系统的引导程序、用以初始化所述系统间接口以及从系统随机存储器件;在初始化完毕后,通过所述系统间接口向主系统CPU发送请求应用程序的通知,然后接收主系统CPU发送的该从系统的应用程序、并加载至从系统随机存储器件中。
从系统逻辑芯片为FPGA;
所述FPGA内固化有所述双口RAM;或者,所述FPGA内置有只读存储器,该只读存储器内存储有可供所述FPGA构建所述双口RAM的逻辑芯片代码;或者,主系统非易失性存储器件中存放有可供所述FPGA构建所述双口RAM的逻辑芯片代码,且所述FPGA进一步通过JTAG总线从主系统非易失性存储器件中加载所述逻辑芯片代码、用以构建所述双口RAM。
从系统的引导程序由汇编语言编写、且不需要堆栈空间。
从系统CPU的复位管脚的状态可被主系统CPU通过电平信号予以改变,用以实现从系统CPU的解除复位。
一种分布式系统中的代码加载方法,包括:
步骤a、分布式系统上电后,从系统CPU保持复位状态;主系统CPU从本系统非易失性存储器件加载主系统引导程序,用以初始化主系统随机存储器件、主系统CPU与从系统CPU之间的系统间接口、以及主系统CPU与从系统逻辑芯片内的双口RAM之间的系统间总线;
步骤b、主系统CPU完成初始化后,从主系统非易失性存储器件中读取从系统的引导程序,并通过所述系统间总线写入至从系统逻辑芯片内的双口RAM;
步骤c、主系统CPU写入从系统引导程序完毕后,对从系统CPU解除复位;
步骤d、从系统CPU解除复位后,从其所在从系统的从系统逻辑芯片内的双口RAM加载引导程序、并初始化所述系统间接口、以及从系统随机存储器件;
步骤e、从系统CPU完成初始化后,通过所述系统间接口通知主系统CPU发送该从系统的应用程序;
步骤f、主系统CPU从本系统非易失性存储器件中读取从系统的应用程序,并通过所述系统间接口发送至从系统CPU;
步骤g、从系统CPU将接收的该从系统的应用程序加载至本系统随机存储器件中。
从系统逻辑芯片为FPGA;
所述FPGA内固化有所述双口RAM;
或者,所述FPGA内置有只读存储器,该只读存储器内存储有可供从系统逻辑芯片构建所述双口RAM的逻辑芯片代码,所述步骤a中,从系统逻辑芯片从自身内置的只读存储器中加载逻辑芯片代码、用以构建所述双口RAM;
或者,所述步骤a之前进一步在主系统非易失性存储器件中存放可供逻辑芯片构建所述双口RAM的逻辑芯片代码,所述步骤a中,从系统逻辑芯片通过JTAG总线从主系统非易失性存储器件中加载所述逻辑芯片代码、用以构建所述双口RAM。
从系统的引导程序由汇编语言编写、且不需要堆栈空间。
所述步骤c中,主系统CPU通过电平信号改变从系统CPU复位管脚状态来实现对从系统CPU解除复位。
由上述技术方案可见,本发明由主系统统一管理和维护各从系统的引导程序和应用程序、且各从系统逻辑芯片内具有用于存放本系统引导程序的双口RAM,因而使得主系统能够将各从系统的引导程序分别写入至该从系统逻辑芯片内的双口RAM,并能够在写入完毕后对该从系统CPU解除复位、以使该从系统CPU从本系统逻辑芯片内的双口RAM中加载本系统引导程序,从而通过主系统统一实现各从系统引导程序加载及初始化启动,产生了如下的技术效果:
1、利用从系统逻辑芯片内的双口RAM替代现有的非易失性存储器件,降低生产成本;
2、无需非易失性存储器件,能够节省非易失性存储器件及其布线所占用的空间,利于系统的小型化、提高功能密度;
3、由主系统管理和维护所有从系统的引导程序及应用程序,自动保证了版本兼容性、降低维护成本;
4、避免手动升级从系统引导程序时的出错,提高系统的健壮性;
5、主系统可对从系统逻辑芯片内的双口RAM反复写入不同版本的引导程序、对从系统CPU反复发送不同版本的应用程序,从而使得从系统引导程序和应用程序的后续版本升级和业务扩展不会受限于非易失性存储器件的容量;
6、无需非易失性存储器件,降低了分布式系统的总功耗。
附图说明
图1为现有分布式系统的一实例示意图;
图2为本发明实施例分布式系统的框架示意图;
图3为本发明实施例代码加载方法的示例性流程图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
在现有技术的硬件设计中,各从系统中都会设置有FPGA或CPLD等逻辑芯片,而这些逻辑芯片内部通常会具有10k~100k左右的双口RAM,逻辑芯片内部的双口RAM具有如下特点:
1、可以从一端写入数据、并可以从另一端读出所写入的数据;
2、写入的数据会在掉电后丢失;
3、在从系统初始化阶段、双口RAM内的空间不会被使用。
考虑到现有技术所具有的诸多缺陷都是由从系统必须利用其非易失性存储器件实现初始化启动所导致,因此,本发明实施例利用从系统中的上述双口RAM替代现有从系统中的非易失性存储器,并提供了一种区别于现有技术的代码加载方式。
需要说明的是,由于随机存储器所具有的数据掉电丢失特性,因而现有所有的传统硬件设计中都不会使用随机存储器来存放待加载的引导程序,进而,本发明实施例也不是简单地利用从系统中的上述双口RAM替代非易失性存储器,而是利用从系统中的上述双口RAM、以及主系统的配合来实现的;进一步说,这里所述的主系统的配合,主要是指现有所有传统硬件设计中并未使用过的主系统控制从系统初始化启动的方式,即,例如本文背景技术部分所述现有各种传统的加载方式均无法脱离从系统自身控制初始化启动的思路。
具体说,本发明实施例由主系统统一管理和维护各从系统的引导程序和应用程序、并可由主系统将各从系统的引导程序分别写入至该从系统逻辑芯片内的双口RAM,而且,主系统CPU还能够在从系统引导程序写入完毕后对该从系统CPU解除复位、以使该从系统CPU从本系统逻辑芯片内的双口RAM中加载本系统引导程序。
下面,先对本发明实施例中基于上述代码加载方式的分布式系统、以及该分布式系统中的主系统和从系统进行详细说明。
图2为本发明实施例分布式系统的框架示意图。如图2所示,本实施例的分布式系统中,包括主系统和至少一个从系统(图2中仅示出了一个从系统,其余从系统用省略号表示)。
主系统内部的硬件结构相比于现有技术并未发生变化,仍包括主系统CPU、主系统逻辑芯片、主系统随机存储器件、以及非易失性存储器件(图2中仅示出了主系统中的非易失性存储器件)。
而从系统中虽然仍包括从系统CPU、从系统逻辑芯片、以及从系统随机存储器件,但从系统中并不是必须包括非易失性存储器件。
此外,本实施例的分布式系统中,主系统的非易失性存储器件中除了像现有技术那样存放了主系统的引导程序和应用程序、以及从系统的应用程序之外,还存放有各从系统的引导程序;而且,主系统与从系统之间的连接关系也区别于现有技术,即除了各从系统CPU通过系统间接口与主系统CPU相连之外,各从系统逻辑芯片进一步通过预设的系统间总线与主系统CPU相连。
基于上述硬件架构,主系统和从系统之间涉及代码加载的交互方式如下:
首先,是分布式系统上电后的主系统初始化启动阶段:
主系统CPU从主系统的非易失性存储器件加载主系统引导程序,用以初始化主系统随机存储器件、以及所述系统间接口和所述系统间总线;
而从系统CPU则保持复位状态;
且,从系统逻辑芯片内具有双口RAM,该双口RAM一端连接所述系统间总线、另一端通过系统内总线连接该逻辑芯片所在从系统的从系统CPU。
此后,是从系统引导程序加载、以及从系统初始化启动阶段:
主系统CPU在其初始化完毕后,通过已进行初始化的系统间总线,将主系统非易失性存储器件中的各从系统的引导程序分别写入至各从系统逻辑芯片内的双口RAM;在对每个从系统逻辑芯片内的双口RAM写入完毕后,对该从系统逻辑芯片所连接的从系统CPU解除复位,例如,主系统CPU可利用电平信号改变从系统CPU复位管脚状态,以实现对从系统CPU解除复位;
从系统CPU在被主系统CPU解除复位后,从其所在从系统的从系统逻辑芯片内的双口RAM加载该从系统的引导程序、用以初始化所述系统间接口以及从系统随机存储器件。
最后,是从系统应用程序加载阶段:
从系统CPU在初始化完毕后,通过已初始化的系统间接口向主系统CPU发送请求应用程序的通知;
主系统CPU在收到从系统CPU发送的请求应用程序的通知后,通过已初始化的系统间接口,将主系统的非易失性存储器件中的对应从系统的应用程序发送给对应从系统CPU;
相应地,从系统CPU即可接收主系统CPU发送的该从系统的应用程序、并按照现有方式校验和解压缩后加载至从系统随机存储器件中,然后跳转到应用程序入口地址执行应用程序代码、并进行应用程序初始化,在应用程序初始化完毕后通知主系统CPU启动完毕,以供主系统记录各从系统是否启动完毕。
实际应用中,从系统逻辑芯片通常采用FPGA,其中:
一部分型号的FPGA内固化有上述双口RAM;
还有一部分型号的FPGA内置有只读存储器,该只读存储器内存储有可供从系统逻辑芯片构建所述双口RAM的逻辑芯片代码;
另外一部分型号的FPGA则既没有固化的双口RAM、也未内置可存放逻辑芯片代码的只读存储器,对于这类FPGA,主系统中的非易失性存储器件内,还需要进一步存放有可供逻辑芯片构建所述双口RAM的逻辑芯片代码,且作为从系统逻辑芯片的FPGA在分布式系统上电后,需要进一步通过JTAG总线从主系统非易失性存储器件中加载上述逻辑芯片代码、用以构建前述双口RAM。
此外,考虑到逻辑芯片所能够构建的双口RAM容量有限,较佳地,从系统的引导程序可由程序汇编语言编写、且不需要堆栈空间,这样,可以节省引导程序文件本身所占用的空间、以及运行引导程序所需要的空间;进而,为了进一步节省引导程序文件本身所占用的空间,从系统的引导程序可以仅包含从系统CPU初始化系统间接口和从系统随机存储器件这两种功能,而现有技术中从系统引导程序所具备的其他非必要的辅助扩展功能可以舍弃。
以上,是对本发明实施例中分布式系统及其主系统和从系统的详细说明,下面,再对本发明实施例中的代码加载方法进行详细说明。
图3为本发明实施例代码加载方法的示例性流程图。如图3所示,本实施例中的代码加载方法基于如图2所示的分布式系统,并包括如下步骤:
步骤300,分布式系统上电。
步骤301,从系统CPU保持复位状态,如果从系统逻辑芯片内未固化有双口RAM,则还需要从系统逻辑芯片构建双口RAM;主系统CPU从本系统非易失性存储器件加载主系统引导程序,用以初始化主系统随机存储器件、主系统CPU与从系统CPU之间的系统间接口、以及主系统CPU与从系统逻辑芯片内的双口RAM之间的系统间总线。
实际应用中,从系统逻辑芯片通常采用FPGA,其中:
一部分型号的FPGA内固化有可在上电时自动构建而成的双口RAM;
还有一部分型号的FPGA内置有只读存储器,该只读存储器内存储有可供从系统逻辑芯片构建所述双口RAM的逻辑芯片代码,对于这种情况,本步骤中,从系统逻辑芯片从自身内置的只读存储器中加载逻辑芯片代码、用以构建所述双口RAM
另外一部分型号的FPGA则既没有固化的双口RAM、也未内置可存放逻辑芯片代码的只读存储器,对于这种情况,本步骤之前需要进一步在主系统非易失性存储器件中存放可供逻辑芯片构建所述双口RAM的逻辑芯片代码,且在本步骤中,从系统逻辑芯片通过JTAG总线从主系统非易失性存储器件中加载所述逻辑芯片代码、用以构建所述双口RAM。
此外,考虑到逻辑芯片所能够构建的双口RAM容量有限,较佳地,从系统的引导程序可由程序汇编语言编写、且不需要堆栈空间,进而从系统的引导程序可以仅包含从系统CPU初始化系统间接口和从系统随机存储器件这两种功能。
步骤302,主系统CPU完成其初始化后,从主系统非易失性存储器件中读取从系统的引导程序,并通过已初始化的系统间总线写入至从系统逻辑芯片内的双口RAM予以保存。
步骤303,主系统CPU写入从系统引导程序完毕后,对从系统CPU解除复位。
本步骤中,主系统CPU可以通过电平信号改变从系统CPU复位管脚状态来实现对从系统CPU解除复位。
步骤304,从系统CPU解除复位后,从其所在从系统的从系统逻辑芯片内的双口RAM加载引导程序、并初始化所述系统间接口、以及从系统随机存储器件,从系统CPU完成初始化后通过已初始化的系统间接口通知主系统CPU发送该从系统的应用程序。
步骤305,主系统CPU从本系统非易失性存储器件中读取从系统的应用程序,并通过已初始化的系统间接口发送至从系统CPU。
步骤306,从系统CPU将接收的该从系统的应用程序加载至本系统随机存储器件中,然后跳转到应用程序入口地址执行应用程序代码、并进行应用程序初始化,从系统CPU还在应用程序初始化后通知主系统CPU启动完毕,以供主系统记录各从系统是否启动完毕。
至此,本流程结束,分布式系统开始正常运行应用程序所对应的业务。
需要说明的是,上述流程仅仅是以一个从系统为例,实际应用中,对于每一个从系统均需要并行执行上述流程。
如上可见,本发明实施例由主系统统一管理和维护各从系统的引导程序和应用程序、且各从系统逻辑芯片内具有用于存放本系统引导程序的双口RAM,因而使得主系统能够将各从系统的引导程序分别写入至该从系统逻辑芯片内的双口RAM,并能够在写入完毕后对该从系统CPU解除复位、以使该从系统CPU从本系统逻辑芯片内的双口RAM中加载本系统引导程序,从而通过主系统统一实现各从系统引导程序加载及初始化启动,降低系统生产和维护成本、提高系统可靠性和健壮性、减少升级和扩展所受限制、并降低系统功耗。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。

Claims (16)

1.一种分布式系统,包括主系统和至少一个从系统,其中,
主系统包括主系统CPU、主系统逻辑芯片、主系统随机存储器件、以及非易失性存储器件,主系统的非易失性存储器件中存放有主系统的引导程序和应用程序、以及从系统的应用程序;
从系统包括从系统CPU、从系统逻辑芯片、以及从系统随机存储器件,从系统CPU通过系统间接口与主系统CPU相连;
其特征在于,
从系统逻辑芯片通过系统间总线与主系统CPU相连、且从系统逻辑芯片的内部具有双口RAM,该双口RAM一端连接所述系统间总线、另一端连接其所在从系统的从系统CPU;
主系统非易失性存储器件中还存放有各从系统的引导程序;
主系统CPU,用于在分布式系统上电后从主系统的非易失性存储器件加载主系统引导程序,用以初始化主系统随机存储器件、以及所述系统间接口和所述系统间总线;在初始化完毕后,通过所述系统间总线将主系统非易失性存储器件中的各从系统的引导程序分别写入至各从系统逻辑芯片内的双口RAM;在写入完毕后,对各从系统CPU解除复位;在收到从系统CPU发送的请求应用程序的通知后,通过所述系统间接口将主系统的非易失性存储器件中的对应从系统的应用程序发送给对应从系统CPU;
从系统CPU,用于在分布式系统上电后保持复位状态;在被主系统CPU解除复位后,从其所在从系统的从系统逻辑芯片内的双口RAM加载该从系统的引导程序、用以初始化所述系统间接口以及从系统随机存储器件;在初始化完毕后,通过所述系统间接口向主系统CPU发送请求应用程序的通知,然后接收主系统CPU发送的该从系统的应用程序、并加载至从系统随机存储器件中。
2.如权利要求1所述的分布式系统,其特征在于,从系统逻辑芯片为FPGA;
所述FPGA内固化有所述双口RAM;或者,所述FPGA内置有只读存储器、该只读存储器内存储有可供所述FPGA构建所述双口RAM的逻辑芯片代码;或者,主系统非易失性存储器件中存放有可供所述FPGA构建所述双口RAM的逻辑芯片代码,且所述FPGA进一步通过JTAG总线从主系统非易失性存储器件中加载所述逻辑芯片代码、用以构建所述双口RAM。
3.如权利要求2所述的分布式系统,其特征在于,从系统的引导程序由汇编语言编写、且不需要堆栈空间。
4.如权利要求1至3中任一项所述的分布式系统,其特征在于,主系统CPU利用电平信号改变从系统CPU复位管脚状态,以实现对从系统CPU解除复位。
5.一种分布式系统中的主系统,包括主系统CPU、主系统逻辑芯片、主系统随机存储器件、以及非易失性存储器件,该主系统的非易失性存储器件存放有主系统的引导程序和应用程序、以及各从系统的应用程序,且该主系统CPU通过系统间接口与所述分布式系统中的各从系统CPU相连;
其特征在于,
所述非易失性存储器件中还存放有各从系统的引导程序,且主系统CPU还通过系统间总线与各从系统的逻辑芯片相连;
在分布式系统上电后,主系统CPU用于从所述非易失性存储器件加载主系统引导程序,用以初始化主系统随机存储器件、以及所述系统间接口和所述系统间总线;
在初始化完毕后,主系统CPU用于通过所述系统间总线将所述非易失性存储器件中的各从系统的引导程序分别写入至各从系统所包括的从系统逻辑芯片内的双口RAM;
在任一从系统的引导程序写入完毕后,主系统CPU用于对该从系统的从系统CPU解除复位,以使该从系统的从系统CPU能够从该从系统所包括的从系统逻辑芯片内的双口RAM中加载该从系统的引导程序、并初始化所述系统间接口;
在收到任一从系统CPU初始化完毕后发送的请求应用程序的通知后,主系统CPU用于通过所述系统间接口将所述非易失性存储器件中的该从系统的应用程序发送给该从系统CPU。
6.如权利要求5所述的主系统,其特征在于,从系统逻辑芯片为FPGA,且所述非易失性存储器件中存放有可供逻辑芯片构建所述双口RAM的逻辑芯片代码,以供各从系统逻辑芯片在所述分布式系统上电后通过JTAG总线予以加载。
7.如权利要求6所述的主系统,其特征在于,从系统的引导程序由汇编语言编写、且不需要堆栈空间。
8.如权利要求5至7中任一项所述的主系统,其特征在于,所述主系统CPU利用电平信号改变从系统CPU复位管脚状态,以实现对从系统CPU解除复位。
9.一种分布式系统中的从系统,包括从系统CPU、从系统逻辑芯片、以及从系统随机存储器件,从系统CPU通过系统间接口与所述分布式系统中的主系统CPU相连,
其特征在于,
从系统逻辑芯片通过系统间总线与主系统CPU相连、且从系统逻辑芯片的内部具有双口RAM,该双口RAM一端连接所述系统间总线、以使主系统CPU写入该从系统的引导程序,该双口RAM另一端则连接其所在从系统的从系统CPU;
从系统CPU,用于在分布式系统上电后保持复位状态;在被主系统CPU解除复位后,从其所在从系统的从系统逻辑芯片内的双口RAM加载该从系统的引导程序、用以初始化所述系统间接口以及从系统随机存储器件;在初始化完毕后,通过所述系统间接口向主系统CPU发送请求应用程序的通知,然后接收主系统CPU发送的该从系统的应用程序、并加载至从系统随机存储器件中。
10.如权利要求9所述的从系统,其特征在于,从系统逻辑芯片为FPGA;
所述FPGA内固化有所述双口RAM;或者,所述FPGA内置有只读存储器,该只读存储器内存储有可供所述FPGA构建所述双口RAM的逻辑芯片代码;或者,主系统非易失性存储器件中存放有可供所述FPGA构建所述双口RAM的逻辑芯片代码,且所述FPGA进一步通过JTAG总线从主系统非易失性存储器件中加载所述逻辑芯片代码、用以构建所述双口RAM。
11.如权利要求10所述的从系统,其特征在于,从系统的引导程序由汇编语言编写、且不需要堆栈空间。
12.如权利要求9至11中任一项所述的从系统,其特征在于,从系统CPU的复位管脚的状态可被主系统CPU通过电平信号予以改变,用以实现从系统CPU的解除复位。
13.一种分布式系统中的代码加载方法,其特征在于,该方法包括:
步骤a、分布式系统上电后,从系统CPU保持复位状态;主系统CPU从本系统非易失性存储器件加载主系统引导程序,用以初始化主系统随机存储器件、主系统CPU与从系统CPU之间的系统间接口、以及主系统CPU与从系统逻辑芯片内的双口RAM之间的系统间总线;
步骤b、主系统CPU完成初始化后,从主系统非易失性存储器件中读取从系统的引导程序,并通过所述系统间总线写入至从系统逻辑芯片构建的双口RAM;
步骤c、主系统CPU写入从系统引导程序完毕后,对从系统CPU解除复位;
步骤d、从系统CPU解除复位后,从其所在从系统的从系统逻辑芯片内的双口RAM加载引导程序、并初始化所述系统间接口、以及从系统随机存储器件;
步骤e、从系统CPU完成初始化后,通过所述系统间接口通知主系统CPU发送该从系统的应用程序;
步骤f、主系统CPU从本系统非易失性存储器件中读取从系统的应用程序,并通过所述系统间接口发送至从系统CPU;
步骤g、从系统CPU将接收的该从系统的应用程序加载至本系统随机存储器件中。
14.如权利要求13所述的代码加载方法,其特征在于,从系统逻辑芯片为FPGA;
所述FPGA内固化有所述双口RAM;
或者,所述FPGA内置有只读存储器,该只读存储器内存储有可供从系统逻辑芯片构建所述双口RAM的逻辑芯片代码,所述步骤a中,从系统逻辑芯片从自身内置的只读存储器中加载逻辑芯片代码、用以构建所述双口RAM;
或者,所述步骤a之前进一步在主系统非易失性存储器件中存放可供逻辑芯片构建所述双口RAM的逻辑芯片代码,所述步骤a中,从系统逻辑芯片通过JTAG总线从主系统非易失性存储器件中加载所述逻辑芯片代码、用以构建所述双口RAM。
15.如权利要求14所述的代码加载方法,其特征在于,从系统的引导程序由汇编语言编写、且不需要堆栈空间。
16.如权利要求13至15中任一项所述的代码加载方法,其特征在于,所述步骤c中,主系统CPU通过电平信号改变从系统CPU复位管脚状态来实现对从系统CPU解除复位。
CN 200910235955 2009-10-30 2009-10-30 分布式系统及其主系统和从系统以及代码加载方法 Active CN102053849B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910235955 CN102053849B (zh) 2009-10-30 2009-10-30 分布式系统及其主系统和从系统以及代码加载方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910235955 CN102053849B (zh) 2009-10-30 2009-10-30 分布式系统及其主系统和从系统以及代码加载方法

Publications (2)

Publication Number Publication Date
CN102053849A CN102053849A (zh) 2011-05-11
CN102053849B true CN102053849B (zh) 2013-06-26

Family

ID=43958205

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910235955 Active CN102053849B (zh) 2009-10-30 2009-10-30 分布式系统及其主系统和从系统以及代码加载方法

Country Status (1)

Country Link
CN (1) CN102053849B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102231114A (zh) * 2011-05-26 2011-11-02 福建星网锐捷网络有限公司 对芯片进行升级的系统、方法与升级文件发送方法、装置
CN102637134B (zh) * 2012-04-26 2015-01-21 网经科技(苏州)有限公司 嵌入式非对称多处理架构下的软件加载与存储的方法
US9092233B2 (en) * 2012-09-07 2015-07-28 Apple Inc. Accessory booting over USB
EP3407187B1 (en) 2016-02-24 2022-10-19 Huawei Technologies Co., Ltd. Optical line terminal, and method for upgrading master device and slave device
CN105786527B (zh) * 2016-03-28 2017-03-08 中车青岛四方车辆研究所有限公司 TigerSharc系列DSP启动管理芯片及方法
EP3236350B1 (en) 2016-03-28 2019-09-25 CRRC Qingdao Sifang Rolling Stock Research Institute Co., Ltd. Tigersharc series dsp start-up management chip and method
CN105930186B (zh) * 2016-04-20 2019-03-08 中车株洲电力机车研究所有限公司 多cpu的软件加载方法及基于多cpu的软件加载装置
CN108614717A (zh) * 2018-04-11 2018-10-02 厦门亿联网络技术股份有限公司 一种基于usb的系统引导方法
CN109491716B (zh) * 2018-10-19 2021-11-16 北京行易道科技有限公司 启动方法及装置、程序存储方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020083427A1 (en) * 2000-12-26 2002-06-27 Chen-Pang Li Embedded system capable of rapidly updating software and method for rapidly updating software of embedded system
CN1804799A (zh) * 2005-01-12 2006-07-19 华为技术有限公司 单片机在线加载升级方法及系统
CN101192165A (zh) * 2006-11-29 2008-06-04 中兴通讯股份有限公司 主从式多处理器系统以及软件版本加载方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020083427A1 (en) * 2000-12-26 2002-06-27 Chen-Pang Li Embedded system capable of rapidly updating software and method for rapidly updating software of embedded system
CN1804799A (zh) * 2005-01-12 2006-07-19 华为技术有限公司 单片机在线加载升级方法及系统
CN101192165A (zh) * 2006-11-29 2008-06-04 中兴通讯股份有限公司 主从式多处理器系统以及软件版本加载方法

Also Published As

Publication number Publication date
CN102053849A (zh) 2011-05-11

Similar Documents

Publication Publication Date Title
CN102053849B (zh) 分布式系统及其主系统和从系统以及代码加载方法
CN103777972B (zh) 基于现场可编程门阵列的系统、配置方法以及升级方法
CN102200916B (zh) 电子设备、可配置的部件及该部件的配置信息存储方法
CN102855146A (zh) 固件更新系统及方法
CN106201590B (zh) 一种fpga配置文件加载方法和系统
JP2004295885A (ja) メイン・メモリの動的再割当てが可能なコンピュータ・システム
CN101770383B (zh) 一种跨平台版本在线升级的方法及装置
CN103365696A (zh) Bios镜像文件获取方法及装置
CN101593120A (zh) 带外升级方法和系统
US20190129836A1 (en) Computer processing unit (cpu) architecture for controlled and low power save of cpu data to persistent memory
US20090006726A1 (en) Multiple adapter for flash drive and access method for same
CN104731675A (zh) 一种服务器系统中bios的智能冗余备份方法
CN107122316B (zh) 一种soc备电方法以及soc
CN106021149B (zh) 蓝牙低功耗设备的多个连接管理
CN110874261A (zh) 可用性系统、方法和存储有程序的存储介质
CN108287733A (zh) 一种虚拟机加载启动方法
CN110597533A (zh) 一种fpga板卡程序更新系统及方法
CN102339264B (zh) 一种星载电子系统设备即插即用控制方法及系统
CN107111575B (zh) 用于在计算机系统内部传输数据的方法和存储管理装置、存储系统和计算机系统
CN102075710A (zh) 一种电视机的启动运行方法及电视机
CN102360300B (zh) 操作系统的启动方法及装置
CN102253844B (zh) 一种启动处理器的方法和设备
CN109117205A (zh) 一种基于mcu和fpga的双芯片加载方法
CN101667133A (zh) 固件更新方法和使用该方法更新固件的芯片
CN102033767A (zh) 一种单板及单板在线升级的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.

CP03 Change of name, title or address