CN101770373A - 自启动串行引导程序加载与读取系统及其方法 - Google Patents
自启动串行引导程序加载与读取系统及其方法 Download PDFInfo
- Publication number
- CN101770373A CN101770373A CN200810220688A CN200810220688A CN101770373A CN 101770373 A CN101770373 A CN 101770373A CN 200810220688 A CN200810220688 A CN 200810220688A CN 200810220688 A CN200810220688 A CN 200810220688A CN 101770373 A CN101770373 A CN 101770373A
- Authority
- CN
- China
- Prior art keywords
- self
- starting
- spi
- circuit
- cpu
- 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.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明为自启动串行引导程序加载与读取系统,包括系统级芯片和外部SPI接口存储器,系统级芯片包括CPU、内部程序存储器、自启动串行引导程序加载模块、两路双向复用器及标准SPI协议接口。自启动串行引导程序加载模块分别与两路双向复用器的输入端I、CPU连接,通过标准SPI协议接口与外部SPI接口存储器连接,两路双向复用器的输入端II与CPU连接,输出端与RAM连接;自启动串行引导程序加载模块由自启动加载电路、工作模式切换电路、SPI主模式电路组成。上电后,自启动串行引导程序加载模块直接读取外部存储器中的算法程序,并快速加载到内部程序存储器,程序加载方法简单、系统启动时间短,且能进行多次加载和读取操作。
Description
技术领域
本发明涉及程序加载系统领域,具体是指基于系统级芯片的自启动串行引导程序加载与读取系统及其方法。
背景技术
目前,基于系统级芯片(SOC芯片或DSP芯片等)的程序加载与读取系统,结构如图1所示,包括SOC芯片或DSP芯片和用于存储算法程序的外部存储器,如SPI-EEPROM(高速同步串行口-电可擦写可编程只读存储器)等。其中,SOC或DSP芯片包括CPU、程序加载模块以及芯片内部程序存储器(RAM),该程序加载模块由外部接口和一个自带初始化引导程序的ROM组成,所述RAM、外部接口、自带初始化引导程序的ROM分别与CPU信号连接,外部接口还外接外部存储器。该SOC或DSP芯片系统的程序加载方法是一种复杂的引导程序加载方法,具体如下:系统上电后,CPU读取ROM内的初始化引导程序并对其执行解码等处理,对将要进行加载算法程序的外部接口进行读写模式配置等初始化操作,然后通过外部接口读取外部存储器中的算法程序,最后,算法程序在CPU的控制下加载到芯片内部程序存储器(RAM)内并执行。
上述程序加载系统的程序加载方法存在的问题是:每次系统上电后,CPU都要花费一段时间来启动初始化引导程序等复杂的初始化配置。首先要花费一段时间对ROM内自带的初始化引导程序进行读取、解码等处理,然后对将要进行加载算法程序的外部接口进行读写模式配置等初始化操作,最后才真正开始下载算法程序并执行。启动初始化引导程序所花费的时间拖慢了SOC或DSP芯片系统的启动时间。
发明内容
本发明目的在于克服上述现有技术的不足,提供一种自启动串行引导程序加载与读取系统,本系统上电后,其内置的自启动串行引导程序加载模块(SSBL,Self Serial Boot Loader)无需经过CPU的初始化配置,而直接通过标准SPI协议接口快速读取外部SPI接口存储器中的算法程序,然后通过两路双向复用器(Multiplexer)将算法程序快速加载到内部程序存储器(RAM)中,程序加载方法简单、系统启动时间短,而且容易实现。
本发明的另一目的在于提供上述自启动串行引导程序加载与读取系统实现算法程序加载和读取的方法。
本发明的目的通过下述技术方案实现:自启动串行引导程序加载与读取系统,包括系统级芯片和用于存储算法程序的外部SPI接口存储器,其中,系统级芯片包括CPU、内部程序存储器(RAM)、自启动串行引导程序加载模块(SSBL,Self Serial Boot Loader)、两路双向复用器(Multiplexer)及标准SPI协议接口,所述自启动串行引导程序加载模块分别与两路双向复用器的输入端I、CPU信号连接,自启动串行引导程序加载模块还通过标准SPI协议接口与外部存储器信号连接,同时,两路双向复用器的输入端II与CPU信号连接,两路双向复用器的输出端与RAM信号连接。所述自启动串行引导程序加载模块由自启动加载电路(SBL)、工作模式切换电路(SMC)、SPI主模式电路(SPIM)组成,工作模式切换电路分别与自启动加载电路、SPI主模式电路信号连接。
为了更好地实现本发明目的,所述系统级芯片为SOC芯片或DSP芯片,所述用于存储算法程序的外部SPI接口存储器为SPI-EEPROM。
上述自启动串行引导程序加载与读取系统实现算法程序加载和读取的方法,包括算法程序加载方法和读取方法,其中,加载方法具体包括如下步骤:
(1)系统上电后,自启动串行引导程序加载模块中的工作模式切换电路(SMC)禁用SPI主模式电路(SPIM),并选通自启动加载电路(SBL);
(2)自启动加载电路(SBL)发送复位(RESET)信号对CPU进行复位(RESET),同时,发送选通控制信号选通两路双向复用器(Multiplexer)的输入端I;
(3)自启动加载电路(SBL)控制工作模式切换电路(SMC)通过标准SPI协议接口读取外部SPI接口存储器中的算法程序,并将所读取的算法程序经两路双向复用器(Multiplexer)加载到内部程序存储器(RAM)中;
读取方法具体包括以下步骤:
A、上述加载方法步骤(3)中,当算法程序加载到内部程序存储器(RAM)完成后,自启动串行引导程序加载模块中的工作模式切换电路(SMC)禁用自启动加载电路(SBL),并选通SPI主模式电路(SPIM),使SPI主模式电路(SPIM)连接上外部SPI接口存储器;
B、自启动加载电路(SBL)发送选通控制信号使CPU进入正常运行状态,同时,自启动加载电路(SBL)发送选通控制信号选通两路双向复用器(Multiplexer)的输入端II;然后,CPU通过两路双向复用器(Multiplexer)读取内部程序存储器(RAM)中的算法程序。
上述方法步骤B中,当CPU通过两路双向复用器(Multiplexer)读取内部程序存储器(RAM)中的算法程序后,若CPU发现算法程序内的代码包含对外部SPI接口存储器的重新访问,则控制SPI主模式电路(SPIM)二次读取外部SPI接口存储器中对应与CPU所读取算法程序内的代码的算法程序,并将二次读取的算法程序经两路双向复用器(Multiplexer)二次加载到内部程序存储器(RAM)中,然后,CPU通过两路双向复用器(Multiplexer)对二次加载到内部程序存储器(RAM)的算法程序进行二次读取。
若CPU发现二次读取的算法程序内的代码包含对外部SPI接口存储器的重新访问,可以按照上述二次加载和读取方法进行循环多次加载和读取操作。
本发明相对于现有技术具有如下的优点及效果:
(1)本发明自启动串行引导程序加载与读取系统,在进行外部算法程序加载时,系统内置的自启动串行引导程序加载模块直接通过标准SPI协议接口快速读取外部SPI接口存储器中的算法程序,然后通过两路双向复用器将算法程序快速加载到RAM中,而无需经过CPU的初始化配置,从而节省了现有系统级芯片的程序加载系统启动时用在启动初始化引导程序的时间,程序加载方法简单、程序加载所需时间短,所以系统启动时间相对于现有程序加载系统短,而且容易实现;
(2)本发明自启动串行引导程序加载与读取系统在外部算法程序加载完成后,内置的自启动串行引导程序加载模块立刻选通两路双向复用器与CPU的相连接的输入端II,从而,CPU可以快速读取RAM中的算法程序并执行;
(3)本发明中,当CPU通过两路双向复用器(Multiplexer)读取内部程序存储器(RAM)中的算法程序后,若CPU发现算法程序内的代码包含对外部存储器的重新访问,则CPU可以根据算法程序内的代码控制SPI主模式电路(SPIM)读取外部SPI接口存储器对应于所述代码的算法程序,以实现二次加载或读写操作,甚至于循环多次加载和读取操作,而且多次加载和读取操作逻辑简单、快速、容易实现。
附图说明
图1为现有基于系统级芯片的程序加载与读取系统的结构示意图;
图2为本发明自启动串行引导程序加载与读取系统的结构示意图;
图3为本发明系统中自启动串行引导程序加载模块的结构示意图;
图4为本发明自启动串行引导程序加载与读取系统的工作流程框图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例1
如图2所示,本发明自启动串行引导程序加载与读取系统,包括SOC芯片或DSP芯片和用于存储算法程序的SPI-EEPROM,其中,SOC芯片或DSP芯片包括CPU、内部程序存储器(RAM)、自启动串行引导程序加载模块(SSBL,SelfSerial Boot Loader)、两路双向复用器(Multiplexer)及标准SPI协议接口,所述自启动串行引导程序加载模块分别与两路双向复用器的输入端I、CPU信号连接,自启动串行引导程序加载模块还通过标准SPI协议接口与外部存储器信号连接,同时,两路双向复用器的输入端II与CPU信号连接,两路双向复用器的输出端与RAM信号连接。
如图3所示,自启动串行引导程序加载模块由自启动加载电路(SBL)、工作模式切换电路(SMC)、SPI主模式电路(SPIM)组成,工作模式切换电路分别与自启动加载电路、SPI主模式电路信号连接,工作模式切换电路根据具体情况连通自启动加载电路或SPI主模式电路,以实现自启动串行引导程序加载模块的工作模式转换。
上述自启动串行引导程序加载与读取系统实现算法程序加载和读取的方法,包括算法程序加载方法和读取方法,其中,加载方法具体包括如下步骤:
(1)系统上电后,自启动串行引导程序加载模块中的工作模式切换电路(SMC)禁用SPI主模式电路(SPIM),并选通自启动加载电路(SBL);
(2)自启动加载电路(SBL)发送复位(RESET)信号对CPU进行复位(RESET),同时,发送选通控制信号选通两路双向复用器(Multiplexer)的输入端I;
(3)自启动加载电路(SBL)控制工作模式切换电路(SMC)通过标准SPI协议接口读取外部SPI接口存储器中的算法程序,并将所读取的算法程序经两路双向复用器(Multiplexer)加载到内部程序存储器(RAM)中;
读取方法具体包括以下步骤:
A、上述加载方法步骤(3)中,当算法程序加载到内部程序存储器(RAM)完成后,自启动串行引导程序加载模块中的工作模式切换电路(SMC)禁用自启动加载电路(SBL),并选通SPI主模式电路(SPIM),使SPI主模式电路(SPIM)连接上外部SPI接口存储器;
B、自启动加载电路(SBL)发送选通控制信号释放CPU,使CPU进入正常运行状态,同时,自启动加载电路(SBL)发送选通控制信号选通两路双向复用器(Multiplexer)的输入端II;然后,CPU通过两路双向复用器(Multiplexer)读取内部程序存储器(RAM)中的算法程序。
上述方法步骤B中,当CPU通过两路双向复用器(Multiplexer)读取内部程序存储器(RAM)中的算法程序后,若CPU发现算法程序内的代码包含对外部SPI接口存储器的重新访问,则控制SPI主模式电路(SPIM)二次读取外部SPI接口存储器中对应与CPU所读取算法程序内的代码的算法程序,并将二次读取的算法程序经两路双向复用器(Multiplexer)二次加载到内部程序存储器(RAM)中,然后,CPU通过两路双向复用器(Multiplexer)对二次加载到内部程序存储器(RAM)的算法程序进行二次读取。
若CPU发现二次读取的算法程序内的代码包含对外部SPI接口存储器的重新访问,可以按照上述二次加载和读取方法进行循环多次加载和读取操作。
如上所述,便可较好地实现本发明。
Claims (5)
1.自启动串行引导程序加载与读取系统,包括系统级芯片和用于存储算法程序的外部存储器,系统级芯片包括CPU、内部程序存储器,其特征在于:所述外部存储器为外部SPI接口存储器,所述系统级芯片还包括自启动串行引导程序加载模块、两路双向复用器及标准SPI协议接口,所述自启动串行引导程序加载模块分别与两路双向复用器的输入端I、CPU信号连接,自启动串行引导程序加载模块还通过标准SPI协议接口与外部存储器信号连接,同时,两路双向复用器的输入端II与CPU信号连接,两路双向复用器的输出端与RAM信号连接;所述自启动串行引导程序加载模块由自启动加载电路、工作模式切换电路、SPI主模式电路组成,工作模式切换电路分别与自启动加载电路、SPI主模式电路信号连接。
2.根据权利要求1所述自启动串行引导程序加载与读取系统,其特征在于:所述系统级芯片为SOC芯片或DSP芯片。
3.根据权利要求1所述自启动串行引导程序加载与读取系统,其特征在于:所述外部SPI接口存储器为SPI-EEPROM。
4.利用权利要求1所述自启动串行引导程序加载与读取系统实现算法程序加载和读取的方法,包括加载方法和读取方法,其特征在于:
加载方法的具体步骤如下:
(1)系统上电后,自启动串行引导程序加载模块中的工作模式切换电路禁用SPI主模式电路,并选通自启动加载电路;
(2)自启动加载电路发送复位信号对CPU进行复位,同时,发送选通控制信号选通两路双向复用器的输入端I;
(3)自启动加载电路控制工作模式切换电路通过标准SPI协议接口读取外部SPI接口存储器中的算法程序,并将所读取的算法程序经两路双向复用器加载到内部程序存储器中;
读取方法具体包括以下步骤:
A、上述加载方法步骤(3)中,当算法程序加载到内部程序存储器完成后,自启动串行引导程序加载模块中的工作模式切换电路禁用自启动加载电路,并选通SPI主模式电路,使SPI主模式电路连接上外部SPI接口存储器;
B、自启动加载电路发送选通控制信号使CPU进入正常运行状态,同时,自启动加载电路发送选通控制信号选通两路双向复用器的输入端II;然后,CPU通过两路双向复用器读取内部程序存储器中的算法程序。
5.根据权利要求4所述自启动串行引导程序加载和读取方法,其特征在于:
步骤B中,当CPU通过两路双向复用器读取内部程序存储器中的算法程序后,若CPU发现算法程序内的代码包含对外部SPI接口存储器的重新访问,则控制SPI主模式电路二次读取外部SPI接口存储器中对应与CPU所读取算法程序内的代码的算法程序,并将二次读取的算法程序经两路双向复用器二次加载到内部程序存储器中,然后,CPU通过两路双向复用器对二次加载到内部程序存储器的算法程序进行二次读取;
若CPU发现二次读取的算法程序内的代码包含对外部SPI接口存储器的重新访问,可以按照上述二次加载和读取方法进行循环多次加载和读取操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810220688 CN101770373B (zh) | 2008-12-31 | 2008-12-31 | 自启动串行引导程序加载与读取系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810220688 CN101770373B (zh) | 2008-12-31 | 2008-12-31 | 自启动串行引导程序加载与读取系统及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101770373A true CN101770373A (zh) | 2010-07-07 |
CN101770373B CN101770373B (zh) | 2012-12-26 |
Family
ID=42503252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810220688 Expired - Fee Related CN101770373B (zh) | 2008-12-31 | 2008-12-31 | 自启动串行引导程序加载与读取系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101770373B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102043754A (zh) * | 2010-12-30 | 2011-05-04 | 浙江大学 | 一种提高星载dsp加载引导可靠性的方法 |
CN103336700A (zh) * | 2013-06-09 | 2013-10-02 | 深圳市汇川技术股份有限公司 | 一种数字信号处理器的串口烧录电路和系统 |
CN104461977A (zh) * | 2013-09-18 | 2015-03-25 | 瑞昱半导体股份有限公司 | 记忆卡存取装置、其控制方法与记忆卡存取系统 |
CN106303263A (zh) * | 2016-11-02 | 2017-01-04 | 北京弘恒科技有限公司 | 视频采集设备 |
CN108614667A (zh) * | 2016-12-12 | 2018-10-02 | 中国航空工业集团公司西安航空计算技术研究所 | 可配置广播els数据帧上电自动加载电路及方法 |
CN109672519A (zh) * | 2018-10-17 | 2019-04-23 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | 一种密码装置及其数据加解密方法 |
CN109725941A (zh) * | 2018-12-18 | 2019-05-07 | 深圳吉迪思电子科技有限公司 | 一种用于显示驱动芯片的可编程初始化方法及系统 |
CN110858254A (zh) * | 2018-08-22 | 2020-03-03 | 北京芯愿景软件技术股份有限公司 | 一种安全芯片 |
CN111581129A (zh) * | 2020-03-24 | 2020-08-25 | 西安广和通无线通信有限公司 | 终端主板电路、终端设备和adc接口复用控制方法 |
CN116506378A (zh) * | 2023-06-27 | 2023-07-28 | 苏州浪潮智能科技有限公司 | 交换机设备、串行通信接口的切换方法及其装置 |
-
2008
- 2008-12-31 CN CN 200810220688 patent/CN101770373B/zh not_active Expired - Fee Related
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102043754A (zh) * | 2010-12-30 | 2011-05-04 | 浙江大学 | 一种提高星载dsp加载引导可靠性的方法 |
CN103336700A (zh) * | 2013-06-09 | 2013-10-02 | 深圳市汇川技术股份有限公司 | 一种数字信号处理器的串口烧录电路和系统 |
CN103336700B (zh) * | 2013-06-09 | 2016-08-10 | 深圳市汇川技术股份有限公司 | 一种数字信号处理器的串口烧录电路和系统 |
CN104461977A (zh) * | 2013-09-18 | 2015-03-25 | 瑞昱半导体股份有限公司 | 记忆卡存取装置、其控制方法与记忆卡存取系统 |
CN104461977B (zh) * | 2013-09-18 | 2017-11-28 | 瑞昱半导体股份有限公司 | 记忆卡存取装置、其控制方法与记忆卡存取系统 |
CN106303263A (zh) * | 2016-11-02 | 2017-01-04 | 北京弘恒科技有限公司 | 视频采集设备 |
CN108614667A (zh) * | 2016-12-12 | 2018-10-02 | 中国航空工业集团公司西安航空计算技术研究所 | 可配置广播els数据帧上电自动加载电路及方法 |
CN108614667B (zh) * | 2016-12-12 | 2021-03-26 | 中国航空工业集团公司西安航空计算技术研究所 | 可配置广播els数据帧上电自动加载电路及方法 |
CN110858254A (zh) * | 2018-08-22 | 2020-03-03 | 北京芯愿景软件技术股份有限公司 | 一种安全芯片 |
CN109672519A (zh) * | 2018-10-17 | 2019-04-23 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | 一种密码装置及其数据加解密方法 |
CN109672519B (zh) * | 2018-10-17 | 2022-06-24 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | 一种密码装置及其数据加解密方法 |
CN109725941A (zh) * | 2018-12-18 | 2019-05-07 | 深圳吉迪思电子科技有限公司 | 一种用于显示驱动芯片的可编程初始化方法及系统 |
CN111581129A (zh) * | 2020-03-24 | 2020-08-25 | 西安广和通无线通信有限公司 | 终端主板电路、终端设备和adc接口复用控制方法 |
CN116506378A (zh) * | 2023-06-27 | 2023-07-28 | 苏州浪潮智能科技有限公司 | 交换机设备、串行通信接口的切换方法及其装置 |
CN116506378B (zh) * | 2023-06-27 | 2023-09-15 | 苏州浪潮智能科技有限公司 | 交换机设备、串行通信接口的切换方法及其装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101770373B (zh) | 2012-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101770373B (zh) | 自启动串行引导程序加载与读取系统及其方法 | |
CN101464807B (zh) | 一种应用程序的加载方法及装置 | |
CN107656773B (zh) | 一种多核dsp启动方法 | |
US8195930B2 (en) | Computer system with reduced storage device and associated booting method | |
CN103777972A (zh) | 基于现场可编程门阵列的系统、配置方法以及升级方法 | |
CN102200916A (zh) | 电子设备、可配置的部件及该部件的配置信息存储方法 | |
CN101930373B (zh) | 一种片上系统启动的方法和装置 | |
US20100088547A1 (en) | Computer motherboard and power-on self-test method thereof | |
CN101533355A (zh) | 一种启动多操作系统的方法和装置 | |
CN102929713A (zh) | 支持多操作系统并行的松散耦合异质多核处理系统 | |
JP2016045954A (ja) | 不揮発制御によるrfモジュール初期化システム及び方法 | |
CN201359723Y (zh) | 自启动串行引导程序加载与读取系统 | |
CN103514014A (zh) | 一种嵌入式终端设备引导系统的设计方法 | |
CN101286738A (zh) | 一种根据设备信息加载逻辑文件的方法、装置和系统 | |
EP3722946A1 (en) | Firmware boot implementation method based on flash chip simulation | |
CN102043754A (zh) | 一种提高星载dsp加载引导可靠性的方法 | |
CN106528217B (zh) | 一种现场可编程门阵列程序加载系统和方法 | |
CN100592257C (zh) | 可通过不同接口加载启动程序以启动主板的系统及其方法 | |
CN100501707C (zh) | 实现处理器系统的启动代码芯片在板烧录的装置与方法 | |
CN110347444B (zh) | 一种ssd多状态切换的启动方法及其系统 | |
CN100428158C (zh) | 快速初始化bios的方法与装置 | |
CN111143131A (zh) | 对操作系统进行备份热启动的系统 | |
CN101482825A (zh) | 自启动模块及其实现方法,单板和单板自启动方法 | |
CN111190776B (zh) | 服务器主板测试方法 | |
CN110113730A (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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121226 Termination date: 20131231 |