系统开发方法、系统引导方法及装置制造方法及图纸

技术编号:21604837 阅读:22 留言:0更新日期:2019-07-13 18:00
本发明专利技术提供了系统开发方法、系统引导方法及装置,在可编程片上系统的开发过程中,将第一阶段引导器和第二阶段引导器打包成一个文件,这个文件将写入非易失性存储器中;将硬件配置文件、Linux内核文件、设备树文件和根文件系统文件分别作为一个单独的文件存储。因为硬件配置文件与第一阶段引导器及第二阶段引导器相互隔离,所以硬件开发人员在硬件开发过程修改硬件后,只需提供修改后的硬件配置文件,使软件系统能够加载修改后的硬件配置文件即可,软件系统加载修改后的硬件配置文件的过程不需要软件开发人员修改相应的软件文件,实现了硬件开发和软件开发并行开发,极大地提高了系统开发效率。

System Development Method, System Guidance Method and Device

【技术实现步骤摘要】
系统开发方法、系统引导方法及装置
本专利技术属于软件开发
,尤其涉及系统开发方法、系统引导方法及装置。
技术介绍
可编程片上系统集成有微处理器和现场可编程门阵列(Field-ProgrammableGateArray,FPGA),广泛应用于车载系统的开发中。在可编程片上系统这样的平台上,系统(如Linux系统)开发过程通常涉及硬件开发和软件开发两部分。硬件开发主要针对FPGA部分,开发的成果是生成硬件配置文件和设备描述信息,其中,硬件配置文件中存储有FPGA的配置信息,设备描述信息用于描述可编程片上系统的硬件信息。软件开发是根据硬件开发得到的硬件系统,开发、剪裁或修改对应的系统软件和应用软件,具体的,根据硬件描述信息生成设备树文件,得到第一阶段引导器、第二阶段引导器、Linux内核文件和根文件系统文件。其中,第一阶段引导器、硬件配置文件和第二阶段引导器被打包成一个可执行文件,且该可执行文件需要存储到非易失性存储器中;设备树文件、Linux内核文件和根文件系统文件打包成另一个可执行文件。硬件系统的迭代开发过程中,设计好基本的硬件系统框架后,需要根据硬件系统功能需求完善硬件系统,这个过程中硬件配置文件会持续修改。由于硬件配置文件嵌入在第一个可执行文件中,所以一旦硬件配置文件更新,软件开发人员就需要同步更新硬件配置文件所在的可执行文件。而第一阶段引导器和第二阶段引导器是系统启动的关键文件,因此,只有在该可执行文件更新后,硬件开发人员才能看到其硬件开发成果。即,硬件开发与软件开发相耦合,不能并行独立,导致开发效率低。
技术实现思路
有鉴于此,本专利技术的目的在于提供系统开发方法、系统引导方法及装置,以解决现有的可编程片上系统开发方式中硬件开发部分和软件开发部分相互耦合,导致开发效率低的技术问题,其具体的技术方案如下:第一方面,本专利技术提供了一种系统开发方法,应用于可编程片上系统,包括:生成用于存储所述可编程片上系统的内置可编程逻辑器件的配置信息的硬件配置文件,以及,获取所述内置可编程逻辑器件的硬件描述信息;依据所述硬件描述信息生成设备树文件,所述设备树文件用于表征所述内置可编程逻辑器件的硬件属性;生成第一阶段引导器文件、第二阶段引导器文件,并将所述第一阶段引导器文件和所述第二阶段引导器文件作为一个引导器可执行文件写入非易失性存储器中;生成Linux内核文件并存储所述Linux内核文件;生成根文件系统文件并存储所述根文件系统文件。第二方面,本专利技术提供了一种系统引导方法,应用于利用权利要求1所述的方法开发得到的可编程片上系统中,所述方法包括:将非易失性存储器中的引导器可执行文件加载至所述可编程片上系统的内存中,所述引导器可执行文件包括第一阶段引导器文件和第二阶段引导器文件;执行所述引导器可执行文件中的第一阶段引导器文件,对所述可编程片上系统的基础硬件进行初始化;执行所述引导器可执行文件中的第二阶段引导器文件完成对所述可编程片上系统的其它硬件的初始化,以及完成以下步骤:读取硬件配置文件,并依据所述硬件配置文件配置所述可编程片上系统的内置可编程逻辑器件;读取Linux内核文件并加载至所述内存中;读取设备树文件并加载至所述内存中;读取根文件系统文件并加载至所述内存中;执行加载至所述内存中的所述Linux内核文件、所述根文件系统文件和所述设备树文件,以使所述可编程片上系统进入操作系统并运行。可选地,所述读取硬件配置文件,并依据所述硬件配置文件配置所述可编程片上系统的内置可编程逻辑器件,包括:获取所述硬件配置文件的存储位置;依据所述存储位置读取所述硬件配置文件;对所述硬件配置文件进行校验,若校验正确,则判断所述硬件配置文件是否需要解压;若所述硬件配置文件需要解压,则对所述硬件配置文件进行解压;依据解压后的硬件配置文件配置所述内置可编程逻辑器件;若所述硬件配置文件不需要解压,则直接依据所述硬件配置文件配置所述内置可编程逻辑器件。可选地,所述读取Linux内核文件并加载至所述内存中,包括:获取所述Linux内核文件的存储位置;依据所述Linux内核文件的存储位置读取所述Linux内核文件;对所述Linux内核文件进行校验,若校验正确,则将所述Linux内核文件加载至所述内存中。可选地,所述读取设备树文件并加载至所述内存中,包括:获取所述设备树文件的存储位置;依据所述设备树文件的存储位置读取设备树文件;对所述设备树文件进行校验,若校验正确,则将所述设备树文件加载至所述内存中。可选地,所述读取根文件系统文件并加载至所述内存中,包括:获取所述根文件系统文件的存储位置;依据所述存储位置读取所述根文件系统文件;对所述根文件系统文件进行校验,若校验正确,则将所述根文件系统文件加载至所述内存中。第三方面,本专利技术还提供了一种系统开发装置,应用于可编程片上系统,包括:配置文件生成模块,用于生成用于存储所述可编程片上系统的内置可编程逻辑器件的配置信息的硬件配置文件,以及,获取所述内置可编程逻辑器件的硬件描述信息;设备树生成模块,用于依据所述硬件描述信息生成设备树文件,所述设备树文件用于表征所述内置可编程逻辑器件的硬件属性;引导器文件生成模块,用于生成第一阶段引导器文件、第二阶段引导器文件,并将所述第一阶段引导器文件和所述第二阶段引导器文件作为一个引导器可执行文件写入非易失性存储器中;内核文件生成模块,用于生成Linux内核文件并存储所述Linux内核文件;根文件系统生成模块,用于生成根文件系统文件并存储所述根文件系统文件。第四方面,本专利技术还提供了一种系统引导装置,应用于利用第三方面所述的装置开发得到的可编程片上系统中,所述装置包括:引导器文件加载模块,用于将非易失性存储器中的引导器可执行文件加载至所述可编程片上系统的内存中,所述引导器可执行文件包括第一阶段引导器文件和第二阶段引导器文件;第一执行模块,用于执行所述引导器可执行文件中的第一阶段引导器文件,对所述可编程片上系统的基础硬件进行初始化;第二执行模块,用于执行所述引导器可执行文件中的第二阶段引导器文件完成对所述可编程片上系统的其它硬件的初始化,以及完成以下步骤:读取硬件配置文件,并依据所述硬件配置文件配置所述可编程片上系统的内置可编程逻辑器件;读取Linux内核文件并加载至所述内存中;读取设备树文件并加载至所述内存中;读取根文件系统文件并加载至所述内存中;第三执行模块,用于执行加载至所述内存中的所述Linux内核文件、所述根文件系统文件和所述设备树文件,以使所述可编程片上系统进入操作系统并运行。可选地,所述第二执行模块用于读取硬件配置文件,并依据所述硬件配置文件配置所述可编程片上系统的内置可编程逻辑器件时,包括:第一获取子模块,用于获取所述硬件配置文件的存储位置;第一读取子模块,用于依据所述存储位置读取所述硬件配置文件;第一校验子模块,用于对所述硬件配置文件进行校验;第一判断子模块,用于当对所述硬件配置文件校验正确时,判断所述硬件配置文件是否需要解压;解压子模块,用于当判定所述硬件配置文件需要解压时,对所述硬件配置文件进行解压;配置子模块,用于依据解压后的硬件配置文件配置所述内置可编程逻辑器件,或者,当所述硬件配置文件不需要解压时,直接依据所述硬件配置文件配置所述内置可编程逻辑器件。可本文档来自技高网...

【技术保护点】
1.一种系统开发方法,应用于可编程片上系统,其特征在于,包括:生成用于存储所述可编程片上系统的内置可编程逻辑器件的配置信息的硬件配置文件,以及,获取所述内置可编程逻辑器件的硬件描述信息;依据所述硬件描述信息生成设备树文件,所述设备树文件用于表征所述内置可编程逻辑器件的硬件属性;生成第一阶段引导器文件、第二阶段引导器文件,并将所述第一阶段引导器文件和所述第二阶段引导器文件作为一个引导器可执行文件写入非易失性存储器中;生成Linux内核文件并存储所述Linux内核文件;生成根文件系统文件并存储所述根文件系统文件。

【技术特征摘要】
1.一种系统开发方法,应用于可编程片上系统,其特征在于,包括:生成用于存储所述可编程片上系统的内置可编程逻辑器件的配置信息的硬件配置文件,以及,获取所述内置可编程逻辑器件的硬件描述信息;依据所述硬件描述信息生成设备树文件,所述设备树文件用于表征所述内置可编程逻辑器件的硬件属性;生成第一阶段引导器文件、第二阶段引导器文件,并将所述第一阶段引导器文件和所述第二阶段引导器文件作为一个引导器可执行文件写入非易失性存储器中;生成Linux内核文件并存储所述Linux内核文件;生成根文件系统文件并存储所述根文件系统文件。2.一种系统引导方法,其特征在于,应用于利用权利要求1所述的方法开发得到的可编程片上系统中,所述方法包括:将非易失性存储器中的引导器可执行文件加载至所述可编程片上系统的内存中,所述引导器可执行文件包括第一阶段引导器文件和第二阶段引导器文件;执行所述引导器可执行文件中的第一阶段引导器文件,对所述可编程片上系统的基础硬件进行初始化;执行所述引导器可执行文件中的第二阶段引导器文件完成对所述可编程片上系统的其它硬件的初始化,以及完成以下步骤:读取硬件配置文件,并依据所述硬件配置文件配置所述可编程片上系统的内置可编程逻辑器件;读取Linux内核文件并加载至所述内存中;读取设备树文件并加载至所述内存中;读取根文件系统文件并加载至所述内存中;执行加载至所述内存中的所述Linux内核文件、所述根文件系统文件和所述设备树文件,以使所述可编程片上系统进入操作系统并运行。3.根据权利要求2所述的方法,其特征在于,所述读取硬件配置文件,并依据所述硬件配置文件配置所述可编程片上系统的内置可编程逻辑器件,包括:获取所述硬件配置文件的存储位置;依据所述存储位置读取所述硬件配置文件;对所述硬件配置文件进行校验,若校验正确,则判断所述硬件配置文件是否需要解压;若所述硬件配置文件需要解压,则对所述硬件配置文件进行解压;依据解压后的硬件配置文件配置所述内置可编程逻辑器件;若所述硬件配置文件不需要解压,则直接依据所述硬件配置文件配置所述内置可编程逻辑器件。4.根据权利要求2所述的方法,其特征在于,所述读取Linux内核文件并加载至所述内存中,包括:获取所述Linux内核文件的存储位置;依据所述Linux内核文件的存储位置读取所述Linux内核文件;对所述Linux内核文件进行校验,若校验正确,则将所述Linux内核文件加载至所述内存中。5.根据权利要求2所述的方法,其特征在于,所述读取设备树文件并加载至所述内存中,包括:获取所述设备树文件的存储位置;依据所述设备树文件的存储位置读取设备树文件;对所述设备树文件进行校验,若校验正确,则将所述设备树文件加载至所述内存中。6.根据权利要求2所述的方法,其特征在于,所述读取根文件系统文件并加载至所述内存中,包括:获取所述根文件系统文件的存储位置;依据所述存储位置读取所述根文件系统文件;对所述根文件系统文件进行校验,若校验正确,则将所述根文件系统文件加载至所述内存...

【专利技术属性】
技术研发人员:李泓渊周晨露
申请(专利权)人:上海仁童电子科技有限公司
类型:发明
国别省市:上海,31

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

1