一种SOC系统启动过程中存储介质的驱动方法和装置制造方法及图纸

技术编号:17939249 阅读:26 留言:0更新日期:2018-05-15 19:47
本发明专利技术公开了一种SOC系统启动过程中存储介质的驱动方法和装置,所述方法应用于所述装置,所述方法包括以下步骤:首先运行第一启动单元中的第一启动代码;而后运行第二启动单元中的第二启动代码,判断第一启动单元中是否存储有第二启动代码所需的存储介质的驱动程序,若是则从第一启动单元中调用该存储介质的驱动程序并运行。上述方法通过第二启动单元复用第一启动单元中存储的存储介质的驱动程序,有效减小了第二启动单元中的第二启动代码的固件大小,也减小了第二启动代码对存储介质的存储空间和运行空间的需求。

【技术实现步骤摘要】
一种SOC系统启动过程中存储介质的驱动方法和装置
本专利技术涉及SOC架构领域,特别涉及一种SOC系统启动过程中存储介质的驱动方法和装置。
技术介绍
随着SOC功能越来越强大,设计越来越复杂,BOOTROM的功能也越来越强大。由于BOOTROM中的启动代码需要从不同的存储介质中加载下一级的BOOTLOADER,所以BOOTROM中必然包含不同存储介质的驱动程序。同时,BOOTLOADER也需要从不同的存储介质中加载下一级的固件,所以BOOTLOADER中也必然包含不同存储介质的驱动程序。另外,kernel也可能需要访问不同的存储介质,所以kernel中也可能包含不同存储介质的驱动程序。这样,在固件的不同部分包含了多份存储介质的驱动程序,这会导致造成bootloader、kernel的固件大小变大,从而造成了存储介质空间的浪费。又由于bootloader和kernel是在静态随机存储器或者内存中运行的,这也造成了静态随机存储器和内存空间的浪费。
技术实现思路
为此,需要提供一种SOC系统启动过程中存储介质的驱动的技术方案,用于解决现有SOC系统完成启动的相关固件大小大、浪费存储空间以及运行空间等问题。为实现上述目的,专利技术人提供了一种SOC系统启动过程中存储介质的驱动方法,所述方法包括以下步骤:运行第一启动单元中的第一启动代码;所述第一启动单元还存储有多个存储介质的驱动程序,所述第一启动代码包括第二启动单元所在的存储介质的驱动程序;运行第二启动单元中的第二启动代码,判断第一启动单元中是否存储有第二启动代码所需的存储介质的驱动程序,若是则从第一启动单元中调用该存储介质的驱动程序并运行;进一步地,所述方法还包括步骤:运行第三启动单元中的第三启动代码,判断第一启动单元中是否存储有第三启动代码所需的存储介质的驱动程序,若是则从第一启动单元中调用该存储介质的驱动程序并运行。进一步地,所述第一启动单元为BOOTROM,第二启动单元为BOOTLOADER,第三启动单元为操作系统内核。进一步地,所述第二启动代码所需的存储介质的驱动程序包括第三启动代码所在的存储介质的驱动程序。进一步地,所述第三启动代码所需的存储介质的驱动程序包括操作系统所在的存储介质对应的驱动程序。专利技术人还提供了一种SOC系统启动过程中存储介质的驱动装置,所述装置包括处理单元、第一启动单元、第二启动单元、第三启动单元;所述处理单元用于运行第一启动单元中的第一启动代码;所述第一启动单元还存储有多个存储介质的驱动程序,所述第一启动代码包括第二启动单元所在的存储介质的驱动程序;所述处理单元还用于运行第二启动单元中的第二启动代码,并判断第一启动单元中是否存储有第二启动代码所需的存储介质的驱动程序,若是则从第一启动单元中调用该存储介质的驱动程序并运行;进一步地,所述处理单元还用于运行第三启动单元中的第三启动代码,以及判断第一启动单元中是否存储有第三启动代码所需的存储介质的驱动程序,若是则从第一启动单元中调用该存储介质的驱动程序并运行。进一步地,所述第一启动单元为BOOTROM,第二启动单元为BOOTLOADER,第三启动单元为操作系统内核。进一步地,所述第二启动代码所需的存储介质的驱动程序包括第三启动代码所在的存储介质的驱动程序。进一步地,所述第三启动代码所需的存储介质的驱动程序包括操作系统所在的存储介质对应的驱动程序。上述技术方案所述的SOC系统启动过程中存储介质的驱动方法和装置,所述方法应用于所述装置,所述方法通过第二启动单元复用第一启动单元中存储的存储介质的驱动程序,有效减小了第二启动单元中的第二启动代码的固件大小,也减小了第二启动代码对存储介质的存储空间和运行空间的需求。附图说明图1为本专利技术一实施方式涉及的SOC系统启动过程中存储介质的驱动方法的流程图;图2为本专利技术一实施方式涉及的SOC系统启动过程中存储介质的驱动装置的示意图;附图标记说明:101、处理单元;102、第一启动单元;103、第二启动单元;104、第三启动单元。具体实施方式为详细说明技术方案的
技术实现思路
、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。请参阅图1,为本专利技术一实施方式涉及的SOC系统启动过程中存储介质的驱动方法的流程图。所述方法可以用于完成SOC系统启动,所述方法具体包括如下步骤:首先进入步骤S101运行第一启动单元中的第一启动代码;所述第一启动单元还存储有多个存储介质的驱动程序。所述第一启动代码包括第二启动单元所在的存储介质的驱动程序。在本实施方式中,所述第一启动单元为BOOTROM。所述存储介质包括软盘、光盘、DVD、硬盘、闪存、U盘、CF卡、SD卡、MMC卡、SM卡、记忆棒、xD卡、eMMC、SPIflash、SSD、网络硬盘中的一种或多种。在其他实施例中,所述存储介质还可以为其他具有存储功能的电子元件。SOC启动后会将BOOTROM中的第一启动代码加载到静态随机存储器(SRAM)中运行,所运行的代码包括第二启动单元所在的存储介质的驱动程序,例如第二启动单元存储于外部存储介质中,如硬盘中,则第一启动单元选择硬盘对应的驱动程序并运行,以便加载第二启动单元的第二启动代码。而后进入步骤S102运行第二启动单元中的第二启动代码,判断第一启动单元中是否存储有第二启动代码所需的存储介质的驱动程序,若是则从第一启动单元中调用该存储介质的驱动程序并运行。在本实施方式中,所述第二启动单元为BOOTLOADER,所述第二启动代码所需的存储介质的驱动程序包括第三启动代码所在的存储介质的驱动程序。第二启动代码为第一启动代码下一级代码,即SOC完成启动需要依次运行第一启动代码和第二启动代码。在某些实施例中,SOC完成启动的代码还可以包括第三启动代码,所述第三启动代码为第二启动代码的下一级启动代码。第二启动代码运行过程中可以通过从第一启动单元中获取第三启动代码所在的存储介质的驱动程序并执行,以便从第三启动单元中加载第三启动代码。在另一些实施例中,第二启动代码所需的存储介质的驱动程序还可以包括第二启动代码在运行过程中需要写入或读取的数据所在的存储介质的驱动程序。例如第二启动代码在运行过程中需要从DDR中读取数据,又需要向硬盘中写入数据,说明第二启动代码所需要的启动程序包括DDR和硬盘的驱动程序。第二启动单元会从第一启动单元中加载DDR以及硬盘的驱动程序,以便从DDR中读取数据或者向硬盘中写入数据。这样,通过复用第一启动单元中存储介质的驱动程序,有效减小了BOOTLOADER的固件大小、存储空间以及运行空间。在某些实施例中,所述方法还可以包括步骤:运行第三启动单元中的第三启动代码,判断第一启动单元中是否存储有第三启动代码所需的存储介质的驱动程序,若是则从第一启动单元中调用该存储介质的驱动程序并运行。在本实施方式中,第三启动单元为操作系统内核。所述第三启动代码所需的存储介质的驱动程序包括操作系统所在的存储介质对应的驱动程序。操作系统内核(kernel)是指大多数操作系统的核心部分,它由操作系统中用于管理存储器、文件、外设和系统资源的那些部分组成。操作系统内核通常运行进程,并提供进程间的通信。例如操作系统存储于硬盘中,第一启动单元存储有硬盘对应的驱动程序,则操作系统内核在运行第三启动代码本文档来自技高网
...
一种SOC系统启动过程中存储介质的驱动方法和装置

【技术保护点】
一种SOC系统启动过程中存储介质的驱动方法,其特征在在于,所述方法包括以下步骤:运行第一启动单元中的第一启动代码;所述第一启动单元还存储有多个存储介质的驱动程序,所述第一启动代码包括第二启动单元所在的存储介质的驱动程序;运行第二启动单元中的第二启动代码,判断第一启动单元中是否存储有第二启动代码所需的存储介质的驱动程序,若是则从第一启动单元中调用该存储介质的驱动程序并运行。

【技术特征摘要】
1.一种SOC系统启动过程中存储介质的驱动方法,其特征在在于,所述方法包括以下步骤:运行第一启动单元中的第一启动代码;所述第一启动单元还存储有多个存储介质的驱动程序,所述第一启动代码包括第二启动单元所在的存储介质的驱动程序;运行第二启动单元中的第二启动代码,判断第一启动单元中是否存储有第二启动代码所需的存储介质的驱动程序,若是则从第一启动单元中调用该存储介质的驱动程序并运行。2.如权利要求1所述的SOC系统启动过程中存储介质的驱动方法,其特征在于,所述方法还包括步骤:运行第三启动单元中的第三启动代码,判断第一启动单元中是否存储有第三启动代码所需的存储介质的驱动程序,若是则从第一启动单元中调用该存储介质的驱动程序并运行。3.如权利要求2所述的SOC系统启动过程中存储介质的驱动方法,其特征在于,所述第一启动单元为BOOTROM,第二启动单元为BOOTLOADER,第三启动单元为操作系统内核。4.如权利要求1或2所述的SOC系统启动过程中存储介质的驱动方法,其特征在于,所述第二启动代码所需的存储介质的驱动程序包括第三启动代码所在的存储介质的驱动程序。5.如权利要求3所述的SOC系统启动过程中存储介质的驱动方法,其特征在于,所述第三启动代码所需的存储介质的驱动程序包括操作系统所在的存储介质对应的驱动程序。6.一种SOC系统启动过程中存储介质的驱...

【专利技术属性】
技术研发人员:蔡枫
申请(专利权)人:福州瑞芯微电子股份有限公司
类型:发明
国别省市:福建,35

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

1