软件版本升级方法和单板的制作方法

文档序号:9471189阅读:452来源:国知局
软件版本升级方法和单板的制作方法
【技术领域】
[0001]本发明涉及软件升级和维护领域,尤其涉及软件版本升级方法和单板。
【背景技术】
[0002]基于嵌入式系统的产品经常会使用多种不同大小或型号等配置不一的外围器件(如RAM/FLASH等)来实现多价格层次以满足不同梯度市场的需求,对用户应用来说,提供的功能项并不改变,产品型号一般不需要改变。在boot (启动)阶段,CPU到BootLoader (引导加载程序)的某一固定地址读取启动参数及RAM/FLASH等外围器件配置参数对其进行初始化,配置参数由BootLoader程序提供,且必须与单板的器件类型匹配,否则无法启动。此时若单纯以产品型号来区分,在BootLoader程序中只保存一份外围器件配置参数,则独立的产品种类会以指数式增加,且BootLoader相互不兼容,维护极为不便。若在BootLoader程序中针对每一种外围器件的组合保存一份配置参数,则BootLoader体积会逐渐变大,也不利于以后的升级及维护。

【发明内容】

[0003]本发明的主要目的旨在解决嵌入式系统中基于同一型号不同外围器件的软件版本升级和维护的问题。
[0004]为实现上述目的,本发明提供一种软件版本升级方法,应用于单板中,所述软件版本升级方法包括以下步骤:
[0005]加载用于升级FLASH芯片中烧结的第一 BootLoader的第二 BootLoader至内存芯片;
[0006]获取FLASH芯片中的第一 BootLoader的外围器件配置参数,其中,所述外围器件配置参数存储在所述FLASH芯片的预定位置;
[0007]写入所述外围器件配置参数至内存芯片中的所述第二 BootLoader的对应参数位置,得到包含所述外围器件配置参数的第二 BootLoader ;
[0008]写入包含所述外围器件配置参数的第二 BootLoader至所述Flash芯片,以替换所述第一 BootLoader。
[0009]优选地,所述升级方法还包括:
[0010]加载用于升级的其他文件至内存芯片,其中,所述其他文件为除所述第二bootloader之外的升级文件;
[0011]写入所述其他文件至所述FLASH芯片,以替换对应的旧版本文件。
[0012]优选地,所述加载用于升级FLASH芯片中烧结的第一 BootLoader的第二BootLoader至内存芯片的步骤之前,还包括:
[0013]建立映射表,将外围器件和所述外围器件配置参数建立对应关系。
[0014]优选地,所述加载用于升级FLASH芯片中烧结的第一 BootLoader的第二BootLoader至内存芯片之后还包括CRC校验步骤,如果校验成功,则执行获取FLASH芯片中的第一 BootLoader的外围器件配置参数的步骤,所述CRC校验步骤为:
[0015]校验所述第一 BootLoader的校验值和所述第二 BootLoader的校验值是否相同,如果相同,则校验成功。
[0016]优选地,所述写入所述外围器件配置参数至内存芯片中的所述第二 BootLoader的对应参数位置,得到包含所述外围器件配置参数的第二 BootLoader的步骤之后还包括检测步骤,如果校验成功,则执行写入包含所述外围器件配置参数的第二 BootLoader至所述Flash芯片,以替换所述第一 BootLoader的步骤,所述检测步骤为:
[0017]检测所述第一 BootLoader的该预定位置和所述第二 BootLoader的该对应参数位置是否一致,如果位置对应一致,则检测成功。
[0018]为了解决以上的技术问题,本发明还提供一种单板,所述单板包括:
[0019]加载模块,用于加载用于升级FLASH芯片中烧结的第一 BootLoader的第二BootLoader至内存芯片;
[0020]获取模块,用于获取FLASH芯片中的第一BootLoader的外围器件配置参数,其中,所述外围器件配置参数存储在所述FLASH芯片的预定位置;
[0021]写入模块,用于写入所述外围器件配置参数至内存芯片中的所述第二 BootLoader的对应参数位置,得到包含所述外围器件配置参数的第二 BootLoader ;还用于写入包含所述外围器件配置参数的第二 BootLoader至所述Flash芯片,以替换所述第一 BootLoader。
[0022]优选地,所述单板,
[0023]加载模块,还用于包括写入模块,用于加载用于升级的其他文件至内存芯片,其中,所述其他文件为除所述第二 bootloader之外的升级文件;
[0024]写入模块,还用于写入所述其他文件至所述FLASH芯片,以替换对应的旧版本文件。
[0025]所述单板还包括映射模块,用于建立映射表,将外围器件和所述外围器件配置参数建立对应关系。
[0026]优选地,所述单板还包括校验模块,校验所述第一 BootLoader的校验值和所述第二 BootLoader的校验值是否相同,如果相同,则校验成功。
[0027]优选地,所述单板还包括检测模块,检测所述第一 BootLoader的该预定位置和所述第二 BootLoader的该对应参数位置是否一致,如果位置对应一致,则检测成功。
[0028]本发明提供的软件版本升级方法包括以下步骤:加载用于升级FLASH芯片中烧结的第一 BootLoader的第二 BootLoader至内存芯片;获取FLASH芯片中的第一 BootLoader的外围器件配置参数,其中,所述外围器件配置参数存储在所述FLASH芯片的预定位置;写入所述外围器件配置参数至内存芯片中的所述第二 BootLoader的对应参数位置,得到包含所述外围器件配置参数的第二 BootLoader ;写入包含所述外围器件配置参数的第二BootLoader至所述Flash芯片,以替换所述第一 BootLoader。本发明提供的软件版本升级方法所能实现的有益效果为在后续升级同一型号产品的软件时,不必根据外围器件的不同,升级不同类型版本软件,只需保留一份配置参数和一个升级版本软件,就能解决软件升级时和外围器件兼容的问题,从而减少了软件升级和维护的麻烦,实现了成本上的节约。
【附图说明】
[0029]图1为本发明软件版本升级方法第一实施例的流程示意图;
[0030]图2为本发明软件版本升级方法第二实施例的流程示意图;
[0031]图3为本发明软件版本升级方法第三实施例的流程示意图;
[0032]图4为本发明单板一实施例的结构示意图。
[0033]本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
【具体实施方式】
[0034]应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0035]本发明提供一种软件版本升级方法,参照图1,图1为本发明软件版本升级方法第一实施例的流程示意图,在第一实施例中,该软件版本升级方法包括:
[0036]步骤S100、加载用于升级FLASH芯片中烧结的第一 BootLoader的第二BootLoader至内存芯片。
[0037]兼入式系统采用“BootLoader+0S (Operating System,操作系统)”结构,BootLoader 米用 uboot (Universal Boot Loader,通用 bootloader 引导程序),OS 米用Linux系统。BootLoader软件制作时,要根据不同的外围器件的类型和大小以及软件升级方式的不同制作多份BootLoader升级软件,比如说,外围器件可以是内存芯片,也可以是闪存芯片,在本实施例中,内存芯片采用RAM芯片,闪存芯片采用Flash芯片,其中Flash芯片和RAM芯片会采用不同大小不同型号的芯片,其中,可选用的Flash芯片包括smallpage256Mb Nand Flash 和 large pageIGb Nand Flash 两种,可选用的 RAM 芯片包括 IGbDDR2 (Double Data Rate2,四倍资料率同步动态随机存取内存)、lGb DDR3 (Double DataRate3,八倍资料率同步动态随机存取内存)、512Mb DDR2、512Mb DDR3四种,软件写入方式包括Flash芯片烧录方式和单板升级方式,对于兼入式系统的整体产品来说,如果只是存储的空间不同,而总体提供的功能项不变,那么产品在命名时型号将不改变,在硬件方面保证Flash芯片及RAM芯片大小和型号的兼容,如果按照现有的软件写入方式,在软件方面,需要兼容外围芯片的8种类型大小和两种不同的软件写入方式,需要8份烧结版本软件、8份版本升级软件,则至少需要制作16份文件才能保证产品完全运行。而在本实例中,只要制作8份烧结版本软件、I份升级版本软件即可保证产品完全运行,因为烧结版本软件在产线量产时就已经写入,则在后期产品维护中只需要一份升级软件就可以实现不同外围器件的软件版本兼容。
[0038]当烧结版本软件烧录时,根据单板上外围器件的配置,单板将对应外围器件的烧结版本软件的第一 BootLoader以及OS的内核和文件系统写入Flash芯片的O地址中,OS的内核及文件系统可不做修改直接写入,其中,外围器件配置参数放置在第一 BootLoader的预定位置,此时单板可以正常启动烧结版本软件。软件升级维护时,单板连接网络,升级版本软件的第二 BootLoader通过网络下载到单板上,单板有自己的Iinux操作系统,单板加载用于升级FLASH芯片中烧结的第一 BootLoader的第二 BootLoader至内存芯片。
[0039]步骤S200、获取FLASH芯片中的第一 BootLoader的外围器件配置参数
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1