CN102662718B - 一种单片flash启动多用户程序模块 - Google Patents
一种单片flash启动多用户程序模块 Download PDFInfo
- Publication number
- CN102662718B CN102662718B CN201210133959.3A CN201210133959A CN102662718B CN 102662718 B CN102662718 B CN 102662718B CN 201210133959 A CN201210133959 A CN 201210133959A CN 102662718 B CN102662718 B CN 102662718B
- Authority
- CN
- China
- Prior art keywords
- flash
- fpga
- program storage
- cpu
- user
- 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.)
- Expired - Fee Related
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开一种单片FLASH启动多用户程序模块,其特征在于该模块包括一个可编程器件和一个与之相连的FLASH芯片,FLASH芯片内分有多个用户程序存储区域和一个公共程序存储区域,每个用户程序存储区域内存储一个相应的用户程序,公共程序存储区域内存储一个相应的EEPROM程序;所述可编程器件可并行接入有多个CPU和一个FPGA,实现所述FLASH芯片内的公共程序存储区域对应FPGA,每一个用户程序存储区分别对应一个CPU;可编程器件内设计有总线切换模块,可将FLASH芯片内多个用户程序存储区域内的用户程序依次分别传输给其对应的多个CPU,并把EEPROM程序传输给其对应的FPGA。
Description
技术领域
本发明涉及计算机启动技术,具体为一种单片FLASH启动多用户程序模块。该模块主要用于大量数据运算处理的数字系统,如图像识别、信号分析等领域。
背景技术
随着信息技术高速发展,智能化自动控制系统已经成为趋势。预设程序的存储和程序载入成了各个智能化自动控制系统无法避免的问题。RAM性质的存储器无法满足掉电不丢失数据的要求,只有ROM类的器件才能支持掉电后数据不丢失,其中FLASH广泛被用于嵌入式系统的程序存储。在单个CPU数字系统中,一个CPU芯片需要一个FLASH为其存储程序。如果系统内需要使用现场可编译门阵列(即FPGA),则需要一个专用的EEPROM作为FPGA的配置芯片。在一些图像识别和信号处理等大量数据处理的数字系统中,单CPU数字系统无法应对大数据量的处理工作。如果一套系统内只采用单CPU板卡,大工作量的数据处理就需要多个CPU,造成板卡过多,数据在各个单板间传输过多等弊端。因此多CPU数字系统逐步成为一种不可避免的必然趋势。多CPU和多FPGA系统所需的FLASH芯片的数量过多。每个FLASH和EEPROM都需要一个BIN文件或HEX文件,都要进行一次程序烧写。程序文件过多容易给使用者造成程序烧写上的混乱,不便于用户在程序上的管理。芯片数量过多也会增加产品成本。在高集成度的高速嵌入式系统中,单片FLASH启动多用户程序变得尤为重要。
发明内容
针对现有技术的不足,本发明拟解决的技术问题是,提供一种单片FLASH启动多用户程序模块。使用该模块,用户只需要给FLASH芯片写入一个程序文件,上电启动时,多个CPU就会依次从FLASH芯片内的不同存储区域加载相应用户程序。本发明具有FLASH芯片使用数量少,成本节省,板内PCB空间大,结构简单,可调性强,程序烧写方便等特点。
本发明解决所述技术问题的技术解决方案是:设计一种单片FLASH启动多用户程序模块,其特征在于该模块包括一个可编程器件和一个与之相连的FLASH芯片,FLASH芯片内分有多个用户程序存储区域和一个公共程序存储区域,每个用户程序存储区域内存储一个相应的用户程序,公共程序存储区域内存储一个相应的EEPROM程序;所述可编程器件可并行接入有多个CPU和FPGA,实现所述FLASH芯片内的公共程序存储区域对应FPGA,每一个用户程序存储区域分别对应一个CPU;可编程器件内设计有总线切换模块,可将FLASH芯片内多个用户程序存储区域内的用户程序依次分别传输给其对应的多个CPU,并把EEPROM程序传输给其对应的FPGA。
与现有技术相比,本发明模块利用可编程器件的可编程性,形成一个总线切换模块,依次切换并将FLASH里不同存储区域的程序传输给FPGA及依次传输给每个CPU,确保单片FLASH芯片可以加载多个CPU及FPGA。本发明模块减少了FLASH芯片的数量,节省了成本,节约了板内的PCB空间,且具有结构简单,可调性强,程序烧写方便等特点,特别是只需要一个FLASH程序文件就可以给多个CPU烧写程序,方便了用户的使用,该优点在高速复杂的系统中尤为突出。
附图说明
图1是本发明单片FLASH启动多用户程序模块的结构框图。
图2是本发明单片FLASH启动多用户程序模块上电后各个CPU和FPGA的启动加载程序的流程图。
具体实施方式
下面结合实施例及其附图对本发明进一步详细说明。
本发明设计的单片FLASH启动多用户程序模块(简称模块,参见图1、2),其特征在于该模块包括一个可编程器件1 和一个与之相连的FLASH芯片2,所述FLASH芯片2内分有多个用户程序存储区域21、22……2n和一个公共程序存储区域20,每个用户存储区域内存储一个相应的用户程序,公共程序存储区域内存储一个相应的EEPROM程序;所述可编程器件可并行接入有多个CPU31、CPU32……CPU3n和一个FPGA30;实现所述FLASH芯片2内的公共程序存储区域20对应FPGA30,每一个用户程序存储区域分别对应一个CPU,即用户程序存储区域21对应CPU31, 用户程序存储区域22对应CPU32,以此类推,最后一个用户程序存储区域2n对应最后一个CPU3n;可编程器件1内设计有总线切换模块,可将FLASH芯片内多个用户程序存储区域内的用户程序依次分别传输给其对应的多个CPU,并把EEPROM程序传输给其对应的FPGA。
本发明模块所述的CPU31、CPU32……和CPU3n可以是PowerPC、ARM单片机或DSP等中央处理器芯片。该类芯片用于运算数据和控制整板功能,但自身没有掉电存储功能,需要用FLASH芯片2的掉电存储功能的存储器来存储数据。系统开机上电复位以后,可以从该FLASH芯片2中读取掉电存储的数据。
本发明模块所述的FPGA30是现场可编程门阵列器件。FPGA30不带有RAM型的存储器,且FPGA30启动需要加载程序。一般的FPGA30都需要一个EEPROM作为它的配置芯片,本发明也同样。当模块上电系统复位后,FPGA30可从EEPROM中读取相应程序。
本发明模块所述的可编程器件1即CPLD,用于控制和切换FPGA30、CPU31、CPU32……和CPU3n,保证这n个装置按次序依次加载FLASH芯片2中的相应程序。可编程器件1还用于切换FLASH芯片2内的不同用户程序存储区域,用以将不同用户程序存储区域内存储的程序载入相应的CPU内。
本发明模块所述的FLASH芯片2,可选用相对大容量的NAND FLASH芯片。FLASH芯片2内部可分成若干存储区域,用于存储FPGA30、CPU31、CPU32……和CPU3n的程序。在可编程器件1的作用下,可切换FLASH芯片2内的不同用户程序存储区域。
本发明模块是一种基于可编程器件1对多个CPU和一个FPGA从FLASH芯片2加载程序过程的自动控制。其设计思路是用一片相对大容量的FLASH芯片代替为各个CPU加载程序的小容量FLASH和为FPGA加载程序的EEPROM芯片,将多个CPU及一个FPGA并行接入可编程器件的一边,可编程器件的另一边连接FLASH芯片,可编程器件将FLASH芯片内不同存储区域的程序对应传输给FPGA及依次分别传输给每一个CPU。其工作原理和过程如下:
系统上电复位后,FPGA30首先提出申请加载,可编程器件1允许,并将FLASH芯片2的存储区域20切到FPGA30上,将存储区域20内存储的FPGA30程序加载到FPGA30上。程序加载完毕后,FPGA30撤离可编程器件1,并释放FPGA30的程序加载完毕标志位,可编程器件1等待下一个设备申请加载。如果3秒钟(即3s)未释放FPGA30的标志位,则有可能是FPGA30损坏,无法加载程序。长时间无法加载程序,无法释放标志位,会造成程序死机,后面的器件也无法加载程序。所以必须等待一定时间(即3s)后,如未释放标志位,则FPGA30将自动撤离可编程器件1。在FPGA30释放标志位之后,CPU31马上申请加载,可编程器件1允许,并将FLASH芯片2的存储区域21切换到CPU31上,将存储区域21存储的CPU31的程序加载CPU31上。程序加载完毕后,CPU31撤离可编程器件1,并释放CPU31加载完毕标志位,可编程器件1等待下一个设备申请加载。同样,如果3秒钟CPU31的标志位未释放,CPU31将自动脱离可编程器件1。在CPU31释放标志位之后,CPU32马上申请加载,可编程器件1允许,并将FLASH芯片2的存储区域22切换到CPU32上,将存储区域22存储的CPU32的程序加载CPU32上。程序加载完毕后,CPU32撤离可编程器件1,并释放CPU32加载完毕标志位,可编程器件1等待下一个设备申请加载。如果3秒钟CPU32标志位未释放,CPU32将自动脱离可编程器件1。以此类推,这样就构成了单片FLASH在可编程器件的控制下启动多CPU和FPGA的过程。待所有的CPU和FPGA都加载完各自相应的程序后,各个CPU仍然可以读取并擦除整片FLASH。
本发明利用可编程器件1,编写一个双向切换的总线桥接模块,一边将各个CPU和FPGA等需要加载程序的器件进行切换,一边将FLASH芯片2分成的多个存储区域进行依次切换,并桥接起来,统一控制,按照预编流程(参见图2)一边切换各个CPU和FPGA,一边切换FLASH芯片2的各个存储区域,直至完成所有程序加载。
本发明未述及之处适用于现有技术。
以上实施例仅是对本发明总线切换具体应用例子,并不限制本申请权利要求。凡是在本申请权利要求技术方案上进行的修改和非本质改进的,均在本申请权利要求保护范围之内。
Claims (4)
1.一种单片FLASH启动多用户程序模块,其特征在于该模块包括一个可编程器件和一个与之相连的FLASH芯片,FLASH芯片内分有多个用户程序存储区域和一个公共程序存储区域,每个用户程序存储区域内存储一个相应的用户程序,公共程序存储区域内存储一个相应的EEPROM程序;所述可编程器件可并行接入有多个CPU和一个FPGA,实现所述FLASH芯片内的公共程序存储区域对应FPGA,每一个用户程序存储区分别对应一个CPU;可编程器件内设计有总线切换模块,可将FLASH芯片内多个用户程序存储区域内的用户程序依次分别传输给其对应的多个CPU,并把EEPROM程序传输给其对应的FPGA,这样就构成了单片FLASH在可编程器件的控制下启动多CPU和FPGA的过程;待所有的CPU和FPGA都加载完各自相应的程序后,各个CPU仍然可以读取并擦除整片FLASH。
2.根据权利要求1所述单片FLASH启动多用户程序模块,其特征在于所述的CPU是PowerPC、ARM单片机或DSP中央处理器芯片。
3.根据权利要求1所述单片FLASH启动多用户程序模块,其特征在于所述的FLASH芯片选用相对大容量的NAND FLASH芯片。
4.根据权利要求1所述单片FLASH启动多用户程序模块,其特征在于所述的FPGA是现场可编程门阵列器件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210133959.3A CN102662718B (zh) | 2012-05-03 | 2012-05-03 | 一种单片flash启动多用户程序模块 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210133959.3A CN102662718B (zh) | 2012-05-03 | 2012-05-03 | 一种单片flash启动多用户程序模块 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102662718A CN102662718A (zh) | 2012-09-12 |
CN102662718B true CN102662718B (zh) | 2015-07-01 |
Family
ID=46772219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210133959.3A Expired - Fee Related CN102662718B (zh) | 2012-05-03 | 2012-05-03 | 一种单片flash启动多用户程序模块 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102662718B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103870288B (zh) * | 2012-12-11 | 2017-07-18 | 联创汽车电子有限公司 | 车载控制器功能软件分支跳转方法 |
CN103399770B (zh) * | 2013-08-09 | 2017-03-01 | 株洲南车时代电气股份有限公司 | 一种初始化嵌入式裸板程序的方法 |
CN104407885B (zh) * | 2014-10-31 | 2017-11-10 | 武汉精测电子技术股份有限公司 | 同时对多台图形发生器内的fpga进行程序加载的方法 |
CN105302593B (zh) * | 2015-07-17 | 2018-12-18 | 天津市英贝特航天科技有限公司 | PowerPC主机板的远程升级系统及方法 |
CN105045761B (zh) * | 2015-08-26 | 2018-08-28 | 福建恒天晨光节能服务有限公司 | 一种数据中心的高速并行处理架构 |
CN105354061A (zh) * | 2015-11-05 | 2016-02-24 | 邦彦技术股份有限公司 | 一种保护mcu工作程序的方法及系统 |
CN105549990B (zh) * | 2015-12-07 | 2018-10-26 | 中国航空工业集团公司西安航空计算技术研究所 | 一种网络节点远程升级逻辑的多用户竞争控制方法 |
CN106961792A (zh) * | 2016-01-08 | 2017-07-18 | 上海和辉光电有限公司 | 线路板、提高线路板利用率的方法及系统 |
CN105930186B (zh) * | 2016-04-20 | 2019-03-08 | 中车株洲电力机车研究所有限公司 | 多cpu的软件加载方法及基于多cpu的软件加载装置 |
CN106201605B (zh) * | 2016-06-30 | 2019-02-19 | 成都金本华电子有限公司 | 基于FPGA和PowerPC的FPGA启动加载FLASH升级系统及方法 |
CN106980517B (zh) * | 2017-03-17 | 2020-10-09 | 杭州迪普科技股份有限公司 | 一种固件的下载方法及装置 |
CN108762828B (zh) * | 2018-04-24 | 2021-11-16 | 桂林长海发展有限责任公司 | 一种dsp多核阵列二级启动方法和装置 |
CN110456150A (zh) * | 2019-06-28 | 2019-11-15 | 宁波三星医疗电气股份有限公司 | 一种多路复用电能表及该电能表的数据存储方法 |
CN111078596A (zh) * | 2019-11-28 | 2020-04-28 | 杭州华澜微电子股份有限公司 | Flash芯片控制方法、设备、系统及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1983180A (zh) * | 2005-04-29 | 2007-06-20 | 美国凹凸微系有限公司 | 一种用于现场可编程门阵列位文件升级的系统及方法 |
CN101479718A (zh) * | 2006-06-27 | 2009-07-08 | 日本电气株式会社 | 多处理器系统以及使用它的便携式终端 |
CN102043648A (zh) * | 2009-10-23 | 2011-05-04 | 中兴通讯股份有限公司 | 多核系统及其启动方法 |
CN202548824U (zh) * | 2012-05-03 | 2012-11-21 | 天津市英贝特航天科技有限公司 | 一种单片flash启动多用户程序模块 |
-
2012
- 2012-05-03 CN CN201210133959.3A patent/CN102662718B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1983180A (zh) * | 2005-04-29 | 2007-06-20 | 美国凹凸微系有限公司 | 一种用于现场可编程门阵列位文件升级的系统及方法 |
CN101479718A (zh) * | 2006-06-27 | 2009-07-08 | 日本电气株式会社 | 多处理器系统以及使用它的便携式终端 |
CN102043648A (zh) * | 2009-10-23 | 2011-05-04 | 中兴通讯股份有限公司 | 多核系统及其启动方法 |
CN202548824U (zh) * | 2012-05-03 | 2012-11-21 | 天津市英贝特航天科技有限公司 | 一种单片flash启动多用户程序模块 |
Also Published As
Publication number | Publication date |
---|---|
CN102662718A (zh) | 2012-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102662718B (zh) | 一种单片flash启动多用户程序模块 | |
US20230236654A1 (en) | System on chip for reducing wake-up time, method of operating same, and computer system including same | |
KR101835056B1 (ko) | 논리적 코어들의 동적 맵핑 | |
EP3759713B1 (en) | Dynamic memory power management | |
JP2004295885A (ja) | メイン・メモリの動的再割当てが可能なコンピュータ・システム | |
US8769319B2 (en) | Reducing power consumption in memory line architecture | |
CN105659208A (zh) | 处理多个线程的数据处理装置及方法 | |
CN102122250A (zh) | 计算机系统及其操作系统切换方法 | |
CN106227683B (zh) | 电子设备及信息处理方法 | |
US9058257B2 (en) | Persistent block storage attached to memory bus | |
US8381003B2 (en) | Memory relocation in computer for power saving | |
CN102063943A (zh) | Nand闪存参数自动检测系统 | |
CN101710252A (zh) | 一种存储系统的供电方法和供电装置 | |
CN101872308A (zh) | 内存条控制系统及其控制方法 | |
CN102622257A (zh) | 电表在线自更新方法及其装置 | |
CN103914325A (zh) | 基于混合内存的Linux系统的关机、开机方法及系统 | |
CN202548824U (zh) | 一种单片flash启动多用户程序模块 | |
TWI602059B (zh) | 伺服器節點關機技術 | |
CN114647446A (zh) | 存储级存储装置、计算机模块及服务器系统 | |
US10877918B2 (en) | System and method for I/O aware processor configuration | |
CN105453066A (zh) | 处理器和存储器控制方法 | |
CN102117245B (zh) | 嵌入式设备及其系统可执行文件分割加载和启动方法 | |
CN101582037A (zh) | 共享基本输入输出系统的方法及其刀锋服务器与计算机 | |
US11474555B1 (en) | Data-driven platform characteristics capture and discovery for hardware accelerators | |
CN106980513A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150701 Termination date: 20170503 |