本发明专利技术公开了一种可实现引导启动的系统及引导启动的加载控制装置和方法。本发明专利技术将引导程序存放在不支持芯片内执行(XIP)操作但具有自动读特性的第一非易失性存储器件中,并将引导程序可被自动读的第一部分代码备份于第二非易失性存储器件、将剩余的第二部分代码备份于第一非易失性存储器件;逻辑芯片读取第一部分代码的备份至内置RAM、并切换CPU的引导片选输出与第一非易失性存储器件和内置RAM片选输入的导通,以供CPU从第一非易失性存储器件获取第一部分代码、或从内置RAM获取第一部分代码的备份;逻辑芯片还可以向CPU提供第二部分代码或其任一备份于第一非易失性存储器件中的位置信息,从而实现第二部分代码的备份启动。
【技术实现步骤摘要】
本专利技术涉及用于设备启动的引导技术,特别涉及一种可实现引导启动的系统、以 及一种引导启动控制装置和一种弓I导启动控制方法。
技术介绍
系统的引导程序,就是在CPU运行操作系统内核之前预先运行的一段小程序,以 供CPU初始化硬件设备、并建立内存空间的映射图,从而将系统的软硬件环境带到一个合 适的状态,以便为CPU最终调用操作系统内核准备好正确的环境。实际应用中,引导程序通常存放在支持芯片内执行(eXecute In Place,XIP)操作 的非易失性存储器件上,这样,CPU可以按照访问内存的方式来访问该非易失性存储器件、 用以直接执行该非易失性存储器件所存放的引导程序。例如,或非闪存(NOR FLASH)就是 一种支持XIP操作的非易失性存储器件,其接口形式如图1所示,至少包括地址总线、数据 总线、片选(CE)输入、读使能(OE)输入、写使能(WE)输入,NOR FLASH的接口读写控制时 序与通常用作内存的RAM相同,因而使得NOR FLASH成为存放引导程序的一种主流芯片。此外,与非闪存(NAND FLASH)也常用于存放引导程序,其相比于NOR FLASH具有 更高的单元密度、更小的单元尺寸,且擦写寿命约为N0RFLASH的10倍,但NAND FLASH不区 分地址和数据总线、因而不支持XIP,其接口形式如图2所示,包括I/O总线、地址锁存使能 (ALE)输入、命令锁存使能(CLE)输入、CE输入、TO输入、读使能(RD)输入,其中,ALE输入 有效时表示I/O总线传输的是地址信息、CLE输入有效时表示I/O总线传输的是操作命令, 相应地,基于如图3所示的系统结构,CPU对NANDFLASH的读写操作都是通过在I/O总线串 行交互地址信息和命令来实现的,这种读写操作方式显然与RAM不同,因而无法支持XIP操 作。虽然NAND FLASH不支持XIP操作,但多数NAND FLASH都支持一种自动读(Auto Read)的特性,具体参见图4,在Si,系统启动后,NANDFLASH会自动将引导程序中存放在固 定位置的PartO代码读入到内置缓存(BUFFER)中,读入至内置BUFFER的PartO代码的大 小约为几k,然后在S2,NAND FLASH将内置BUFFER中的PartO代码输出到I/O总线上、而 不受CPU输出的地址总线变化的影响,即实现了 Auto Read ;此后,CPU利用PartO代码完成 其内部的NAND FLASH接口控制器及其他必要的初始化操作,即可在S3通过NAND FLASH接 口控制器,按照前述串行利用I/O总线的方式从NAND FLASH中读取引导程序中剩余部分的 Partl代码,最终完成全部的引导启动操作。然而,上述方式利用NAND FLASH引导启动的方式却存在如下问题1)位翻转和坏块问题NAND FLASH通常都会存在位翻转和坏块问题,即NAND FLASH的数据存储可靠性比NOR FLASH差,如果使用NANDFLASH保存一般性数据,位翻转和 坏块问题可能并不是致命的,但如果使用NAND FLASH存储例如引导程序等敏感信息,则位 翻转和坏块所导致的引导程序的微小错误即会被放大、并可导致系统停机等致命性问题, 虽然CPU内的NAND FLASH接口控制器提供了纠错功能,但其无法彻底解决NAND FLASH数据存储不可靠的问题;2)无法实现引导程序的备份正是由于NAND FLASH存在位翻转和坏块的问题而 易导致引导程序出现错误、进而导致致命问题,因而引导程序的备份就显得尤为重要,然 而,NAND FLASH的接口特点决定了其不能像NOR FLASH—样实现数据的随机访问,因而无 法通过例如跳线等方式修改地址总线的连接方式,从而无法变更CPU对NAND FLASH的读地 址空间,进而即便NAND FLASH中存储有备份的引导程序也无法真正实现引导程序的备份。可见,现有技术中利用NAND FLASH存放引导程序,虽然理论上能够实现CPU的引 导启动,但无法通过引导程序的备份来克服NAND FLASH由于自身缺陷所容易导致的致命问 题,因而使得引导启动的可靠性不高。
技术实现思路
有鉴于此,本专利技术提供了一种可实现引导启动的系统、以及一种引导启动控制装 置和一种引导启动控制方法,能够提高引导启动的可靠性。本专利技术提供的一种可实现引导启动的系统,包括可利用弓丨导程序启动的CPU ;第一非易失性存储器件,其通过可兼容其自身所支持时序和RAM时序的第一总线 与CPU相连,且第一非易失性存储器件不支持芯片内执行XIP操作但具有自动读特性,并存 储有引导程序可被自动读的第一部分代码、以及剩余的第二部分代码;第二非易失性存储器件,其通过自身所支持时序的第二总线与CPU相连,并至少 存储有设备信息;其特征在于,第一非易失性存储器件中还存储有前述第二部分代码的若干备份; 第二非易失性存储器件中还存储有前述第一部分代码的备份;且,该系统还具有逻辑芯片,所述逻辑芯片内包括读取模块,其通过前述第二总线与第二非易失性存储器件相连,并在系统启动后 从第二非易失性存储器件读取第一部分代码的备份;内置RAM,其通过前述第一总线与CPU相连,并用于存储所述读取的第一部分代码 的备份、供CPU通过第一总线读取;控制模块,在系统启动后将CPU的引导片选输出与第一非易失性存储器件的片选 输入、或内置RAM的片选输入导通,并向CPU提供第二部分代码、或第二部分代码的任一备 份于第一非易失性存储器件中的位置信息;还在CPU由于第一部分代码而引导启动失败后 切换前述导通、并触发CPU重新执行引导启动,在CPU由于第二部分代码而引导启动失败后 变更提供给CPU的前述位置信息、并触发CPU重新执行引导启动。所述逻辑芯片进一步包括计数模块,对CPU进一步产生的反馈信号计数、并将计数结果提供给控制模块,其 中,CPU利用引导程序启动的过程中,每完成一个预定阶段即产生一个反馈信号;计时模块,当接收到前述反馈信号时自动计时清零,如果计时到达仍未收到前述 反馈信号则向控制模块产生超时信号;且,如果超时信号产生时,CPU已产生的反馈信号数量表示CPU未完成第一部分代 码所对应的各阶段,则控制模块变更CPU引导片选输出的导通、并触发CPU重新执行引导启动;如果超时信号产生时,CPU已产生的反馈信号数量表示CPU已完成第一部分代码所对应 的各阶段,则控制模块变更前述位置信息重新提供给CPU、并触发CPU重新执行引导启动。系统启动后的默认状态下,控制模块将CPU的引导片选输出与第一非易失性存储 器件的片选输入导通,并向CPU提供第二部分代码于第一非易失性存储器件中的位置信 息;CPU引导启动失败后,控制模块将将CPU的引导片选输出与内置RAM的片选输入导 通,并向CPU提供第二部分代码的任一备份于第一非易失性存储器件中的位置信息。控制模块通过CPU的复位输入来触发CPU重新执行引导启动。所述逻辑芯片进一步包括内置寄存器,其通过前述第一总线与CPU相连,且其片 选输入与CPU的逻辑片选输出导通;且,控制模块进一步向寄存器写入前述位置信息,以供CPU通过逻辑片选输出将 内置寄存器片选输入置为有效后通过第一总线读取前述位置信息。本文档来自技高网...
【技术保护点】
1.一种可实现引导启动的系统,包括:可利用引导程序启动的CPU;第一非易失性存储器件,其通过可兼容其自身所支持时序和RAM时序的第一总线与CPU相连,且第一非易失性存储器件不支持芯片内执行XIP操作但具有自动读特性,并存储有引导程序可被自动读的第一部分代码、以及剩余的第二部分代码;第二非易失性存储器件,其通过自身所支持时序的第二总线与CPU相连,并至少存储有设备信息;其特征在于,第一非易失性存储器件中还存储有前述第二部分代码的若干备份;第二非易失性存储器件中还存储有前述第一部分代码的备份;且,该系统还具有逻辑芯片,所述逻辑芯片内包括:读取模块,其通过前述第二总线与第二非易失性存储器件相连,并在系统启动后从第二非易失性存储器件读取第一部分代码的备份;内置RAM,其通过前述第一总线与CPU相连,并用于存储所述读取的第一部分代码的备份、供CPU通过第一总线读取;控制模块,在系统启动后将CPU的引导片选输出与第一非易失性存储器件的片选输入、或内置RAM的片选输入导通,并向CPU提供第二部分代码、或第二部分代码的任一备份于第一非易失性存储器件中的位置信息;还在CPU由于第一部分代码而引导启动失败后切换前述导通、并触发CPU重新执行引导启动,在CPU由于第二部分代码而引导启动失败后变更提供给CPU的前述位置信息、并触发CPU重新执行引导启动。...
【技术特征摘要】
【专利技术属性】
技术研发人员:段琳,赵志宇,钱嘉林,李星爽,
申请(专利权)人:杭州华三通信技术有限公司,
类型:发明
国别省市:86[中国|杭州]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。