一种基于BOOTLOADER的QSFP光模块远程升级方法.pdf

上传人:zhu****69 文档编号:1895872 上传时间:2018-07-21 格式:PDF 页数:8 大小:814.04KB
返回 下载 相关 举报
摘要
申请专利号:

CN201410768406.4

申请日:

2014.12.12

公开号:

CN104407903A

公开日:

2015.03.11

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F9/445申请日:20141212|||公开

IPC分类号:

G06F9/445

主分类号:

G06F9/445

申请人:

四川华拓光通信股份有限公司

发明人:

范巍; 侯羿

地址:

621000四川省绵阳市涪城区金家林总部经济试验区

优先权:

专利代理机构:

北京远大卓悦知识产权代理事务所(普通合伙)11369

代理人:

周庆佳

PDF下载: PDF下载
内容摘要

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

权利要求书

权利要求书
1.  一种基于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步骤。

2.  根据权利要求1所述的基于Bootloader的QSFP光模块远程升级方法,其特征在于,Bootloader程序使用光模块标准总线接口IIC嵌入QSFP光模块,兼容光模块SFF-8436、QSFP-MSA协议。

3.  根据权利要求1所述的基于Bootloader的QSFP光模块远程升级方法,其特征在于,在所述步骤A之前将QSFP光模块Flash区域分区设置。

4.  根据权利要求3所述的基于Bootloader的QSFP光模块远程升级方法,其特征在于,将QSFP光模块Flash区域分为程序代码区,厂商数据区、产品数据区和微控制器自身保留区。

5.  根据权利要求1所述的基于Bootloader的QSFP光模块远程升级方法,其特征在于,在所述步骤A之前还包括以下步骤:将QSFP光模块总线接口寄存器自定义四个部分,第一部分为Flash映射地址字节;第二部分为为Bootloader控制字节;第三部分为进入Bootloader模式的密码控制字节;第四部分为升级数据缓冲区的地址页字节,所述地址页字节映射存放升级数据的缓冲区。

说明书

说明书一种基于Bootloader的QSFP光模块远程升级方法
技术领域
本发明涉及光模块远程升级方法,特别是一种基于Bootloader的QSFP光模块远程升级方法。
背景技术
光模块是一种提供光电-电光转换能力的集成化通讯配件,目前市场上主流光模块均包含可编程的微控制器。QSFP光模块,是40G速率的市场主流光模块,其内部为4通道光学链路,在极小的空间内,实现了更大数据速率的传输。普通的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步骤。
优选方案是: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是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。在嵌入式系统中,通常并没有像BIOS那样的固件程序,因此整个系统的加载启动任务就完全由BootLoader来完成。
本实施例以光模块常用的C8051F330型号微控制器为例对基于Bootloader的QSFP光模块远程升级方法进行阐述,如图1所示:
首先将QSFP光模块总线接口寄存器自定义四个部分,第一部分为Flash映射地址字节;第二部分为为Bootloader控制字节;第三部分为进入Bootloader模式的密码控制字节;第四部分为升级数据缓冲区的地址页字节,所述地址页字节映射存放升级数据的缓冲区,QSFP光模块提供IIC总线接口,IIC从机地址为A0H,按照SFF-8436协议规定,A0H区域的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)、将升级数据通过远程控制方式写入缓冲区;
A0H地址,高128位,按页映射缓冲区。0xFC页,映射缓冲区0x000-0x07F字节;0xFD页,映射缓冲区0x080-0x0FF字节;0xFE页,映射缓冲区0x100-0x17F字节;0xFC页,映射缓冲区0x180-0x1FF字节。127字节页地址0xFC、0xFD、0xFE、0xFF写入512字节的程序数据。
B2)、输入进入Bootloader模式的密码控制口令,A0H地址,123-126字节,写入“BOOT”的ASCII码,进入Bootloader模式。若口令正确,进行下述步骤:
B3)、A0H地址,107字节,写入‘E’,则QSFP光模块微处理器根据升级数据的大小擦除所述Flash映射地址字节对应的Flash区域的原始程序;
B4)、A0H地址,107字节,写入‘W’,则QSFP光模块微处理器将缓冲区的升级程序写入所述Flash映射地址字节对应的Flash区域,直到程序完全写入;
C、调用Bootloader程序校验升级数据,并在升级数据未通过校验时重新写入升级数据,具体包括以下子步骤:
C1)、A0H地址,107字节,写入‘R’,则QSFP光模块微处理器将所述Flash区域程序数据读出至缓冲区;
C2)、将步骤C1读出的数据与0xFC、0xFD、0xFE、0xFF升级数据进行对比,以此校验其正确性,若正确,则A0H地址,107字节,写入‘S’,则运行目标程序代码;若校验错误,则重复B~C步骤。
由于Bootloader与硬件息息相关,因此需要对微控制器C8051F330的Flash区域进行规划,如图2所示。微控制器C8051F330内部共8K空间,以512字节为BANK储存程序代码和数据。按照规划,将程序代码区固定于0x0000-0x15FF区域,将厂商数据和产品数据固定于0x1600-0x19FF区域,将Bootloader存放于0x1A00-0x1DFE区域,其余区域均为微控制器自身保留区。在执行Bootloader升级时,只对0x0000-0x15FF区域的程序代码。这样可以保证厂商数据和产品数据不受程序更新的影响。
在完成程序接口拼接后,需要将编译结构进行拼接。即将Bootloader的程序编译的可执行文件和目标程序编译的可执行文件进行拼接。拼接时,需要符合定义的Flash分配地址。即0x0000-0x15FF为目标程序代码,0x1A00-0x1DFE为Bootloader程序代码。拼接后的程序,适用于首次对微控制器烧录,之后使用Bootloader升级程序时,只需要导入0x1600以前的代码数据。
尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用。它完全可以被适用于各种适合本发明的领域。对于熟悉本领域的人员而言,可容易地实现另外的修改。因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。

一种基于BOOTLOADER的QSFP光模块远程升级方法.pdf_第1页
第1页 / 共8页
一种基于BOOTLOADER的QSFP光模块远程升级方法.pdf_第2页
第2页 / 共8页
一种基于BOOTLOADER的QSFP光模块远程升级方法.pdf_第3页
第3页 / 共8页
点击查看更多>>
资源描述

《一种基于BOOTLOADER的QSFP光模块远程升级方法.pdf》由会员分享,可在线阅读,更多相关《一种基于BOOTLOADER的QSFP光模块远程升级方法.pdf(8页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 (43)申请公布日 (21)申请号 201410768406.4(22)申请日 2014.12.12G06F 9/445(2006.01)(71)申请人四川华拓光通信股份有限公司地址 621000 四川省绵阳市涪城区金家林总部经济试验区(72)发明人范巍 侯羿(74)专利代理机构北京远大卓悦知识产权代理事务所(普通合伙) 11369代理人周庆佳(54) 发明名称一种基于Bootloader的QSFP光模块远程升级方法(57) 摘要本发明公开了一种基于Bootloader的QSFP光模块远程升级方法,步骤包括:在QSFP光模块上嵌入Bootloader程序;升级数据写入QSF。

2、P光模块;调用Bootloader程序校验升级数据,本发明将Bootloader方式移植于QSFP光模块微控制器,实现了光模块出厂后,可通过标准接口进行远程程序升级,无须借助任何编程线缆,不会破坏现有程序和数据,也不用拆卸光模块壳件,这使得客户可以自助升级或由厂商进行远程升级,达到兼容各厂商交换机、路由器的目的。(51)Int.Cl.(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书1页 说明书4页 附图2页(10)申请公布号 CN 104407903 A(43)申请公布日 2015.03.11CN 104407903 A1/1页21.一种基于Bootloader的QSFP光模。

3、块远程升级方法,其特征在于,包括以下步骤:A、在QSFP光模块上嵌入Bootloader程序;B、通过远程控制方式,调用Bootloader程序将升级数据写入QSFP光模块,具体包括以下子步骤:B1)、将升级数据通过远程控制方式写入QSFP光模块微处理器缓冲区;B2)、输入进入Bootloader模式的密码控制口令,若正确,进行下述步骤:B3)、Bootloader控制字节写入“擦除指令”,根据升级数据的大小擦除QSFP光模块微处理器Flash映射地址字节对应的Flash区域的原始程序;B4)、Bootloader控制字节写入“写入指令“,将QSFP光模块微处理器缓冲区内的升级程序写入Flas。

4、h映射地址字节对应的Flash区域,直到程序完全写入;C、调用Bootloader程序校验升级数据,并在升级数据未通过校验时重新写入升级数据,具体包括以下子步骤:C1)、Bootloader控制字节写入“读取指令“,将所述Flash区域内的程序数据读出至缓冲区;C2)、将步骤C1读出的数据与升级数据的缓冲区内的数据进行对比,以此校验其正确性,若正确,Bootloader控制字节写入“运行程序“指令,则运行目标程序代码;若校验错误,则重复BC步骤。2.根据权利要求1所述的基于Bootloader的QSFP光模块远程升级方法,其特征在于,Bootloader程序使用光模块标准总线接口IIC嵌入QS。

5、FP光模块,兼容光模块SFF-8436、QSFP-MSA协议。3.根据权利要求1所述的基于Bootloader的QSFP光模块远程升级方法,其特征在于,在所述步骤A之前将QSFP光模块Flash区域分区设置。4.根据权利要求3所述的基于Bootloader的QSFP光模块远程升级方法,其特征在于,将QSFP光模块Flash区域分为程序代码区,厂商数据区、产品数据区和微控制器自身保留区。5.根据权利要求1所述的基于Bootloader的QSFP光模块远程升级方法,其特征在于,在所述步骤A之前还包括以下步骤:将QSFP光模块总线接口寄存器自定义四个部分,第一部分为Flash映射地址字节;第二部分为。

6、为Bootloader控制字节;第三部分为进入Bootloader模式的密码控制字节;第四部分为升级数据缓冲区的地址页字节,所述地址页字节映射存放升级数据的缓冲区。权 利 要 求 书CN 104407903 A1/4页3一种基于 Bootloader 的 QSFP 光模块远程升级方法技术领域0001 本发明涉及光模块远程升级方法,特别是一种基于Bootloader的QSFP光模块远程升级方法。背景技术0002 光模块是一种提供光电电光转换能力的集成化通讯配件,目前市场上主流光模块均包含可编程的微控制器。QSFP光模块,是40G速率的市场主流光模块,其内部为4通道光学链路,在极小的空间内,实现了。

7、更大数据速率的传输。普通的QSFP光模块,在出厂之后,其内部程序不可以直接更改,必须返回工厂,针对不同的微控制器型号,使用专用的编程器对微控制器进行程序烧录。由于程序烧录需要拆卸外壳,这样有可能造成产品性能参数的改变,因此需要再次对光模块性能做测试,这会引入极大的工作量,且因壳件拆卸,会造成一定比例的物料损坏,也大大增加了程序升级的成本,另外程序烧录还会破坏现有程序和数据,因此相当于再次对该光模块进行了生产,这样的解决方案浪费时间精力,维护周期长,极其繁琐。发明内容0003 针对上述技术问题,本发明提供了一种基于Bootloader的QSFP光模块远程升级方法,包括以下步骤:0004 A、在Q。

8、SFP光模块上嵌入Bootloader程序;0005 B、通过远程控制方式,调用Bootloader程序将升级数据写入QSFP光模块,具体包括以下子步骤:0006 B1)、将升级数据通过远程控制方式写入QSFP光模块微处理器缓冲区;0007 B2)、输入进入Bootloader模式的密码控制口令,若正确,进行下述步骤:0008 B3)、Bootloader控制字节写入“擦除指令”,根据升级数据的大小擦除QSFP光模块微处理器Flash映射地址字节对应的Flash区域的原始程序;0009 B4)、Bootloader控制字节写入“写入指令“,将QSFP光模块微处理器缓冲区内的升级程序写入Flas。

9、h映射地址字节对应的Flash区域,直到程序完全写入;0010 C、调用Bootloader程序校验升级数据,并在升级数据未通过校验时重新写入升级数据,具体包括以下子步骤:0011 C1)、Bootloader控制字节写入“读取指令“,将所述Flash区域内的程序数据读出至缓冲区;0012 C2)、将步骤C1读出的数据与升级数据的缓冲区内的数据进行对比,以此校验其正确性,若正确,Bootloader控制字节写入“运行程序“指令,则运行目标程序代码;若校验错误,则重复BC步骤。0013 优选方案是:Bootloader程序使用光模块标准总线接口IIC嵌入QSFP光模块,兼容光模块SFF-8436。

10、、QSFP-MSA协议。说 明 书CN 104407903 A2/4页40014 优选方案是:在所述步骤A之前将QSFP光模块Flash区域分区设置。0015 优选方案是:将QSFP光模块Flash区域分为程序代码区,厂商数据区、产品数据区和微控制器自身保留区。0016 优选方案是:在所述步骤A之前还包括以下步骤:将QSFP光模块总线接口寄存器自定义四个部分,第一部分为Flash映射地址字节;第二部分为为Bootloader控制字节;第三部分为进入Bootloader模式的密码控制字节;第四部分为升级数据缓冲区的地址页字节,所述地址页字节映射存放升级数据的缓冲区。0017 本发明将Bootlo。

11、ader方式移植于QSFP光模块微控制器,实现了光模块出厂后,可通过标准接口进行远程程序升级,无须借助任何编程线缆,不会破坏现有程序和数据,也不用拆卸光模块壳件,这使得客户可以自助升级或由厂商进行远程升级,达到兼容各厂商交换机、路由器的目的。附图说明0018 图1为本发明的方法流程图;0019 图2为C8051F330内部Flash规划图。具体实施方式0020 光模块是一种提供光电电光转换能力的集成化通讯配件,其中,光模块中的微控制器主要功能是提供与主机端的通讯总线硬件接口。目前市场上主流光模块均包含可编程的微控制器。QSFP光模块,是40G速率的市场主流光模块,其内部为4通道光学链路,在极小。

12、的空间内,实现了更大数据速率的传输。光模块作为交换机、路由器的重要组件,广泛应用于网络通讯硬件中。交换机和路由器的生产厂商数量众多,知名厂商包括:思科、华为、中兴、阿尔卡特、惠普、TP-LINK、D-LINK等等。虽然,IEEE和ITU等国际组织提出了标准的通讯协议,设备厂商也联合制定了SFF8472、INF8077I等标准协议,但各主流设备商之间,也存在诸多互不兼容的自定义标准,这导致了一只符合协议标准的光模块,无法同时取得主流设备商的交换机、路由器等设备的兼容性。光模块生产商为了让光模块获得某设备的兼容性,往往单独开发符合该设备要求的微控制器程序,且这一阶段是在光模块出厂前完成。0021 。

13、Bootloader是嵌入式系统在加电后执行的第一段代码,在它完成CPU和相关硬件的初始化之后,再将操作系统映像或固化的嵌入式应用程序装在到内存中然后跳转到操作系统所在的空间,启动操作系统运行。在嵌入式操作系统中,BootLoader是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。在嵌入式系统中,通常并没有像BIOS那样的固件程序,因此整个系统的加载启动任务就完全由BootLoader来完成。0022 本实施例以光模块常用的C8051F330型号微控制器为例对基于Bootloader的QS。

14、FP光模块远程升级方法进行阐述,如图1所示:0023 首先将QSFP光模块总线接口寄存器自定义四个部分,第一部分为Flash映射地址字节;第二部分为为Bootloader控制字节;第三部分为进入Bootloader模式的密码控说 明 书CN 104407903 A3/4页5制字节;第四部分为升级数据缓冲区的地址页字节,所述地址页字节映射存放升级数据的缓冲区,QSFP光模块提供IIC总线接口,IIC从机地址为A0H,按照SFF-8436协议规定,A0H区域的98、99、107字节为厂商保留区,123、124、125、126字节为密码入口区,127字节为高128位寄存器映射页选择寄存器。本发明将使。

15、用保留地址98、99、107字节作为自定义Bootloader的控制字节,同时使用123、124、125、126字节作为进入Bootloader模式的密码控制字节,使用高128位的页0xFC、0xFD、0xFE、0xFF四个页地址作为Bootloader升级的数据缓冲区。0024 本发明以光模块常用的C8051F330型号微控制器为例详细阐述远程升级过程:0025 A、将在QSFP光模块上嵌入Bootloader程序,Bootloader程序使用光模块标准总线接口IIC嵌入QSFP光模块,兼容光模块SFF-8436、QSFP-MSA等协议。0026 B、通过远程控制方式,调用Bootloade。

16、r程序将升级数据写入QSFP光模块,具体包括以下子步骤:0027 B1)、将升级数据通过远程控制方式写入缓冲区;0028 A0H地址,高128位,按页映射缓冲区。0xFC页,映射缓冲区0x000-0x07F字节;0xFD页,映射缓冲区0x080-0x0FF字节;0xFE页,映射缓冲区0x100-0x17F字节;0xFC页,映射缓冲区0x180-0x1FF字节。127字节页地址0xFC、0xFD、0xFE、0xFF写入512字节的程序数据。0029 B2)、输入进入Bootloader模式的密码控制口令,A0H地址,123-126字节,写入“BOOT”的ASCII码,进入Bootloader模式。

17、。若口令正确,进行下述步骤:0030 B3)、A0H地址,107字节,写入E,则QSFP光模块微处理器根据升级数据的大小擦除所述Flash映射地址字节对应的Flash区域的原始程序;0031 B4)、A0H地址,107字节,写入W,则QSFP光模块微处理器将缓冲区的升级程序写入所述Flash映射地址字节对应的Flash区域,直到程序完全写入;0032 C、调用Bootloader程序校验升级数据,并在升级数据未通过校验时重新写入升级数据,具体包括以下子步骤:0033 C1)、A0H地址,107字节,写入R,则QSFP光模块微处理器将所述Flash区域程序数据读出至缓冲区;0034 C2)、将步。

18、骤C1读出的数据与0xFC、0xFD、0xFE、0xFF升级数据进行对比,以此校验其正确性,若正确,则A0H地址,107字节,写入S,则运行目标程序代码;若校验错误,则重复BC步骤。0035 由于Bootloader与硬件息息相关,因此需要对微控制器C8051F330的Flash区域进行规划,如图2所示。微控制器C8051F330内部共8K空间,以512字节为BANK储存程序代码和数据。按照规划,将程序代码区固定于0x0000-0x15FF区域,将厂商数据和产品数据固定于0x1600-0x19FF区域,将Bootloader存放于0x1A00-0x1DFE区域,其余区域均为微控制器自身保留区。。

19、在执行Bootloader升级时,只对0x0000-0x15FF区域的程序代码。这样可以保证厂商数据和产品数据不受程序更新的影响。0036 在完成程序接口拼接后,需要将编译结构进行拼接。即将Bootloader的程序编译的可执行文件和目标程序编译的可执行文件进行拼接。拼接时,需要符合定义的Flash分配地址。即0x0000-0x15FF为目标程序代码,0x1A00-0x1DFE为Bootloader程序代码。拼说 明 书CN 104407903 A4/4页6接后的程序,适用于首次对微控制器烧录,之后使用Bootloader升级程序时,只需要导入0x1600以前的代码数据。0037 尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用。它完全可以被适用于各种适合本发明的领域。对于熟悉本领域的人员而言,可容易地实现另外的修改。因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。说 明 书CN 104407903 A1/2页7图1说 明 书 附 图CN 104407903 A2/2页8图2说 明 书 附 图CN 104407903 A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1