书签 分享 收藏 举报 版权申诉 / 6

一种BOOTLOADER架构设计方法.pdf

  • 上传人:111****112
  • 文档编号:5803996
  • 上传时间:2019-03-20
  • 格式:PDF
  • 页数:6
  • 大小:337.69KB
  • 摘要
    申请专利号:

    CN201010022850.3

    申请日:

    2010.01.15

    公开号:

    CN101763279A

    公开日:

    2010.06.30

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||专利申请权的转移IPC(主分类):G06F 9/445变更事项:申请人变更前权利人:上海维宏电子科技股份有限公司变更后权利人:上海维宏电子科技股份有限公司变更事项:地址变更前权利人:201108 上海市闵行区都会路2338弄总部一号企业园区29号变更后权利人:201108 上海市闵行区都会路2338弄总部一号企业园区29号变更事项:共同申请人变更前权利人:上海奈凯电子科技有限公司登记生效日:20120605|||著录事项变更IPC(主分类):G06F 9/445变更事项:申请人变更前:上海维宏电子科技有限公司变更后:上海维宏电子科技股份有限公司变更事项:地址变更前:200032 上海市徐汇区斜土路1221号305室变更后:201108 上海市闵行区都会路2338弄总部一号企业园区29号变更事项:共同申请人变更前:上海奈凯电子科技有限公司变更后:上海奈凯电子科技有限公司|||实质审查的生效IPC(主分类):G06F 9/445申请日:20100115|||公开

    IPC分类号:

    G06F9/445

    主分类号:

    G06F9/445

    申请人:

    上海维宏电子科技有限公司; 上海奈凯电子科技有限公司

    发明人:

    谢皓; 周俊华

    地址:

    200032 上海市徐汇区斜土路1221号305室

    优先权:

    专利代理机构:

    上海天翔知识产权代理有限公司 31224

    代理人:

    吕伴

    PDF完整版下载: PDF下载
    内容摘要

    本发明公开了一种BootLoader架构设计方法。该方法包括如下步骤:将Flash地址空间划分为五个区域,分别为:启动代码区、配置区、参数区、镜像区和数据区,启动代码区负责硬件平台的初始化;配置区存放处理器相关的配置文件以及外围固件的配置文件,由启动代码调用;参数区存放启动代码和操作系统间需要传递交互的参数;镜像区保存内存内核镜像的副本,可随时进行调试、维护和更新;数据区存放应用软件和用户数据。本发明提供的BootLoader架构设计方法架构结构清晰,功能更加强大,便于维护和修改,可扩展性强,在软件更新和功能扩展方面优势明显的BootLoader架构设计方法。

    权利要求书

    权利要求书
    1.  一种BootLoader架构设计方法,其特征在于:该方法包括如下步骤:
    第一步:将Flash地址空间划分为五个区域,分别为:负责硬件平台的初始化的启动代码区(1)、存放处理器相关的配置文件以及外围固件的配置文件的配置区(2)、存放启动代码和操作系统间需要传递交互参数的参数区(3)、保存内存内核镜像副本的镜像区(4)以及存放应用软件和用户数据的数据区(5);
    第二步:在启动代码区(1)内添加内存地址规划的配置文件,为平台上不同的功能模块划分不同的内存区域;
    第三步:将启动代码区(1)划分为两个部分:硬件平台相关的代码区和平台独立的公共代码区;
    第四步:定制操作系统,制作内核镜像,存放在镜像区(4),在PC机端边修改边调试,下载到RAM中测试,最后将稳定版本烧写到Flash的镜像区(4);
    第五步:在数据区(5)根据用户需求添加第三方软件、用户程序和数据。

    2.  根据权利要求1所述的BootLoader架构设计方法,其特征在于:所述的启动代码区(1)有两种操作模式:启动加载模式和下载模式。

    3.  根据权利要求2所述的BootLoader架构设计方法,其特征在于:所述的启动加载模式启动引导代码首先初始化外围设备,从配置区读取固件程序配置到外围芯片中,然后从目标机上的存储设备上将操作系统,即内核镜像,加载到RAM中运行。

    4.  根据权利要求2所述的BootLoader架构设计方法,其特征在于:所述的下载模式启动代码同样先初始化外围设备,配置外围芯片,然后通过传输通道或外部存储介质,将操作系统下载或者复制到目标机的RAM中,然后写到目标机的Flash存储设备中。

    5.  根据权利要求1所述的BootLoader架构设计方法,其特征在于:所述的配置区(2)存放两类文件:一类是和微处理器相关的配置文件,开发人员可根据具体的硬件平台选择合适的配置文件,方便地在不同的处理器间移植,另一类是外围固件的配置文件,启动程序可调用该文件完成外围固件的相关初始化。

    6.  根据权利要求1所述的BootLoader架构设计方法,其特征在于:所述的参数区(3)存放启动程序和内核之间的传递参数,内核可以访问这段区域得到相应的启动参数,灵活地在不同的运行模式间切换。

    7.  根据权利要求1所述的BootLoader架构设计方法,其特征在于:所述的镜像区(4)存放着核心的操作系统,被加载到RAM中运行。

    8.  根据权利要求1所述的BootLoader架构设计方法,其特征在于:所述的数据区(5)根据需要划分不同的文件系统,保存应用程序和用户数据,用户在该区域自由存取数据,从外部存储介质拷贝数据或读出数据保存到外部存储介质中。

    说明书

    说明书一种BootLoader架构设计方法
    技术领域
    本发明涉及BootLoader架构设计方法,特别是涉及一种架构结构清晰,功能更加强大,便于维护和修改,可扩展性强,在软件更新和功能扩展方面优势明显的BootLoader架构设计方法。
    背景技术
    嵌入式系统是以应用为中心,软硬件可剪裁的,适用于对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。它具有软件代码小、高度自动化、响应速度快等特点,特别适合于要求实时和多任务的体系。嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成,可独立工作。
    BootLoader是用来完成嵌入式系统启动和系统软件加载工作的程序,是系统开发中关键的步骤。BootLoader一方面提供强大的程序下载和调试功能,另一方面要便于扩展更新和软件升级,给用户提供一种便于修改,便于在所有微处理器上移植的友好的软件架构。
    不带BootLoader的嵌入式操作系统灵活性较差,缺少与用户的信息交互过程,无法实现便捷有效的参数传递。每次对系统的软硬件部分做修改,都需要改动系统软件,对操作系统重新编译、调试、下载,这样延长了开发周期,也浪费了大量资源,不利于系统的升级和维护。
    而目前许多带BootLoader的操作系统都是针对特定的微处理器平台设计的,硬件的修改会对软件带来很大的影响,软件修改的工作量较大,故灵活性也不够。
    发明内容
    针对上述问题,本发明的主要目的在于提供一种架构结构清晰,功能更加强大,便于维护和修改,可扩展性强,在软件更新和功能扩展方面优势明显的通用的嵌入式系统启动引导程序(Boot Loader)的框架设计方法。
    本发明是通过下述技术方案来解决上述技术问题的:一种Boot Loader架构设计方法,该方法包括如下步骤:第一步:将Flash地址空间划分为五个区域,分别为:负责硬件平台的初始化的启动代码区、存放处理器相关的配置文件以及外围固件的配置文件的配置区、存放启动代码和操作系统间需要传递交互参数的参数区、保存内存内核镜像副本的镜像区以及存放应用软件和用户数据的数据区;
    第二步:在启动代码区内添加内存地址规划的配置文件,为平台上不同的功能模块划分不同的内存区域;
    第三步:将启动代码区划分为两个部分:硬件平台相关的代码区和平台独立的公共代码区;
    第四步:定制操作系统,制作内核镜像,存放在镜像区,在PC机端边修改边调试,下载到RAM中测试,最后将稳定版本烧写到Flash的镜像区;
    第五步:在数据区根据用户需求添加第三方软件、用户程序和数据。
    其中,所述的启动代码区有两种操作模式:启动加载模式和下载模式。
    其中,所述的启动加载模式启动引导代码首先初始化外围设备,从配置区读取固件程序配置到外围芯片中,然后从目标机上的存储设备上将操作系统,即内核镜像,加载到RAM中运行。
    其中,所述的下载模式启动代码同样先初始化外围设备,配置外围芯片,然后通过传输通道或外部存储介质,将操作系统下载或者复制到目标机的RAM中,然后写到目标机的Flash存储设备中。
    其中,所述的配置区存放两类文件:一类是和微处理器相关的配置文件,开发人员可根据具体的硬件平台选择合适的配置文件,方便地在不同的处理器间移植,另一类是外围固件的配置文件,启动程序可调用该文件完成外围固件的相关初始化。
    其中,所述的参数区存放启动程序和内核之间的传递参数,内核可以访问这段区域得到相应的启动参数,灵活地在不同的运行模式间切换。
    其中,所述的镜像区存放着核心的操作系统,被加载到RAM中运行。
    其中,所述的数据区根据需要划分不同的文件系统,保存应用程序和用户数据,用户在该区域自由存取数据,从外部存储介质拷贝数据或读出数据保存到外部存储介质中。
    本发明的积极进步效果在于:本发明提供的BootLoader架构设计方法具有以下优点:这种BootLoader架构结构更加清晰,功能更加强大,便于维护和修改,可扩展性强,在软件更新和功能扩展方面优势明显。
    附图说明
    图1是本发明的系统整体框图;
    图2是本发明的启动代码区框图。
    具体实施方式
    下面结合附图给出本发明较佳实施例,以详细说明本发明的技术方案。图1是本发明的系统整体框图,如图1所示,左侧为一块Flash芯片,右侧为RAM芯片。Flash中的代码可以自拷贝到RAM中运行,也可以由启动代码引导,拷贝到RAM。
    将Flash划分为五个区:启动代码区,配置区,参数区,镜像区和数据区。启动代码区存放启动引导代码;配置区存放处理器和外围固件的配置文件;参数区存放启动程序和内核间的需要传递的参数;镜像区存放内核镜像;数据区存放应用软件和用户数据。
    A、引导启动区
    启动引导代码有两种操作模式:
    1)启动加载模式
    该模式下,启动引导代码首先初始化外围设备,从配置区读取固件程序配置到外围芯片中,然后从目标机上的某个存储设备上将操作系统(即内核镜像)加载到RAM中运行,整个过程没有用户的介入,也没有信息交互。该模式为正常的运行模式。
    2)下载模式
    在该模式下,启动代码同样先初始化外围设备,配置外围芯片,然后通过传输通道或外部存储介质,将操作系统下载或者复制到目标机的RAM中,然后写到目标机的Flash存储设备中。可选的传输通道包括:串口、USB、网络等。可选的外部存储介质也很多,例如SD卡、U盘等。该模式通常在第一次安装操作系统时使用。
    具体可将其实现代码分为两类:与硬件平台相关的代码、平台独立的代码。这样,任何硬件平台的修改只需改动启动代码中和硬件平台相关的代码即可,给开发人员带来了很大的便利。启动代码区的框图如图2所示。基本硬件初始化需要配合具体的板级电路来实现,属于硬件平台相关代码;内存地址规划也和板级的存储设备相关,可以由开发者根据需求自行规划修改,这部分也属于硬件平台相关代码;网络驱动和协议,Flash驱动和分区功能等是可以在各平台之间通用的,属于平台独立的代码部分。这里将Flash驱动归入公共代码部分,是考虑到它的重要性,可以将其设计成大小页兼容的驱动,增强通用性。具体来讲,和平台相关的代码包括CPU参数配置,外围模块的初始化和驱动设计(例如初始化RAM,网络驱动,串口USB驱动等)。另外,与平台无关的部分包括一些小的网络协议栈和Flash设备的分区功能。协议栈为网络下载提供DHCP,TFTP,UDP等网络服务功能,Flash分区功能为镜像区和数据区创建分区。启动代码区还有一个关键的部分是内存地址的规划,给不同的功能模块划分不同的内存区域。科学合理的分配内存地址保障了系统运行的稳定性。启动程序还可提供命令行界面,用户通过选择不同的方式下载、调试或运行操作系统,具有很大的灵活性。
    B、配置区
    配置区存放两类文件:一类是和微处理器相关的配置文件,开发人员可根据具体的硬件平台选择合适的配置文件,方便地在不同的处理器间移植。另一类是外围固件的配置文件,启动程序可调用该文件完成外围固件的相关初始化。
    C、参数区
    参数区存放启动程序和内核之间的传递参数。内核可以访问这段区域得到相应的启动参数,灵活地在不同的运行模式间切换。
    D、镜像区
    镜像区存放着核心的操作系统,它可以被加载到RAM中运行。当处于调试状态时,操作系统从PC机下载到RAM中,边调试边修改。可以将调试完成的稳定版本镜像再复制到Nand Flash的镜像区,覆盖旧版本。这样,既方便了操作系统的调试和错误定位,也有效地保证了镜像区中操作系统的稳定型。
    E、数据区
    数据区可根据需要划分不同的文件系统,保存应用程序和用户数据。用户可在该区域自由存取数据,从外部存储介质拷贝数据或读出数据保存到外部存储介质中。
    以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内,本发明要求保护范围由所附的权利要求书及其等效物界定。

    关 键  词:
    一种 BOOTLOADER 架构 设计 方法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种BOOTLOADER架构设计方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-5803996.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1