一种基于Bootloader的CSFP光模块升级方法技术

技术编号:11213681 阅读:67 留言:0更新日期:2015-03-27 00:15
本发明专利技术公开了一种基于Bootloader的CSFP光模块升级方法,包括:在CSFP光模块的微控制器的FLASH区域中,开辟出Bootloader存放区域,其中存储有Bootloader启动程序;选择启动Bootloader,对FLASH区域中的程序代码区域内的数据执行升级操作。本发明专利技术使得光模块出厂后,不必返厂使用编程器烧录程序,即可完成程序的更新,达到兼容不同类型和要求的交换机或路由器的目的,同时,厂商通过远程控制实现程序升级,或者客户可通过光模块总线接口进行程序升级,降低了工作量,减少了因为壳件拆卸造成的程序升级成本。

【技术实现步骤摘要】
—种基于Bootloader的CSFP光模块升级方法
本专利技术涉及光模块升级,特别是涉及。
技术介绍
光模块是一种提供光电一电光转换能力的集成化通讯配件,其内部结构框图如图1所示。其中,微控制器主要功能是提供与主机端的通讯总线硬件接口和警告、告警硬件接口。目前市场上主流光模块均包含可编程的微控制器。CSFP光模块是近年来一种新兴的光模块,采用与常规SFP光模块同等大小的封装,集成了两个全双工通讯光模块,使得光模块体积不变的条件下,数据传输能力增加了一倍。光模块作为交换机、路由器的重要组件,广泛应用于网络通讯硬件中,交换机和路由器的生产厂商数量众多,知名厂商包括:思科、华为、中兴、阿尔卡特、惠普、TP-LINK、D-LINK等等。虽然,IEEE和ITU等国际组织提出了标准的通讯协议,设备厂商也联合制定了 SFF8472、INF8077I等标准协议,但各主流设备商之间,也存在诸多互不兼容的自定义标准,这导致了一只符合协议标准的光模块,无法同时取得主流设备商的交换机、路由器等设备的兼容性。光模块生产商为了让光模块获得某设备的兼容性,往往单独开发符合该设备要求的微控制器程序,且这一阶段是在光模块出厂前完成。 普通的光模块,在出厂之后,其内部程序不可以直接更改,必须返回工厂,针对不同的微控制器型号,使用专用的编程器对微控制器进行程序烧录。由于程序烧录会破坏现有程序和数据,因此相当于再次对该光模块进行了生产,这样的解决方案浪费时间精力,维护周期长,极其繁琐。如图2所示为普通光模块返厂程序升级流程图。由于外壳的拆卸,有可能造成产品性能参数的改变,因此需要再次对光模块性能做测试。这会引入极大的工作量,且因壳件拆卸,会造成一定比例的物料损坏,也大大增加了程序升级的成本。部分光模块生产厂商,通过电路板的设计,避开了光模块壳件拆卸和编程线缆的连接问题,但必须搭配其特制的程序升级电路板,也使得客户无法自行或无法在远程协助下完成程序升级。同时,此类电路的设计,会带来成本的增加,且降低光模块可靠性。 Bootloader是嵌入式系统在加电后执行的第一段代码,在它完成CPU和相关硬件的初始化之后,再将操作系统映像或固化的嵌入式应用程序装在到内存中然后跳转到操作系统所在的空间,启动操作系统运行。在嵌入式操作系统中,BootLoader是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。在嵌入式系统中,通常并没有像B1S那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由BootLoader来完成。 目前,Bootloader适用于专用的嵌入式环境,例如其广泛应用于GNU/Linux系统。一个嵌入式Linux系统从软件的角度看通常可以分为四个层次: 1、引导加载程序。包括固化在固件(firmware)中的boot代码(可选),和BootLoader两大部分。 2、Linux内核。特定于嵌入式板子的定制内核以及内核的启动参数。 3、文件系统。包括根文件系统和建立于Flash内存设备之上文件系统。通常用ramdisk 来作为 rootfs。 4、用户应用程序。特定于用户的应用程序。有时在用户应用程序和内核层之间可能还会包括一个嵌入式图形用户界面。常用的嵌入式⑶I有:MicroWindows和Mini⑶I等。 但是,Bootloader目前尚只在一些大型软件项目或系统中使用,比如个人计算机(PC),手机操作系统,智能交换机操作系统,电视机机顶盒操作系统等;在一些小型软件系统或单片微机系统领域,几乎没有使用Bootloader的先例。Bootloader本身对于系统硬件的依赖性很高,往往特定的硬件需要搭配特定的Bootloader程序。 基于Bootloader程序,用户可以使用给定的软件接口,对现有软件进行升级。厂商也可以通过网络远程进行软件升级。
技术实现思路
本专利技术的目的是克服现有技术缺陷,提供,其使得光模块出厂后,不必返厂,即可完成程序的更新,达到兼容不同类型和要求的交换机或路由器的目的,并且可实现厂商通过远程控制,完成程序升级,或者客户通过光模块总线接口进行程序升级。 本专利技术的目的是提供,其包括: 在CSFP光模块的微控制器的FLASH区域中,开辟出Bootloader存放区域,其中存储有Bootloader启动程序; 选择启动Bootloader,对FLASH区域中的程序代码区域内的数据执行升级操作。所述CSFP光模块的微控制器的FLASH区域,专门开辟一个Bootloader存放区域,用于存储Bootloader启动程序,这样当需要使用所述的Bootloader启动程序进行程序升级时,通过相关指令进入所述的Bootloader启动程序这一模式即可。本专利技术通过在CSFP光模块的微控制器的FLASH区域中存储Bootloader启动程序,实现对所述FLASH区域中的程序代码区域内的数据进行升级,不必进行对光模块返厂进行数据升级,也不必对光模块进行拆装,消除了对光模块因为拆装造成的不必要损害,缩短了维护周期,降低了程序升级的成本。 优选的是,其中,所述CSFP光模块设置有IIC接口,系统通过远程访问IIC接口来启动Bootloader,执行升级操作。所述IIC接口是所述CSFP光模块都设置有的接口,并且所述的lie接口都使用同一标准,这样通过过远程访问IIC接口来启动Bootloader简单方便,并且不增加生产成本,并可实现远程访问的功能。 优选的是,其中,选择启动Bootloader,对FLASH区域中的程序代码区域内的数据执行升级操作包括以下步骤: 1)在微控制器中写入“BOOT”的ASCII码,启动Bootloader ; 2)将新的程序数据写入FLASH区域中的程序代码区域; 3)读出写入的新程序数据,与目标程序数据进行比对; 4)如果正确,则运行新程序数据,完成升级;如果不正确,则重复步骤2)和3),直到正确为止。 所述步骤1)中通过在微控制器中写入“BOOT”的ASCII码,启动Bootloader,这种启动Bootloader的方式当进行程序升级时,可以通过厂商的远程控制方式完成或有客户来完成,操作简单并且可实现远程控制,所述步骤3)和4)实现对写入的新程序数据与目标程序数据进行比对,达到保证写入的新程序数据就是所要写入的目标程序。 优选的是,其中,所述步骤2)中包括: 2.1)查找待写入新程序数据的FLASH区域中的映射地址; 2.2)将新程序数据中的512字节数据写入微处理器的缓冲区; 2.3)根据查找到的映射地址,擦除对应的FLASH区域中的原始程序; 2.4)将缓冲区内的新程序数据写入根据映射地址对应的FLASH区域中; 2.5)反复执行步骤2.2)-2.4)直到将所有新程序数据全部写入对应的FLASH区域中。 所述步骤2.1)、2.2)、2.3)、2.4)完成新程序写入到对应的FLASH区域中,并且擦除了对应的FLASH区域中的原始程序,既完成了对新数据的写入,又不改变本文档来自技高网
...

【技术保护点】
一种基于Bootloader的CSFP光模块升级方法,其特征在于,包括以下步骤:在CSFP光模块的微控制器的FLASH区域中,开辟出Bootloader存放区域,其中存储有Bootloader启动程序;选择启动Bootloader,对FLASH区域中的程序代码区域内的数据执行升级操作。

【技术特征摘要】
1.一种基于Bootloader的CSFP光模块升级方法,其特征在于,包括以下步骤: 在CSFP光模块的微控制器的FLASH区域中,开辟出Bootloader存放区域,其中存储有Bootloader启动程序; 选择启动Bootloader,对FLASH区域中的程序代码区域内的数据执行升级操作。2.如权利要求1所述的基于Bootloader的CSFP光模块升级方法,其特征在于, 所述CSFP光模块设置有IIC接口,系统通过远程访问IIC接口来启动Bootloader,执行升级操作。3.如权利要求2所述的基于Bootloader的CSFP光模块升级方法,其特征在于,选择启动Bootloader,对FLASH区域中的程序代码区域内的数据执行升级操作包括以下步骤: 1)在微控制器中写入“BOOT”的ASCII码,启动Bootloader; 2)将新的程序数据写入FLASH区域中的程序代码区域; 3)读出写入的新程序数据,与目标程序数据进行比对; 4)如果正确,则运行新程序数据,完成升级;如果不正确,则重复步骤2)和3),直到正确为止。4.如权利要求3所述的基于Bootloader的CSFP光模块升级方法,其特征在于, 所述步骤2)中包括: 2.1)查找待写入新程序数据的FLASH区域中的映射地址; 2.2)将新程序数据中的512字节数据写入微处理器的缓冲区; 2.3)根据查找到的映射地址,擦除对应的FLASH区域中的原始程序; 2.4)将缓冲区内的新程序数据写入根据映射地址对应的FLASH区域中; 2.5)反复执行步骤2.2)-2.4)直到将所有新程序数据全部写入对应的FLASH区域中。5.如权利要求4所述的基于Bootloader的CSFP光模块升级方法,其特征在于, 所述步骤3)中包...

【专利技术属性】
技术研发人员:范巍侯羿
申请(专利权)人:四川华拓光通信股份有限公司
类型:发明
国别省市:四川;51

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

1