一种基于Bootloader的QSFP光模块远程升级方法技术

技术编号:11131703 阅读:71 留言:0更新日期:2015-03-12 01:26
本发明专利技术公开了一种基于Bootloader的QSFP光模块远程升级方法,步骤包括:在QSFP光模块上嵌入Bootloader程序;升级数据写入QSFP光模块;调用Bootloader程序校验升级数据,本发明专利技术将Bootloader方式移植于QSFP光模块微控制器,实现了光模块出厂后,可通过标准接口进行远程程序升级,无须借助任何编程线缆,不会破坏现有程序和数据,也不用拆卸光模块壳件,这使得客户可以自助升级或由厂商进行远程升级,达到兼容各厂商交换机、路由器的目的。

【技术实现步骤摘要】

本专利技术涉及光模块远程升级方法,特别是。
技术介绍
光模块是一种提供光电一电光转换能力的集成化通讯配件,目前市场上主流光模块均包含可编程的微控制器。QSFP光模块,是40G速率的市场主流光模块,其内部为4通道光学链路,在极小的空间内,实现了更大数据速率的传输。普通的QSFP光模块,在出厂之后,其内部程序不可以直接更改,必须返回工厂,针对不同的微控制器型号,使用专用的编程器对微控制器进行程序烧录。由于程序烧录需要拆卸外壳,这样有可能造成产品性能参数的改变,因此需要再次对光模块性能做测试,这会引入极大的工作量,且因壳件拆卸,会造成一定比例的物料损坏,也大大增加了程序升级的成本,另外程序烧录还会破坏现有程序和数据,因此相当于再次对该光模块进行了生产,这样的解决方案浪费时间精力,维护周期长,极其繁琐。
技术实现思路
针对上述技术问题,本专利技术提供了,包括以下步骤: A、在QSFP光模块上嵌入Bootloader程序; B、通过远程控制方式,调用Bootloader程序将升级数据写入QSFP光模块,具体包括以下子步骤: B1)、将升级数据通过远程控制方式写入QSFP光模块微处理器缓冲区; B2)、输入进入Bootloader模式的密码控制口令,若正确,进行下述步骤: B3)、Bootloader控制字节写入“擦除指令”,根据升级数据的大小擦除QSFP光模块微处理器Flash映射地址字节对应的Flash区域的原始程序; B4), Bootloader控制字节写入“写入指令“,将QSFP光模块微处理器缓冲区内的升级程序写入Flash映射地址字节对应的Flash区域,直到程序完全写入; C、调用Bootloader程序校验升级数据,并在升级数据未通过校验时重新写入升级数据,具体包括以下子步骤: Cl)、Bootloader控制字节写入“读取指令“,将所述Flash区域内的程序数据读出至缓冲区; C2)、将步骤C1读出的数据与升级数据的缓冲区内的数据进行对比,以此校验其正确性,若正确,Bootloader控制字节写入“运行程序“指令,则运行目标程序代码;若校验错误,则重复B?C步骤。 优选方案是-Bootloader程序使用光模块标准总线接口 IIC嵌入QSFP光模块,兼容光模块SFF-8436、QSFP-MSA协议。 优选方案是:在所述步骤A之前将QSFP光模块Flash区域分区设置。 优选方案是:将QSFP光模块Flash区域分为程序代码区,厂商数据区、产品数据区和微控制器自身保留区。 优选方案是:在所述步骤A之前还包括以下步骤:将QSFP光模块总线接口寄存器自定义四个部分,第一部分为Flash映射地址字节;第二部分为为Bootloader控制字节;第三部分为进入Bootloader模式的密码控制字节;第四部分为升级数据缓冲区的地址页字节,所述地址页字节映射存放升级数据的缓冲区。 本专利技术将Bootloader方式移植于QSFP光模块微控制器,实现了光模块出厂后,可通过标准接口进行远程程序升级,无须借助任何编程线缆,不会破坏现有程序和数据,也不用拆卸光模块壳件,这使得客户可以自助升级或由厂商进行远程升级,达到兼容各厂商交换机、路由器的目的。 【附图说明】 图1为本专利技术的方法流程图; 图2 为 C8051F330 内部 Flash 规划图。 【具体实施方式】 光模块是一种提供光电一电光转换能力的集成化通讯配件,其中,光模块中的微控制器主要功能是提供与主机端的通讯总线硬件接口。目前市场上主流光模块均包含可编程的微控制器。QSFP光模块,是40G速率的市场主流光模块,其内部为4通道光学链路,在极小的空间内,实现了更大数据速率的传输。光模块作为交换机、路由器的重要组件,广泛应用于网络通讯硬件中。交换机和路由器的生产厂商数量众多,知名厂商包括:思科、华为、中兴、阿尔卡特、惠普、TP-LINK、D-LINK等等。虽然,IEEE和ITU等国际组织提出了标准的通讯协议,设备厂商也联合制定了 SFF8472、INF8077I等标准协议,但各主流设备商之间,也存在诸多互不兼容的自定义标准,这导致了一只符合协议标准的光模块,无法同时取得主流设备商的交换机、路由器等设备的兼容性。光模块生产商为了让光模块获得某设备的兼容性,往往单独开发符合该设备要求的微控制器程序,且这一阶段是在光模块出厂前完成。 Bootloader是嵌入式系统在加电后执行的第一段代码,在它完成CPU和相关硬件的初始化之后,再将操作系统映像或固化的嵌入式应用程序装在到内存中然后跳转到操作系统所在的空间,启动操作系统运行。在嵌入式操作系统中,BootLoader是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。在嵌入式系统中,通常并没有像B1S那样的固件程序,因此整个系统的加载启动任务就完全由BootLoader来完成。 本实施例以光模块常用的C8051F330型号微控制器为例对基于Bootloader的QSFP光模块远程升级方法进行阐述,如图1所示: 首先将QSFP光模块总线接口寄存器自定义四个部分,第一部分为Flash映射地址字节;第二部分为为Bootloader控制字节;第三部分为进入Bootloader模式的密码控制字节;第四部分为升级数据缓冲区的地址页字节,所述地址页字节映射存放升级数据的缓冲区,QSFP光模块提供IIC总线接口,IIC从机地址为AOH,按照SFF-8436协议规定,AOH区域的98、99、107字节为厂商保留区,123、124、125、126字节为密码入口区,127字节为高128位寄存器映射页选择寄存器。本专利技术将使用保留地址98、99、107字节作为自定义Bootloader的控制字节,同时使用123、124、125、126字节作为进入Bootloader模式的密码控制字节,使用高128位的页0xFC、0xFD、0xFE、0xFF四个页地址作为Bootloader升级的数据缓冲区。 本专利技术以光模块常用的C8051F330型号微控制器为例详细阐述远程升级过程: A、将在QSFP光模块上嵌入Bootloader程序,Bootloader程序使用光模块标准总线接口 IIC嵌入QSFP光模块,兼容光模块SFF-8436、QSFP-MSA等协议。 B、通过远程控制方式,调用Bootloader程序将升级数据写入QSFP光模块,具体包括以下子步骤: B1)、将升级数据通过远程控制方式写入缓冲区; Α0Η地址,高128位,按页映射缓冲区。OxFC页,映射缓冲区0x000-0x07F字节;OxFD页,映射缓冲区0x080-0x0FF字节;0xFE页,映射缓冲区0xl00_0xl7F字节;0xFC页,映射缓冲区0xl80-0xlFF字节。127字节页地址OxFC、OxFD、0xFE、0xFF写入512字节的程序数据。 B2)、输入进入Bootloader模式的密码控制口令,Α0Η地址,123-126字节,写入“BOOT”的ASCII码,进入Bootloader模式。本文档来自技高网...
一种基于Bootloader的QSFP光模块远程升级方法

【技术保护点】
一种基于Bootloader的QSFP光模块远程升级方法,其特征在于,包括以下步骤:A、在QSFP光模块上嵌入Bootloader程序;B、通过远程控制方式,调用Bootloader程序将升级数据写入QSFP光模块,具体包括以下子步骤:B1)、将升级数据通过远程控制方式写入QSFP光模块微处理器缓冲区;B2)、输入进入Bootloader模式的密码控制口令,若正确,进行下述步骤:B3)、Bootloader控制字节写入“擦除指令”,根据升级数据的大小擦除QSFP光模块微处理器Flash映射地址字节对应的Flash区域的原始程序;B4)、Bootloader控制字节写入“写入指令“,将QSFP光模块微处理器缓冲区内的升级程序写入Flash映射地址字节对应的Flash区域,直到程序完全写入;C、调用Bootloader程序校验升级数据,并在升级数据未通过校验时重新写入升级数据,具体包括以下子步骤:C1)、Bootloader控制字节写入“读取指令“,将所述Flash区域内的程序数据读出至缓冲区;C2)、将步骤C1读出的数据与升级数据的缓冲区内的数据进行对比,以此校验其正确性,若正确,Bootloader控制字节写入“运行程序“指令,则运行目标程序代码;若校验错误,则重复B~C步骤。...

【技术特征摘要】
1.一种基于800丨10狀161~的呖??光模块远程升级方法,其特征在于,包括以下步骤: 八、在呖??光模块上嵌入800丨103(16^程序; 8、通过远程控制方式,调用800丨10狀161~程序将升级数据写入呢??光模块,具体包括以下子步骤: 81)、将升级数据通过远程控制方式写入呖??光模块微处理器缓冲区; 82)、输入进入8001:1021(16:^模式的密码控制口令,若正确,进行下述步骤: 83)、800^108(161-控制字节写入“擦除指令”,根据升级数据的大小擦除呢??光模块微处理器映射地址字节对应的区域的原始程序; 84),800^108(161-控制字节写入“写入指令“,将呖??光模块微处理器缓冲区内的升级程序写入映射地址字节对应的区域,直到程序完全写入; 0、调用800丨10狀161~程序校验升级数据,并在升级数据未通过校验时重新写入升级数据,具体包括以下子步骤: 01)、800^108(161-控制字节写入“读取指令“,将所述?1%1!区域内的程序数据读出至缓冲区; (:2)、将步骤读出的数据与升级数据的缓冲区内的数据进行对比,以此校验其...

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

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

1