CN109783148A - 一种U-Boot启动双备份系统 - Google Patents
一种U-Boot启动双备份系统 Download PDFInfo
- Publication number
- CN109783148A CN109783148A CN201910035347.2A CN201910035347A CN109783148A CN 109783148 A CN109783148 A CN 109783148A CN 201910035347 A CN201910035347 A CN 201910035347A CN 109783148 A CN109783148 A CN 109783148A
- Authority
- CN
- China
- Prior art keywords
- flash
- bus
- boot
- address
- double copies
- 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
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种U‑Boot启动双备份系统,包括主控制器CPU、FLASH、FPGA和硬件电路,主控制器CPU与FLASH通过localbus总线进行连接,FPGA和硬件电路分别与localbus总线进行连接,对FLASH的首地址位进行联合控制,FLASH的存储空间被划分成两个独立的区域,每个区域分别存放一段独立完整的U‑Boot启动代码,通过控制地址总线首地址的信号就可读取不同区域的U‑Boot启动代码,从而实现U‑Boot启动代码的双备份。本发明结构简单、可靠性高、易于实现、稳定性好。
Description
技术领域
本发明涉及实时嵌入式技术领域,尤其涉及一种U-Boot启动双备份系统。
背景技术
嵌入式操作系统(Embedded Operating System,简称:EOS)是一种用途广泛的系统软件,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动。它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。嵌入式系统的结构分为四个区,包括Bootloader区、参数区、内核镜像区和文件系统区,这4个区都以二进制数据的形式存放于嵌入式设备的Flash芯片上。由于参数区不用下载,在实际的操作中只下载其余3个区即可。
Coidre972开发板上的Bootloader区使用的是U-Boot,全称Universal BootLoader,它负责嵌入式系统最初的硬件初始化、驱动和内核加载,其源码目录、编译形式与嵌入式系统内核很相似。它支持尽可能多的嵌入式处理器和嵌入式操作系统。
在传统的U-Boot启动中,CPU只会单一的读取固定地址的U-Boot启动代码,在系统运行、维护和调试过程中一旦这一环节出现故障,将导致不可逆的结果,大大降低了系统的稳定性和可靠性指标。
发明内容
有鉴于此,本发明的目的在于,提供一种设计简单,定制灵活,可靠性和稳定性高的U-Boot启动双备份系统。
为实现上述目的,本发明采用的技术方案为:
一种U-Boot启动双备份系统,包括主控制器CPU、FLASH、FPGA和硬件电路,所述主控制器CPU与FLASH通过localbus总线进行连接,所述FPGA和硬件电路分别与所述localbus总线进行连接,对所述FLASH的首地址位进行联合控制,所述FLASH的存储空间被划分成两个独立的区域,每个区域分别存放一段独立完整的U-Boot启动代码。
优选的,所述localbus总线包括控制总线、地址总线和数据总线。
优选的,所述控制总线包含LCS片选信号线、INT中断控制线、ER/W读写使能信号线以及RST复位信号线。
优选的,所述LCS片选信号线为一条,当所述LCS片选信号线的信号为低电平时表示FLASH被选中。
优选的,所述地址总线宽度为19位。
优选的,所述地址总线的首位地址赋值为正时,对应的是FLASH中以0位为起始的存储空间中的U-Boot启动代码,当所述地址总线的首位地址赋值为负时,对应的是FLASH中以256位为起始的存储空间中的U-Boot启动代码。
优选的,所述地址总线和数据总线复用。
优选的,所述数据总线宽度为8位,双向传输。
优选的,所述FPGA用于并行数据和串行数据之间的转换。
优选的,所述系统用于实时嵌入式系统VxWorks领域中。
本发明的益处在于:
(1)实用性强,设计简单,可定制化程度高;
(2)可根据不同环境要求设置不同的启动代码,可靠性和可维性高;
(3)系统稳定性高,而且可用于较特殊领域,如军用和工业等专业用户。
附图说明
图1为本发明U-Boot启动双备份系统结构示意图
具体实施方式
如图1所示,一种U-Boot启动双备份系统,包括主控制器CPU、FLASH、FPGA和双备份设计电路,其中主控制器CPU与FLASH通过localbus总线进行通讯,FPGA和双备份设计电路分别与localbus总线进行通讯,联合控制对FLASH的首地址位进行选择。
主控制器CPU的作用是通过localbus总线来读取uboot启动代码和数据。FLASH的存储空间被划分成两块独立的区域,每个区域分别存放一段相对独立完整的U-Boot启动代码。在CPU与FLASH中间加入FPGA和硬件电路,目的是通过FPGA和硬件电路的联合控制,使得localbus总线的首地址可以跳变,不同的首地址对应不同的FLASH存储空间区域,CPU就可读取不同的U-Boot启动代码,从而达到备份U-Boot启动代码的目的。
localbus总线包括控制总线、地址总线和数据总线三部分:
(1)控制总线包含LCS片选信号线、INT中断控制线、ER/W读写使能信号线以及RST复位信号线。本发明只需要一条LCS片选信号线,当片选信号为低电平时表示FLASH被选中,此时地址、数据、读写使能信号才有效,CPU可以对FLASH内部进行读写操作。
(2)本系统中使用的地址总线为19位,则其寻址空间大小为219,即整个FLASH的存储空间为512kb。其中,首位地址线决定了CPU读取地址空间的初始寻址位置,通过控制首位地址的电平值来指定FLASH中不同区域的U-Boot启动代码,从而达到U-Boot启动的备份目的。具体的设计思路是通过FPGA与硬件控制电路的联合控制,使得FLASH首地址位(FLASH芯片首地址LBA13_A18)的赋值做一次翻转,当FLASH芯片首地址LBA13_A18的赋值为正向时,CPU通过localbus总线正常读取FLASH中以0位为起始的256kb的存储空间,这一区域存储空间存放着一段相对独立完整的U-Boot启动代码。当(FLASH芯片首地址LBA13_A18)的赋值为反向时,CPU通过localbus总线正常读取FLASH中以256位为起始的剩余的256kb存储空间,该空间内存放了另一段完整独立的U-Boot。本系统中,地址总线和数据总线可以复用。
(3)本系统使用的数据总线宽度为8位,双向传输。用于实现主控制器CPU与FLASH之间的双向数据传输。当发送数据时,CPU将数据写入FLASH的发送FIFO中,此时,FPGA内部逻辑将并行数据转换成串行数据并通过FLASH接口发送出去;当接收数据时,FPGA内部逻辑将FLASH接收到的外部串行数据转换成并行数据存入接收FIFO中,供CPU读取。
本发明可用于实时嵌入式系统VxWorks领域中,通过结构简洁,易于实现的电路设计,实现对实时嵌入式系统VxWorks的U-Boot启动的双备份,大大加强了系统运行,维护和调试的稳定性和可靠性,更方便针对不同的应用环境定制化设计启动代码,给一些特殊领域行业,如军工和工业应用等提供灵活、可操控的设计。
Claims (10)
1.一种U-Boot启动双备份系统,其特征在于,包括主控制器CPU、FLASH、FPGA和硬件电路,所述主控制器CPU与FLASH通过localbus总线进行连接,所述FPGA和硬件电路分别与所述localbus总线进行连接,对所述FLASH的首地址位进行联合控制,所述FLASH的存储空间被划分成两个独立的区域,每个区域分别存放一段独立完整的U-Boot启动代码。
2.根据权利要求1所述的一种U-Boot启动双备份系统,其特征在于,所述localbus总线包括控制总线、地址总线和数据总线。
3.根据权利要求2所述的一种U-Boot启动双备份系统,其特征在于,所述控制总线包含LCS片选信号线、INT中断控制线、ER/W读写使能信号线以及RST复位信号线。
4.根据权利要求3所述的一种U-Boot启动双备份系统,其特征在于,所述LCS片选信号线为一条,当所述LCS片选信号线的信号为低电平时表示FLASH被选中。
5.根据权利要求3所述的一种U-Boot启动双备份系统,其特征在于,所述地址总线宽度为19位。
6.根据权利要求2所述的一种U-Boot启动双备份系统,其特征在于,所述地址总线的首位地址赋值为正时,对应的是FLASH中以0位为起始的存储空间中的U-Boot启动代码,当所述地址总线的首位地址赋值为负时,对应的是FLASH中以256位为起始的存储空间中的U-Boot启动代码。
7.根据权利要求2所述的一种U-Boot启动双备份系统,其特征在于,所述地址总线和数据总线复用。
8.根据权利要求2所述的一种U-Boot启动双备份系统,其特征在于,所述数据总线宽度为8位,双向传输。
9.根据权利要求1所述的一种U-Boot启动双备份系统,其特征在于,所述FPGA用于并行数据和串行数据之间的转换。
10.根据权利要求1所述的一种U-Boot启动双备份系统,其特征在于,所述系统用于实时嵌入式系统VxWorks领域中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910035347.2A CN109783148A (zh) | 2019-01-15 | 2019-01-15 | 一种U-Boot启动双备份系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910035347.2A CN109783148A (zh) | 2019-01-15 | 2019-01-15 | 一种U-Boot启动双备份系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109783148A true CN109783148A (zh) | 2019-05-21 |
Family
ID=66500640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910035347.2A Pending CN109783148A (zh) | 2019-01-15 | 2019-01-15 | 一种U-Boot启动双备份系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109783148A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111124763A (zh) * | 2019-12-30 | 2020-05-08 | 安徽皖兴通信息技术有限公司 | 一种通讯设备启动配置数据备份同步方法 |
CN112256338A (zh) * | 2020-10-27 | 2021-01-22 | 记忆科技(深圳)有限公司 | Soc启动方法、装置、计算机设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101030140A (zh) * | 2006-03-02 | 2007-09-05 | 中兴通讯股份有限公司 | 一种对固件程序进行在线升级的装置及其方法 |
CN101464804A (zh) * | 2008-12-29 | 2009-06-24 | 杭州迪普科技有限公司 | 一种双Boot备份方法及安全设备 |
CN101499909A (zh) * | 2008-02-03 | 2009-08-05 | 中兴通讯股份有限公司 | 单板启动系统和方法 |
CN102135891A (zh) * | 2010-01-21 | 2011-07-27 | 杭州华三通信技术有限公司 | 可实现引导启动的系统及引导启动控制装置和方法 |
CN102520979A (zh) * | 2011-11-22 | 2012-06-27 | 大唐移动通信设备有限公司 | 一种Boot程序的备份方法和设备 |
CN102662749A (zh) * | 2012-03-23 | 2012-09-12 | 中兴通讯股份有限公司 | 一种双Boot切换的实现方法及装置 |
CN103298013A (zh) * | 2013-06-24 | 2013-09-11 | 京信通信系统(中国)有限公司 | 一种进行业务恢复的方法及装置 |
-
2019
- 2019-01-15 CN CN201910035347.2A patent/CN109783148A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101030140A (zh) * | 2006-03-02 | 2007-09-05 | 中兴通讯股份有限公司 | 一种对固件程序进行在线升级的装置及其方法 |
CN101499909A (zh) * | 2008-02-03 | 2009-08-05 | 中兴通讯股份有限公司 | 单板启动系统和方法 |
CN101464804A (zh) * | 2008-12-29 | 2009-06-24 | 杭州迪普科技有限公司 | 一种双Boot备份方法及安全设备 |
CN102135891A (zh) * | 2010-01-21 | 2011-07-27 | 杭州华三通信技术有限公司 | 可实现引导启动的系统及引导启动控制装置和方法 |
CN102520979A (zh) * | 2011-11-22 | 2012-06-27 | 大唐移动通信设备有限公司 | 一种Boot程序的备份方法和设备 |
CN102662749A (zh) * | 2012-03-23 | 2012-09-12 | 中兴通讯股份有限公司 | 一种双Boot切换的实现方法及装置 |
CN103298013A (zh) * | 2013-06-24 | 2013-09-11 | 京信通信系统(中国)有限公司 | 一种进行业务恢复的方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111124763A (zh) * | 2019-12-30 | 2020-05-08 | 安徽皖兴通信息技术有限公司 | 一种通讯设备启动配置数据备份同步方法 |
CN111124763B (zh) * | 2019-12-30 | 2022-11-01 | 安徽皖兴通信息技术有限公司 | 一种通讯设备启动配置数据备份同步方法 |
CN112256338A (zh) * | 2020-10-27 | 2021-01-22 | 记忆科技(深圳)有限公司 | Soc启动方法、装置、计算机设备及存储介质 |
CN112256338B (zh) * | 2020-10-27 | 2023-12-05 | 记忆科技(深圳)有限公司 | Soc启动方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6792501B2 (en) | Universal serial bus flash memory integrated circuit device | |
US5729683A (en) | Programming memory devices through the parallel port of a computer system | |
CN102053930B (zh) | 用于外围组件的命令队列 | |
US8533384B2 (en) | Flash memory controller garbage collection operations performed independently in multiple flash memory groups | |
JP5102644B2 (ja) | 直接メモリ・アクセスを使用してプログラマブル論理装置を初期化するための方法、集積回路、システム及びコンピュータ・プログラム | |
KR100693924B1 (ko) | 고속 직렬 인터페이스를 이용하는 부팅 시스템 및 부팅 방법 | |
CN100492334C (zh) | 串行周边接口装置 | |
CN107704285B (zh) | 现场可编程门阵列多版本配置芯片、系统和方法 | |
CN102968289A (zh) | 用于外围组件的高优先级命令队列 | |
WO1998012633A1 (en) | Method and system for pcmcia card boot from dual-ported memory | |
CN102103566A (zh) | 闪存存储器接口 | |
CN108319465B (zh) | 对fpga配置数据进行升级的电路及方法 | |
CN107273245B (zh) | 运算装置与运作方法 | |
CN103678201A (zh) | 具有逻辑设备能力的pci express切换器 | |
US20160267046A1 (en) | Low-Pin Microcontroller Device With Multiple Independent Microcontrollers | |
KR20170127420A (ko) | 다수의 독립적인 마이크로컨트롤러들을 구비한 마이크로컨트롤러 디바이스 | |
CN110647359B (zh) | 半导体装置、其操作方法和具有其的层叠存储装置 | |
CN111190855A (zh) | 一种fpga多重远程配置系统及方法 | |
CN109783148A (zh) | 一种U-Boot启动双备份系统 | |
CN112597078A (zh) | 数据处理系统、存储器系统和用于操作存储器系统的方法 | |
CN102520961A (zh) | 片外在线可编程的soc系统及其控制方法 | |
KR102645983B1 (ko) | 오픈 채널 벡터 커맨드 실행 | |
US7644247B2 (en) | System controller for flash memory | |
US20040098516A1 (en) | Booting from a re-programmable memory on an unconfigured bus | |
US7370810B2 (en) | Semiconductor device and memory card having the same |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190521 |
|
RJ01 | Rejection of invention patent application after publication |