基于NAND FLASH的实时嵌入式系统及其启动方法技术方案

技术编号:24251196 阅读:85 留言:0更新日期:2020-05-22 23:24
本发明专利技术提供一种基于NAND FLASH的实时嵌入式系统及其启动方法,实时嵌入系统包括NAND FLASH存储器、嵌入式处理器OMAP、片外DDR、RBL、2‑32级UBL、2‑32级UBOOT和2‑32级Kernel。启动方法包括以下步骤:预先设定UBL、UBOOT和Kernel的级数分别为m、n和s;集成冗余补丁后,RBL启动机制自动替换为32级冗余并启动UBL;上电启动后,RBL自动运行并读取有效UBL,直至m级UBL均无效;运行UBL并读取有效UBOOT,直至n级UBOOT均无效;将所述UBOOT加载至片外DDR运行,挂载文件系统并读取对应文件夹下的内核镜像,加载有效Kernel至片外DDR中运行,直至s级Kernel无效,最终加载运行应用程序。本发明专利技术能够减轻甚至消除NAND带来的位反转效应,用少量的存储空间换取大幅度的系统可靠性提升,能有效地提高操作系统的完整性和可靠性。

Real time embedded system based on NAND flash and its starting method

【技术实现步骤摘要】
基于NANDFLASH的实时嵌入式系统及其启动方法
本专利技术涉及计算机系统及其启动方法,特别是一种基于NANDFLASH的实时嵌入式系统及其启动方法。
技术介绍
在当前大数据时代,工业传动领域的主流嵌入式设备平台必须基于海量数据存储空间进行考虑,提前布局平台性能用以支撑运行数据的高速性和庞大性。现有技术中所述平台的硬件架构采用NAND作为系统存储器件,软件架构的应用对象为工业传动领域的控制变流器平台,为保证控制变流器平台的数据交互实时性,采用VxWorks硬实时嵌入式操作系统。VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。请参阅图1,图1为现有技术中VxWorks系统的正常启动流程图,其包括以下步骤:(1)系统上电,OMAP加载RBL(只读存储器启动加载程序,ROMBootLoader)至片上RAM(随机存取存储器,RandomAccessMemory)中并运行;(2)RBL将UBL(用户引导加载程序,UserBootLoader)从本地存储器件NAND中解析并加载到片上RAM中,然后跳转PC,将CPU控制权移交给UBL;(3)UBL运行后,采用校验算法将UBOOT(通用引导加载程序,theUniversalBootLoader)从NAND中校验解析后,搬移到片外DDR中,然后再一次将CPU处理器控制权移交给UBOOT;(4)UBOOT在NAND的部分空间上搭建Yaffs文件系统,采用硬件On-DieECC校验算法将内核以文件的形式存储,UBOOT运行后,会自动运行预设的脚本,将VxWorks从文件系统中解析搬移到DDR中,再一次将CPU处理器控制权移交给VxWorks;(5)内核启动完成后,重新挂载Yaffs文件系统,再将相应的系统应用程序加载运行。由于系统启动所需的核心系统程序都存储于NAND中,存储在其内的相应二进制目标码不能出错,否则就会导致系统启动失败。NAND的存储电路机制,决定在写入数据之前必须先擦除成全F状态,也就是对单元存储cell电路进行充电。但是经过长期应用实践并研究NAND的现有制造工艺,发现NAND存在一个固有缺陷:单个存储cell偶尔会发生1变成0,也就是cell电容会缓慢放电,导致位反转(bitflop),造成数据的错误和丢失。于是,设备经常会随着时间的推移而出现故障,系统中的程序因位反转被破坏,尤其是系统启动程序的损坏,直接造成设备启动失败,且无法维护。一般地,设备平台系统由操作系统和应用程序组成,若应用程序被破坏,只需要简单通过对应以太网等类似的维护端口进行维护,操作简单便捷;若操作系统一旦损坏,则只能通过特定仿真器去维护,而控制变流器设备现场运行环境特殊,环境封闭、少人化甚至无人化,通过特定仿真器去维护是风险大、不可控和致命的。因此,确保操作系统的完整性和可靠性就成为了最重要和最根本的需求。因此,本专利技术提供了一种基于NANDFLASH的实时嵌入式系统及其启动方法。
技术实现思路
目前现有技术的NAND作为系统存储器件存在固有缺陷,所述控制变流器设备现场运行环境特殊,操作系统通过特定仿真器去维护的操作难度大且危险系数高,工业传动领域设备对所述操作系统的完整性和可靠性要求高,因此本专利技术提供一种解决以上问题的基于NANDFLASH的实时嵌入式系统及其启动方法。一种基于NANDFLASH的实时嵌入式系统,包括NANDFLASH存储器、嵌入式处理器OMAP、片外DDR和系统软件构架,所述系统软件构架包括RBL、m级UBL、n级UBOOT和s级Kernel,所述m、n和s范围为2-32之间。优选的,当UBL占用1个block、UBOOT占用2个block且kernel内核占用15个block时,所述系统软件构架包括RBL、4级UBL、6级UBOOT和5级Kernel。一种基于NANDFLASH的实时嵌入式系统的启动方法,包括前述的实时嵌入式系统,所述启动方法包括如下步骤:(1)预先设定UBL、UBOOT和Kernel实际使用的级数分别为m、n和s,所述m、n和s范围为2-32之间;(2)新增集成一个补丁至UBL,所述补丁将RBL最大冗余启动UBL级数扩充到32级,集成相应冗余补丁后,RBL启动机制自动替换为32级冗余并启动UBL;(3)主控处理器进行电复位,读到有效的冗余补丁后,OMAP上的RBL启动机制自动替换为32级冗余并启动UBL,其中读取第1级UBL若失败,RBL会读取第二级UBL,直至m级UBL均无效;(4)加载UBL至片上RAM后,通过数据校验算法尝试读取有效UBOOT,直至n级UBOOT均无效;(5)将所述UBOOT加载至片外DDR运行,挂载文件系统并读取对应文件夹下的内核镜像,加载有效Kernel至片外DDR中运行,直至s级Kernel无效,最终加载运行应用程序。优选的,所述RBL采用1bit校验算法。优选的,所述UBL采用OMAP芯片自带的硬件4bit校验算法。优选的,所述UBOOT采用NAND自带硬件on-dieecc校验。优选的,步骤(4)中UBL启动加载UBOOT的步骤包括:1)m级UBL目标码存储在NAND中前m个Bolck中,芯片上电复位后,RBL将UBL拷贝加载到片上RAM中运行;2)UBL程序执行点灯程序,用以标识UBL程序是否已经开始执行;3)进入真正的Local_boot函数主体,获取当前SOC的启动模式,完成板级必要外设的初始化Init,进而在NAND设备中查询并拷贝有效的UBOOT程序至DDR中运行。与现有技术相比,本专利技术提供的基于NANDFLASH的实时嵌入式系统及其启动方法对关键系统核心组成部分进行多级冗余备份,在不影响系统本身性能要求前提下,减轻甚至消除NAND带来的位反转效应,用少量的存储空间换取大幅度的系统可靠性提升,能有效地提高操作系统的完整性和可靠性,进而提高设备平台的可靠性。【附图说明】为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,其中:图1为现有技术中VxWorks系统的正常启动流程图;图2为本专利技术提供的基于NANDFLASH的实时嵌入式系统的启动流程图;图3为图2所示的UBL启动加载UBOOT的流程图;图4为本专利技术的软件架构的故障树分析模型;图5为本专利技术的软件架构在冗余级数m=n=s=32时的仿真结果;图6为本专利技术的软件架构在冗余级数n=s=32,m为单独变量时的仿真结果;图7为本专利技术的软件架构在冗余级数m=4,s=32,n为单独变量时的仿真结果;图8为本专利技术的软件架本文档来自技高网
...

【技术保护点】
1.一种基于NAND FLASH的实时嵌入式系统,其特征在于,包括NAND FLASH存储器、嵌入式处理器OMAP、片外DDR和系统软件构架,所述系统软件构架包括RBL、m级UBL、n级UBOOT和s级Kernel,所述m、n和s范围为2-32之间。/n

【技术特征摘要】
1.一种基于NANDFLASH的实时嵌入式系统,其特征在于,包括NANDFLASH存储器、嵌入式处理器OMAP、片外DDR和系统软件构架,所述系统软件构架包括RBL、m级UBL、n级UBOOT和s级Kernel,所述m、n和s范围为2-32之间。


2.根据权利要求1所述的实时嵌入式系统,其特征在于,当UBL占用1个block、UBOOT占用2个block且kernel内核占用15个block时,所述系统软件构架包括RBL、4级UBL、6级UBOOT和5级Kernel。


3.一种基于NANDFLASH的实时嵌入式系统的启动方法,其特征在于,包括权利要求1-2任一项所述的实时嵌入式系统,所述启动方法包括如下步骤:
(1)预先设定UBL、UBOOT和Kernel的级数分别为m、n和s,所述m、n和s范围为2-32之间;
(2)新增集成一个补丁至UBL,集成相应冗余补丁后,RBL启动机制自动替换为32级冗余并启动UBL;
(3)主控处理器进行电复位,读到有效的冗余补丁后,OMAP上的RBL启动机制自动替换为32级冗余并启动UBL,其中读取第1级UBL若失败,RBL会读取第二级UBL,直至m级UBL均无效;
(4)加载UBL至片上RAM后,通过数据校验算法尝试读取有效UBOOT,直至n级UBOOT均无效;<...

【专利技术属性】
技术研发人员:宋凯林黄峰李婷赵葵银
申请(专利权)人:湖南工程学院
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1