The present invention provides an operating system boot and boot method for an on-chip system, including: 1) on the system on the chip, the RBL is mounted on the system, and the primary boot program is read from the Nor Flash to the memory. The first level bootstrap program includes only the PLL configuration unit, the first board level hardware initialization unit to support the PLL configuration and the PLL configuration. The two level bootloader load unit; 2) running a primary boot program in memory, the processor executes the code of the first board level hardware initialization unit, and completes the initialization of the board level hardware to support the PLL configuration; executes the code for the PLL configuration unit, maximizes the clock frequency of the ARM core and the clock frequency of the SPI bus; After executing the code of the two - level boot loader, the two - level bootloader is loaded from Nor Flash into memory; 3) the code of the two - level boot program is executed, and the Linux boot boot is completed. The invention can shorten the start-up time of the SoC operating system.
【技术实现步骤摘要】
一种针对片上系统的操作系统启动引导方法
本专利技术涉及嵌入式操作系统与嵌入式驱动
,具体地说,本专利技术涉及一种针对片上系统的操作系统启动引导方法。
技术介绍
片上系统(SystemonChip,缩写为SoC)又称为芯片级系统,它目前已在市场上得到了广泛地应用。现有的SoC常常搭载Linux操作系统并通过该操作系统来实现各种设计功能。例如,对于基于多核ARM的芯片结构,在ARM上移植SMPLinux对称多核处理系统,能够使得用户不必关心SoC内部有多少个ARM核,任务调度以及内存分配由Linux内核完成,且操作系统对用户屏蔽了底层的硬件信息,实现了硬件虚拟化。Linux操作系统通常需要BootLoader来引导启动。通常地,BootLoader是芯片上电后运行的第一段程序,其主要功能是完成硬件初始化、建立内存空间映射图,将系统的软硬件环境带到一个适合的状态,最终实现引导操作系统的启动。因此,BootLoader是应用多核架构芯片的首要任务,它将系统配置到一个适宜系统启动的状态,以便为最终启动Linux系统准备好正确的环境。然而,SMPLinux对称多核处理系统的代码可能达到几百兆,而SoC的板上内存是十分有限的,不足以运行Linux系统。另一方面,用于引导Linux系统的BootLoader一般固化在外部存储器中,若在CPU初始状态下将整个BootLoader加载到内存中运行并启动Linux,往往会导致Linux操作系统启动时间过长甚至启动失败。为了解决片上内存不足以及BootLoader加载时间过长的问题,有人提出了一种分级引导的方法,该方法将Bo ...
【技术保护点】
1.一种针对片上系统的操作系统启动引导方法,所述片上系统包括带有内存的处理器、与所述处理器连接的DDR3存储器以及与所述处理器通过SPI总线连接的Nor Flash,所述处理器具有ARM核心和板载RBL,所述Nor Flash存储固化的一级引导程序和二级引导程序;所述引导方法包括下列步骤:1)片上系统上电后启动板载RBL,从所述Nor Flash读取所述一级引导程序至内存中,所述一级引导程序仅包括PLL配置单元、用于支持PLL配置的第一板级硬件初始化单元以及二级引导程序加载单元;2)在内存中运行一级引导程序,处理器执行第一板级硬件初始化单元的代码,完成用于支持PLL配置的板级硬件的初始化;执行对PLL配置单元的代码,使得ARM核心的时钟频率和SPI总线的时钟频率最大化;然后执行二级引导程序加载单元的代码,将二级引导程序从Nor Flash加载到内存中;3)执行二级引导程序的代码,完成Linux启动引导。
【技术特征摘要】
1.一种针对片上系统的操作系统启动引导方法,所述片上系统包括带有内存的处理器、与所述处理器连接的DDR3存储器以及与所述处理器通过SPI总线连接的NorFlash,所述处理器具有ARM核心和板载RBL,所述NorFlash存储固化的一级引导程序和二级引导程序;所述引导方法包括下列步骤:1)片上系统上电后启动板载RBL,从所述NorFlash读取所述一级引导程序至内存中,所述一级引导程序仅包括PLL配置单元、用于支持PLL配置的第一板级硬件初始化单元以及二级引导程序加载单元;2)在内存中运行一级引导程序,处理器执行第一板级硬件初始化单元的代码,完成用于支持PLL配置的板级硬件的初始化;执行对PLL配置单元的代码,使得ARM核心的时钟频率和SPI总线的时钟频率最大化;然后执行二级引导程序加载单元的代码,将二级引导程序从NorFlash加载到内存中;3)执行二级引导程序的代码,完成Linux启动引导。2.根据权利要求1所述的针对片上系统的操作系统启动引导方法,其特征在于,所述二级引导程序包括第二板级硬件初始化单元、复制单元、重定向单元以及Linux启动环境配置单元;所述第二板级硬件初始化单元用于完成未被第一板级硬件初始化单元初始化的其它板级硬件的初始化,所述的其它板级硬件的初始化至少包括DDR3存储器的初始化。3.根据权利要求2所述的针对片上系统的操作系统启动引导方法,其特征在于,所述步骤3)包括下列子步骤:31)在内存中运行第二引导程序,执行所述第二板级硬件初始化单元的代码,完成DDR3存储器的初始化,然后执行所述复制单元的代码,将内存中的第二引导程序复制到DDR3存储器中,执行重定向单元的代码,将PC指针指向被复制到DDR3存储器的第二引导程序的Linux启动环境配置单元的入口位置处;32)在DDR3存储器中运行Linux启动环境配置单元,完成Li...
【专利技术属性】
技术研发人员:曾定立,卓蕊潋,苏泳涛,马英矫,石晶林,丁国杰,
申请(专利权)人:北京中科晶上科技股份有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。