获取板卡的类型id的方法和软件版本升级的方法

文档序号:6621861阅读:784来源:国知局
获取板卡的类型id的方法和软件版本升级的方法
【专利摘要】本发明提出了一种获取板卡的类型ID的方法,先将Bootloader编译后生成原始文件和将原始文件进行扩展生成扩展文件,再将所述扩展文件最末尾的四个字节用于保存板卡的类型ID,然后,再将上述扩展文件烧写进板卡的BootFlash里,这样即可自板卡的BootFlash里读取出板卡的类型ID。本发明获取板卡的类型ID的方法不再依赖硬件提供的信息,而是在板卡的BootFlash里直接读取出板卡的类型ID,方便,简单。基于在板卡的BootFlash里可直接读取出板卡的类型ID,还可用于判断软件是否适用于在板卡上进行升级,为软件升级的过程提供了便利。
【专利说明】获取板卡的类型ID的方法和软件版本升级的方法

【技术领域】
[0001]本发明涉及一种软件升级的方法,尤其是软件升级的方法中需要获取板卡的类型ID的环节。

【背景技术】
[0002]框式交换机设备包含多块插入式的板卡,每块板卡均有唯一的类型ID,在板上运行的软件也有唯一的版本号。
[0003]为了解决BUG或增加新功能,软件在产品生命周期内会陆续发布新版本的软件,后发布的版本号数值会比先发布的版本号数值大。本文提到的升级,除了从低版本升级到高版本,也包括从高版本降级到低版本。
[0004]在软件版本升级过程,需要识别待更新软件是否适用于指定板卡。通常的方法是判断待更新软件中包含其所支持板卡的类型ID与指定板卡的类型ID是否相同,相同则说明待更新软件适用于指定板卡;反之,则不适用于。这里提到的升级,除了从低版本升级到高版本,也包括从高版本降级到低版本。
[0005]然而,在软件升级过程,获取指定板卡的类型ID需要在源代码中调用驱动程序以先获取板卡的硬件类型,根据板卡的硬件类型和预先设定的映射关系产生出板卡的类型ID。因而,获取指定板卡的类型ID需依赖硬件提供的信息,当硬件变更硬件类型信息时,得不到正确的板卡类型ID,要软件升级模块同步修改映射关系才能产生正确的板卡类型ID。
[0006]板卡上最先配置的软件有Bootloader (引导安装软件)和系统镜像,Bootloade负责加载和引导系统镜像,在产品发布后,Bootloader不需要更新。因此,通常不会给用户提供bootloader ;而是在生产时把bootloader编译后再烧写到Boot flash (boot闪存)中。如图1所不,为bootloader编译后烧进256K的Boot flash后Boot flash的空间结构图,内部包括bootloader编译后的10K的原始文件bootloader, bin和未使用Boot flash空间。


【发明内容】

[0007]本发明需解决的技术问题是提供一种方便、简单、不再依赖硬件提供信息的获取板卡的类型ID的方法。
[0008]为解决上述的技术问题,本发明设计了一种获取板卡的类型ID的方法,其包括以下步骤:步骤1:将Bootloader编译后生成原始文件,再将原始文件进行扩展生成扩展文件;步骤2:将所述扩展文件最末尾的四个字节用于保存板卡的类型ID ;步骤3:将保存有板卡的类型ID的扩展文件烧写进板卡的BootFlash里;步骤4:自板卡的BootFlash里读取出板卡的类型ID。
[0009]作为本发明进一步改进,所述扩展文件的大小与BootFlash的空间大小相等。
[0010]作为本发明进一步改进,扩展文件包括原始文件、中间预留空间和最末尾的四个字节。
[0011]作为本发明进一步改进,所述中间预留空间全配置为I。
[0012]作为本发明进一步改进,所述自板卡的BootFlash里读取出板卡的类型ID的步骤包括:自板卡的BootFlash结束地址减四个字节处读取出板卡的类型ID。
[0013]本发明还提供一种板卡的BootFlash的空间结构,所述BootFlash的空间包括Bootloader编译后生成的原始文件、中间预留空间和最末尾的四个字节,所述最末尾的四个字节保存板卡的类型ID。所述中间预留空间全配置为I。
[0014]本发明还提供一种软件版本升级的方法,应用于包括如权利要求6或7所述的BootFlash的空间结构的板卡,其包括以下步骤:
[0015]步骤1:自板卡的BootFlash里读取出板卡的类型ID ;
[0016]步骤2:比较软件所支持的板卡的类型ID与步骤I中读取出的类型ID是否相同,如果相同,说明软件适用于在该板卡上升级,如果不相同,则不适合于在该板卡上升级。
[0017]本发明获取板卡的类型ID的方法不再依赖硬件提供的信息,而是在板卡的BootFlash里直接读取出板卡的类型ID,方便,简单。基于在板卡的BootFlash里可直接读取出板卡的类型ID,还可用于判断软件是否适用于在板卡上进行升级,为软件升级的过程提供了便利。

【专利附图】

【附图说明】
[0018]图1是现有技术板卡的Boot flash的空间结构图;
[0019]图2是本发明板卡的Boot flash的空间结构图。

【具体实施方式】
[0020]为了使本领域相关技术人员更好地理解本发明的技术方案,下面将结合附图和实施方式,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。
[0021]本发明提供了一种获取板卡的类型ID的方法,可以在板卡的BootFlash里直接读取出板卡的类型ID,用于判断软件是否适用于在板卡上进行升级,为软件升级的过程提供了便利。
[0022]为了在板卡的BootFlash里直接读取出板卡的类型ID,本发明将板卡的类型ID连同Bootloader烧进BootFlash里。因为在产品发布后,Bootloader基本不再更新,信息不会变更。把板卡的类型ID写在Bootloader程序中,使用时直接从BootFlash里读取,即可直接获取到正确的、唯一的板卡的类型ID。本发明针对每块板卡,提供单独的Bootloader用于生产烧写。
[0023]本发明获取板卡的类型ID的方法的具体的操作方法是:先将Bootloader编译后生成原始文件,再将原始文件进行扩展生成扩展文件。在本实施例中,将扩展文件的大小扩展到BootFlash的空间大小,即扩展文件的大小与BootFlash的空间相等。扩展之后,扩展文件最末尾的四个字节用来保存板卡的类型ID,此时,再将保存有板卡的类型ID的扩展文件烧写进板卡的BootFlash里。因而,在BootFlash里保存有板卡的类型ID,即可以在板卡的BootFlash里直接读取出板卡的类型ID,而不需要依赖于硬件提供信息。在本实施例中,由于类型ID保存在最末尾的四个字节,因而自板卡的BootFlash结束地址减四个字节处读取出板卡的类型ID。
[0024]在本实施例中,扩展文件包括原始文件、中间预留空间和最末尾的四个字节。中间预留空间全填充1,最末尾的四个字节保存板卡的类型ID。该扩展文件烧写进BootFlash中,如图2所示,BootFlash的空间分布为原始文件、中间预留空间和最末尾的四个字节,在本实施例中,BootFlash的空间为256K ;原始文件为Bootloader编译后、大小为10K的文件 bootloader, bin。
[0025]基于在板卡的BootFlash里可直接读取出板卡的类型ID,因而,可用于在软件版本升级的方法中判断软件是否适用于板卡。在软件进行升级时,首先自板卡的BootFlash里读取出板卡的类型ID ;然后再比较软件所支持的板卡的类型ID与自板卡的BootFlash里读取出的类型ID是否相同,如果相同,说明软件适用于在该板卡上升级,如果不相同,则不适合于在该板卡上升级。
[0026]本发明获取板卡的类型ID的方法不再依赖于硬件提供的信息,而是在板卡的BootFlash里直接读取出板卡的类型ID,方便,简单。基于在板卡的BootFlash里直接读取出板卡的类型ID,还可用于判断软件是否适用于在板卡上进行升级,为软件升级的过程提供了便利。
[0027]以上仅表达了本发明的一种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【权利要求】
1.一种获取板卡的类型ID的方法,其特征在于,包括以下步骤: 步骤1:将Bootloader编译后生成原始文件,再将原始文件进行扩展生成扩展文件; 步骤2:将所述扩展文件最末尾的四个字节用于保存板卡的类型ID ; 步骤3:将保存有板卡的类型ID的扩展文件烧写进板卡的BootFlash里; 步骤4:自板卡的BootFlash里读取出板卡的类型ID。
2.根据权利要求1所述的获取板卡的类型ID的方法,其特征在于,所述扩展文件的大小与BootFlash的空间大小相等。
3.根据权利要求2所述的获取板卡的类型ID的方法,其特征在于,扩展文件包括原始文件、中间预留空间和最末尾的四个字节。
4.根据权利要求3所述的获取板卡的类型ID的方法,其特征在于,所述中间预留空间全配置为I。
5.根据权利要求3所述的获取板卡的类型ID的方法,其特征在于,所述自板卡的BootFlash里读取出板卡的类型ID的步骤包括:自板卡的BootFlash结束地址减四个字节处读取出板卡的类型ID。
6.一种板卡的BootFlash的空间结构,其特征在于,所述BootFlash的空间包括Bootloader编译后生成的原始文件、中间预留空间和最末尾的四个字节,所述最末尾的四个字节保存板卡的类型ID。
7.根据权利要求6所述的板卡的BootFlash的空间结构,其特征在于,所述中间预留空间全配置为I。
8.一种软件版本升级的方法,应用于包括如权利要求6或7所述的BootFlash的空间结构的板卡,其特征在于,包括以下步骤: 步骤1:自板卡的BootFlash里读取出板卡的类型ID ; 步骤2:比较软件所支持的板卡的类型ID与步骤I中读取出的类型ID是否相同,如果相同,说明软件适用于在该板卡上升级,如果不相同,则不适合于在该板卡上升级。
【文档编号】G06F9/445GK104199678SQ201410367753
【公开日】2014年12月10日 申请日期:2014年7月30日 优先权日:2014年7月30日
【发明者】钟捷群, 刘驰, 胡哲 申请人:上海斐讯数据通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1