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

技术编号:10733781 阅读:152 留言:0更新日期:2014-12-10 10:46
本发明专利技术提出了一种获取板卡的类型ID的方法,先将Bootloader编译后生成原始文件和将原始文件进行扩展生成扩展文件,再将所述扩展文件最末尾的四个字节用于保存板卡的类型ID,然后,再将上述扩展文件烧写进板卡的BootFlash里,这样即可自板卡的BootFlash里读取出板卡的类型ID。本发明专利技术获取板卡的类型ID的方法不再依赖硬件提供的信息,而是在板卡的BootFlash里直接读取出板卡的类型ID,方便,简单。基于在板卡的BootFlash里可直接读取出板卡的类型ID,还可用于判断软件是否适用于在板卡上进行升级,为软件升级的过程提供了便利。

【技术实现步骤摘要】
【专利摘要】本专利技术提出了一种获取板卡的类型ID的方法,先将Bootloader编译后生成原始文件和将原始文件进行扩展生成扩展文件,再将所述扩展文件最末尾的四个字节用于保存板卡的类型ID,然后,再将上述扩展文件烧写进板卡的BootFlash里,这样即可自板卡的BootFlash里读取出板卡的类型ID。本专利技术获取板卡的类型ID的方法不再依赖硬件提供的信息,而是在板卡的BootFlash里直接读取出板卡的类型ID,方便,简单。基于在板卡的BootFlash里可直接读取出板卡的类型ID,还可用于判断软件是否适用于在板卡上进行升级,为软件升级的过程提供了便利。【专利说明】获取板卡的类型ID的方法和软件版本升级的方法
本专利技术涉及一种软件升级的方法,尤其是软件升级的方法中需要获取板卡的类型ID的环节。
技术介绍
框式交换机设备包含多块插入式的板卡,每块板卡均有唯一的类型ID,在板上运行的软件也有唯一的版本号。 为了解决BUG或增加新功能,软件在产品生命周期内会陆续发布新版本的软件,后发布的版本号数值会比先发布的版本号数值大。本文提到的升级,除了从低版本升级到高版本,也包括从高版本降级到低版本。 在软件版本升级过程,需要识别待更新软件是否适用于指定板卡。通常的方法是判断待更新软件中包含其所支持板卡的类型ID与指定板卡的类型ID是否相同,相同则说明待更新软件适用于指定板卡;反之,则不适用于。这里提到的升级,除了从低版本升级到高版本,也包括从高版本降级到低版本。 然而,在软件升级过程,获取指定板卡的类型ID需要在源代码中调用驱动程序以先获取板卡的硬件类型,根据板卡的硬件类型和预先设定的映射关系产生出板卡的类型ID。因而,获取指定板卡的类型ID需依赖硬件提供的信息,当硬件变更硬件类型信息时,得不到正确的板卡类型ID,要软件升级模块同步修改映射关系才能产生正确的板卡类型ID。 板卡上最先配置的软件有Bootloader (引导安装软件)和系统镜像,Bootloade负责加载和引导系统镜像,在产品发布后,Bootloader不需要更新。因此,通常不会给用户提供bootloader ;而是在生产时把bootloader编译后再烧写到Boot flash (boot闪存)中。如图1所不,为bootloader编译后烧进256K的Boot flash后Boot flash的空间结构图,内部包括bootloader编译后的10K的原始文件bootloader, bin和未使用Boot flash空间。
技术实现思路
本专利技术需解决的技术问题是提供一种方便、简单、不再依赖硬件提供信息的获取板卡的类型ID的方法。 为解决上述的技术问题,本专利技术设计了一种获取板卡的类型ID的方法,其包括以下步骤:步骤1:将Bootloader编译后生成原始文件,再将原始文件进行扩展生成扩展文件;步骤2:将所述扩展文件最末尾的四个字节用于保存板卡的类型ID ;步骤3:将保存有板卡的类型ID的扩展文件烧写进板卡的BootFlash里;步骤4:自板卡的BootFlash里读取出板卡的类型ID。 作为本专利技术进一步改进,所述扩展文件的大小与BootFlash的空间大小相等。 作为本专利技术进一步改进,扩展文件包括原始文件、中间预留空间和最末尾的四个字节。 作为本专利技术进一步改进,所述中间预留空间全配置为I。 作为本专利技术进一步改进,所述自板卡的BootFlash里读取出板卡的类型ID的步骤包括:自板卡的BootFlash结束地址减四个字节处读取出板卡的类型ID。 本专利技术还提供一种板卡的BootFlash的空间结构,所述BootFlash的空间包括Bootloader编译后生成的原始文件、中间预留空间和最末尾的四个字节,所述最末尾的四个字节保存板卡的类型ID。所述中间预留空间全配置为I。 本专利技术还提供一种软件版本升级的方法,应用于包括如权利要求6或7所述的BootFlash的空间结构的板卡,其包括以下步骤: 步骤1:自板卡的BootFlash里读取出板卡的类型ID ; 步骤2:比较软件所支持的板卡的类型ID与步骤I中读取出的类型ID是否相同,如果相同,说明软件适用于在该板卡上升级,如果不相同,则不适合于在该板卡上升级。 本专利技术获取板卡的类型ID的方法不再依赖硬件提供的信息,而是在板卡的BootFlash里直接读取出板卡的类型ID,方便,简单。基于在板卡的BootFlash里可直接读取出板卡的类型ID,还可用于判断软件是否适用于在板卡上进行升级,为软件升级的过程提供了便利。 【专利附图】【附图说明】 图1是现有技术板卡的Boot flash的空间结构图; 图2是本专利技术板卡的Boot flash的空间结构图。 【具体实施方式】 为了使本领域相关技术人员更好地理解本专利技术的技术方案,下面将结合附图和实施方式,对本专利技术实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本专利技术一部分实施方式,而不是全部的实施方式。 本专利技术提供了一种获取板卡的类型ID的方法,可以在板卡的BootFlash里直接读取出板卡的类型ID,用于判断软件是否适用于在板卡上进行升级,为软件升级的过程提供了便利。 为了在板卡的BootFlash里直接读取出板卡的类型ID,本专利技术将板卡的类型ID连同Bootloader烧进BootFlash里。因为在产品发布后,Bootloader基本不再更新,信息不会变更。把板卡的类型ID写在Bootloader程序中,使用时直接从BootFlash里读取,即可直接获取到正确的、唯一的板卡的类型ID。本专利技术针对每块板卡,提供单独的Bootloader用于生产烧写。 本专利技术获取板卡的类型ID的方法的具体的操作方法是:先将Bootloader编译后生成原始文件,再将原始文件进行扩展生成扩展文件。在本实施例中,将扩展文件的大小扩展到BootFlash的空间大小,即扩展文件的大小与BootFlash的空间相等。扩展之后,扩展文件最末尾的四个字节用来保存板卡的类型ID,此时,再将保存有板卡的类型ID的扩展文件烧写进板卡的BootFlash里。因而,在BootFlash里保存有板卡的类型ID,即可以在板卡的BootFlash里直接读取出板卡的类型ID,而不需要依赖于硬件提供信息。在本实施例中,由于类型ID保存在最末尾的四个字节,因而自板卡的BootFlash结束地址减四个字节处读取出板卡的类型ID。 在本实施例中,扩展文件包括原始文件、中间预留空间和最末尾的四个字节。中间预留空间全填充1,最末尾的四个字节保存板卡的类型ID。该扩展文件烧写进BootFlash中,如图2所示,BootFlash的空间分布为原始文件、中间预留空间和最末尾的四个字节,在本实施例中,BootFlash的空间为256K ;原始文件为Bootloader编译后、大小为10K的文件 bootloader, bin。 基于在板卡的BootFlash里可直接读取出板卡的类型ID,因而,可用于在软件版本升级的方法中判断软件是否适用于板卡。在软件进行升级时,首先自板卡的BootFlash里读取出板卡的类型ID ;然后再比较软件所支本文档来自技高网
...
获取板卡的类型ID的方法和软件版本升级的方法

【技术保护点】
一种获取板卡的类型ID的方法,其特征在于,包括以下步骤:步骤1:将Bootloader编译后生成原始文件,再将原始文件进行扩展生成扩展文件;步骤2:将所述扩展文件最末尾的四个字节用于保存板卡的类型ID;步骤3:将保存有板卡的类型ID的扩展文件烧写进板卡的BootFlash里;步骤4:自板卡的BootFlash里读取出板卡的类型ID。

【技术特征摘要】

【专利技术属性】
技术研发人员:钟捷群刘驰胡哲
申请(专利权)人:上海斐讯数据通信技术有限公司
类型:发明
国别省市:上海;31

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

1