《一种基于BOOTLOADER的CSFP光模块升级方法.pdf》由会员分享,可在线阅读,更多相关《一种基于BOOTLOADER的CSFP光模块升级方法.pdf(12页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 (43)申请公布日 (21)申请号 201410768456.2 (22)申请日 2014.12.12 G06F 9/445(2006.01) (71)申请人 四川华拓光通信股份有限公司 地址 621000 四川省绵阳市涪城区金家林总 部经济试验区 (72)发明人 范巍 侯羿 (74)专利代理机构 北京远大卓悦知识产权代理 事务所 ( 普通合伙 ) 11369 代理人 周庆佳 (54) 发明名称 一种基于 Bootloader 的 CSFP 光模块升级方 法 (57) 摘要 本发明公开了一种基于 Bootloader 的 CSFP 光模块升级方法, 包括 : 在 CSFP 。
2、光模块的微控制 器的 FLASH 区域中, 开辟出 Bootloader 存放区 域, 其中存储有 Bootloader 启动程序 ; 选择启动 Bootloader, 对 FLASH 区域中的程序代码区域内 的数据执行升级操作。本发明使得光模块出厂 后, 不必返厂使用编程器烧录程序, 即可完成程序 的更新, 达到兼容不同类型和要求的交换机或路 由器的目的, 同时, 厂商通过远程控制实现程序升 级, 或者客户可通过光模块总线接口进行程序升 级, 降低了工作量, 减少了因为壳件拆卸造成的程 序升级成本。 (51)Int.Cl. (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求。
3、书2页 说明书6页 附图3页 (10)申请公布号 CN 104461639 A (43)申请公布日 2015.03.25 CN 104461639 A 1/2 页 2 1. 一种基于 Bootloader 的 CSFP 光模块升级方法, 其特征在于, 包括以下步骤 : 在 CSFP 光模块的微控制器的 FLASH 区域中, 开辟出 Bootloader 存放区域, 其中存储有 Bootloader 启动程序 ; 选择启动 Bootloader, 对 FLASH 区域中的程序代码区域内的数据执行升级操作。 2. 如权利要求 1 所述的基于 Bootloader 的 CSFP 光模块升级方法, 其。
4、特征在于, 所述 CSFP 光模块设置有 IIC 接口, 系统通过远程访问 IIC 接口来启动 Bootloader, 执 行升级操作。 3.如权利要求2所述的基于Bootloader的CSFP光模块升级方法, 其特征在于, 选择启 动 Bootloader, 对 FLASH 区域中的程序代码区域内的数据执行升级操作包括以下步骤 : 1) 在微控制器中写入 “BOOT” 的 ASCII 码, 启动 Bootloader ; 2) 将新的程序数据写入 FLASH 区域中的程序代码区域 ; 3) 读出写入的新程序数据, 与目标程序数据进行比对 ; 4) 如果正确, 则运行新程序数据, 完成升级 ;。
5、 如果不正确, 则重复步骤 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. 。
6、如权利要求 4 所述的基于 Bootloader 的 CSFP 光模块升级方法, 其特征在于, 所述步骤 3) 中包括 : 3.1) 查找写入了新程序数据的 FLASH 区域中的映射地址 ; 3.2) 根据查找到的映射地址, 将对应的 FLASH 区域中的新程序数据读取到缓冲区 ; 3.3) 在缓冲区中读出新程序数据中的 512 字节数据, 与目标程序数据进行比对, 以校 验写入程序的正确性 ; 3.4) 反复执行步骤 3.3), 直到完成校验。 6. 如权利要求 5 所述的基于 Bootloader 的 CSFP 光模块升级方法, 其特征在于, 所述 Bootloader 启动程序占用 CS。
7、FP 光模块的 IIC 从机地址为 A0H、 A2H。 7. 如权利要求 6 所述的基于 Bootloader 的 CSFP 光模块升级方法, 其特征在于, 所述 A2H区域的120、 121、 和122字节作为自定义Bootloader的控制字节 ; 使用123、 124、 125、 和 126 字节作为进入 Bootloader 模式的密码控制字节 ; 使用高 128 位的页 0xFC、 0xFD、 0xFE、 0xFF 四个页地址作为 Bootloader 升级的数据缓冲区。 8. 如权利要求 7 所述的基于 Bootloader 的 CSFP 光模块升级方法, 其特征在于, 所述 12。
8、3-126 字节写入 “BOOT”的 ASCII 码 ; 121-122 字节为 FLASH 映射地址字节 ; 120 字节为 Bootloader 控制字节, 命令有 :E 擦除微控制器的程序储存区,W 将缓冲区数据写入微 控制器对应的 FLASH 区域,R 读取微控制器对应的 FLASH 区域数据至缓冲区,S 开始运 行应用程序 ; 高 128 位, 按页映射缓冲区, 0xFC 页, 映射缓冲区 0x000-0x07F 字节 ; 0xFD 页, 权 利 要 求 书 CN 104461639 A 2 2/2 页 3 映射缓冲区 0x080-0x0FF 字节 ; 0xFE 页, 映射缓冲区 0。
9、x100-0x17F 字节 ; 0xFF 页, 映射缓冲 区 0x180-0x1FF 字节。 权 利 要 求 书 CN 104461639 A 3 1/6 页 4 一种基于 Bootloader 的 CSFP 光模块升级方法 技术领域 0001 本发明涉及光模块升级, 特别是涉及一种基于 Bootloader 的 CSFP 光模块升级方 法。 背景技术 0002 光模块是一种提供光电电光转换能力的集成化通讯配件, 其内部结构框图如图 1 所示。其中, 微控制器主要功能是提供与主机端的通讯总线硬件接口和警告、 告警硬件接 口。 目前市场上主流光模块均包含可编程的微控制器。 CSFP光模块是近年来。
10、一种新兴的光 模块, 采用与常规 SFP 光模块同等大小的封装, 集成了两个全双工通讯光模块, 使得光模块 体积不变的条件下, 数据传输能力增加了一倍。光模块作为交换机、 路由器的重要组件, 广 泛应用于网络通讯硬件中, 交换机和路由器的生产厂商数量众多, 知名厂商包括 : 思科、 华 为、 中兴、 阿尔卡特、 惠普、 TP-LINK、 D-LINK 等等。虽然, IEEE 和 ITU 等国际组织提出了标 准的通讯协议, 设备厂商也联合制定了 SFF8472、 INF8077I 等标准协议, 但各主流设备商之 间, 也存在诸多互不兼容的自定义标准, 这导致了一只符合协议标准的光模块, 无法同时。
11、取 得主流设备商的交换机、 路由器等设备的兼容性。光模块生产商为了让光模块获得某设备 的兼容性, 往往单独开发符合该设备要求的微控制器程序, 且这一阶段是在光模块出厂前 完成。 0003 普通的光模块, 在出厂之后, 其内部程序不可以直接更改, 必须返回工厂, 针对不 同的微控制器型号, 使用专用的编程器对微控制器进行程序烧录。由于程序烧录会破坏现 有程序和数据, 因此相当于再次对该光模块进行了生产, 这样的解决方案浪费时间精力, 维 护周期长, 极其繁琐。如图 2 所示为普通光模块返厂程序升级流程图。由于外壳的拆卸, 有 可能造成产品性能参数的改变, 因此需要再次对光模块性能做测试。这会引入。
12、极大的工作 量, 且因壳件拆卸, 会造成一定比例的物料损坏, 也大大增加了程序升级的成本。部分光模 块生产厂商, 通过电路板的设计, 避开了光模块壳件拆卸和编程线缆的连接问题, 但必须搭 配其特制的程序升级电路板, 也使得客户无法自行或无法在远程协助下完成程序升级。同 时, 此类电路的设计, 会带来成本的增加, 且降低光模块可靠性。 0004 Bootloader 是嵌入式系统在加电后执行的第一段代码, 在它完成 CPU 和相关硬件 的初始化之后, 再将操作系统映像或固化的嵌入式应用程序装在到内存中然后跳转到操作 系统所在的空间, 启动操作系统运行。在嵌入式操作系统中, BootLoader 。
13、是在操作系统内 核运行之前运行。 可以初始化硬件设备、 建立内存空间映射图, 从而将系统的软硬件环境带 到一个合适状态, 以便为最终调用操作系统内核准备好正确的环境。 在嵌入式系统中, 通常 并没有像BIOS那样的固件程序(注, 有的嵌入式CPU也会内嵌一段短小的启动程序), 因此 整个系统的加载启动任务就完全由 BootLoader 来完成。 0005 目前, Bootloader 适用于专用的嵌入式环境, 例如其广泛应用于 GNU/Linux 系统。 一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次 : 0006 1、 引导加载程序。包括固化在固件 (fi rmware) 中。
14、的 boot 代码 ( 可选 ), 和 说 明 书 CN 104461639 A 4 2/6 页 5 BootLoader 两大部分。 0007 2、 Linux 内核。特定于嵌入式板子的定制内核以及内核的启动参数。 0008 3、 文件系统。包括根文件系统和建立于 Flash 内存设备之上文件系统。通常用 ramdisk 来作为 rootfs。 0009 4、 用户应用程序。特定于用户的应用程序。有时在用户应用程序和内核层之间可 能还会包括一个嵌入式图形用户界面。 常用的嵌入式GUI有 : MicroWindows和MiniGUI等。 0010 但是, Bootloader 目前尚只在一些大。
15、型软件项目或系统中使用, 比如个人计算机 (PC), 手机操作系统, 智能交换机操作系统, 电视机机顶盒操作系统等 ; 在一些小型软件系 统或单片微机系统领域, 几乎没有使用Bootloader的先例。 Bootloader本身对于系统硬件 的依赖性很高, 往往特定的硬件需要搭配特定的 Bootloader 程序。 0011 基于 Bootloader 程序, 用户可以使用给定的软件接口, 对现有软件进行升级。厂 商也可以通过网络远程进行软件升级。 发明内容 0012 本发明的目的是克服现有技术缺陷, 提供一种基于 Bootloader 的 CSFP 光模块升 级方法, 其使得光模块出厂后, 。
16、不必返厂, 即可完成程序的更新, 达到兼容不同类型和要求 的交换机或路由器的目的, 并且可实现厂商通过远程控制, 完成程序升级, 或者客户通过光 模块总线接口进行程序升级。 0013 本发明的目的是提供一种基于 Bootloader 的 CSFP 光模块升级方法, 其包括 : 0014 在 CSFP 光模块的微控制器的 FLASH 区域中, 开辟出 Bootloader 存放区域, 其中存 储有 Bootloader 启动程序 ; 0015 选择启动 Bootloader, 对 FLASH 区域中的程序代码区域内的数据执行升级操作。 所述 CSFP 光模块的微控制器的 FLASH 区域, 专门。
17、开辟一个 Bootloader 存放区域, 用于存储 Bootloader 启动程序, 这样当需要使用所述的 Bootloader 启动程序进行程序升级时, 通过 相关指令进入所述的 Bootloader 启动程序这一模式即可。本发明通过在 CSFP 光模块的微 控制器的 FLASH 区域中存储 Bootloader 启动程序, 实现对所述 FLASH 区域中的程序代码区 域内的数据进行升级, 不必进行对光模块返厂进行数据升级, 也不必对光模块进行拆装, 消 除了对光模块因为拆装造成的不必要损害, 缩短了维护周期, 降低了程序升级的成本。 0016 优选的是, 其中, 所述 CSFP 光模块设。
18、置有 IIC 接口, 系统通过远程访问 IIC 接口来 启动 Bootloader, 执行升级操作。所述 IIC 接口是所述 CSFP 光模块都设置有的接口, 并且 所述的 IIC 接口都使用同一标准, 这样通过过远程访问 IIC 接口来启动 Bootloader 简单方 便, 并且不增加生产成本, 并可实现远程访问的功能。 0017 优选的是, 其中, 选择启动 Bootloader, 对 FLASH 区域中的程序代码区域内的数据 执行升级操作包括以下步骤 : 0018 1) 在微控制器中写入 “BOOT” 的 ASCII 码, 启动 Bootloader ; 0019 2) 将新的程序数据。
19、写入 FLASH 区域中的程序代码区域 ; 0020 3) 读出写入的新程序数据, 与目标程序数据进行比对 ; 0021 4) 如果正确, 则运行新程序数据, 完成升级 ; 如果不正确, 则重复步骤 2) 和 3), 直 到正确为止。 说 明 书 CN 104461639 A 5 3/6 页 6 0022 所述步骤 1) 中通过在微控制器中写入 “BOOT” 的 ASCII 码, 启动 Bootloader, 这种 启动 Bootloader 的方式当进行程序升级时, 可以通过厂商的远程控制方式完成或有客户 来完成, 操作简单并且可实现远程控制, 所述步骤3)和4)实现对写入的新程序数据与目标。
20、 程序数据进行比对, 达到保证写入的新程序数据就是所要写入的目标程序。 0023 优选的是, 其中, 所述步骤 2) 中包括 : 0024 2.1) 查找待写入新程序数据的 FLASH 区域中的映射地址 ; 0025 2.2) 将新程序数据中的 512 字节数据写入微处理器的缓冲区 ; 0026 2.3) 根据查找到的映射地址, 擦除对应的 FLASH 区域中的原始程序 ; 0027 2.4) 将缓冲区内的新程序数据写入根据映射地址对应的 FLASH 区域中 ; 0028 2.5)反复执行步骤2.2)-2.4)直到将所有新程序数据全部写入对应的FLASH区域 中。 0029 所述步骤 2.1)。
21、、 2.2)、 2.3)、 2.4) 完成新程序写入到对应的 FLASH 区域中, 并且擦 除了对应的 FLASH 区域中的原始程序, 既完成了对新数据的写入, 又不改变原来的数据大 小。 0030 优选的是, 其中, 所述步骤 3) 中包括 : 0031 3.1) 查找写入了新程序数据的 FLASH 区域中的映射地址 ; 0032 3.2) 根据查找到的映射地址, 将对应的 FLASH 区域中的新程序数据读取到缓冲 区 ; 0033 3.3) 在缓冲区中读出新程序数据中的 512 字节数据, 与目标程序数据进行比对, 以校验写入程序的正确性 ; 0034 3.4) 反复执行步骤 3.3), 。
22、直到完成校验。 0035 所述步骤 3.1)、 3.2)、 3.3) 执行对新写入程序的校验功能, 保证写入新程序就是 目标程序。 0036 优选的是, 其中, 所述 Bootloader 启动程序占用 CSFP 光模块的 IIC 从机地址为 A0H、 A2H。所述 IIC 从机地址 A0H、 A2H 为所述 CSFP 光模块的固有功能结构, 通过使用所述 IIC 从机地址 A0H、 A2H, 不增加另外的配件, 降低了成本。 0037 优选的是, 其中, 所述 A2H 区域的 120、 121、 和 122 字节作为自定义 Bootloader 的 控制字节 ; 使用123、 124、 12。
23、5、 和126字节作为进入Bootloader模式的密码控制字节 ; 使用 高 128 位的页 0xFC、 0xFD、 0xFE、 0xFF 四个页地址作为 Bootloader 升级的数据缓冲区。通 过对所述CSFP光模块A2H区域的重新定义分配, 实现了新的功能, 且不增加新的开发成本, 节约了资源。 0038 优选的是, 其中, 所述 123-126 字节为写入 “BOOT”的 ASCII 码 ; 121-122 字节为 FLASH 映射地址字节 ; 120 字节为 Bootloader 控制字节, 命令有 :E擦除微控制器的程 序储存区,W 将缓冲区数据写入微控制器对应的 FLASH 。
24、区域,R 读取微控制器对应的 FLASH 区域数据至缓冲区,S开始运行应用程序 ; 高 128 位, 按页映射缓冲区, 0xFC 页, 映射缓冲区 0x000-0x07F 字节 ; 0xFD 页, 映射缓冲区 0x080-0x0FF 字节 ; 0xFE 页, 映射缓 冲区 0x100-0x17F 字节 ; 0xFF 页, 映射缓冲区 0x180-0x1FF 字节。所述 123-126 字节为写 入 “BOOT” 的 ASCII 码, 通过写入 “BOOT” 的 ASCII 码, 实现启动 Bootloader 的功能 ; 所述 121-122 字节为 FLASH 映射地址字节, 实现对写入程序。
25、和目标程序的校验功能 ; 所述 120 字 说 明 书 CN 104461639 A 6 4/6 页 7 节为 Bootloader 控制字节, 实现对新程序的写入和读取功能, 完成对微控制器的程序储存 区原有程序的擦除功能 ; 所述高 128 位, 作为按页映射缓冲区, 实现对数据的临时存放功 能。实现了对所述 Bootloader 启动程序进行启动, 完成了对新数据的校验, 最终实现对程 序的升级, 简单易行, 可靠性高, 且厂商数据和产品数据不受程序更新的影响。 0039 本发明的有益效果在于 : 0040 1、 本发明中远程访问 IIC 接口来启动 Bootloader, 执行升级操作。
26、, 实现了光模块 出厂后, 不必返厂使用编程器烧录程序, 根据交换机、 路由器的不同, 升级光模块内部程序, 达到兼容不同类型和要求的交换机或路由器的目的。 0041 2、 本发明中在 CSFP 光模块的微控制器的 FLASH 区域中, 开辟出 Bootloader 存放 区域, 将 Bootloader 启动程序存储在微控制器的 FLASH 区域, 形成一个整体。 0042 3、 本发明中厂商通过远程控制, 实现程序升级, 或者客户可通过光模块总线接口 进行程序升级, 降低了工作量, 减少了因为壳件拆卸造成的程序升级成本。 0043 4、 本发明中厂商通过远程进行程序, 将保留光模块的现有厂。
27、商、 用户数据, 不会造 成有效数据丢失或调测试参数丢失。 附图说明 0044 图 1 为光模块内部结构框图 ; 0045 图 2 为普通光模块返厂程序升级流程图 ; 0046 图 3 为微控制器 Bootloader 程序工作流程图 ; 0047 图 4 为微控制器 C8051F330 内部 FLASH 规划图。 具体实施方式 0048 下面结合附图对本发明做进一步的详细说明, 以令本领域技术人员参照说明书文 字能够据以实施。 0049 本发明所述基于 Bootloader 的 CSFP 光模块升级方法包括 : 0050 在 CSFP 光模块的微控制器的 FLASH 区域中, 开辟出 Boo。
28、tloader 存放区域, 其中存 储有 Bootloader 启动程序 ; 0051 选择启动 Bootloader, 对 FLASH 区域中的程序代码区域内的数据执行升级操作。 所述 CSFP 光模块的微控制器的 FLASH 区域, 专门开辟一个 Bootloader 存放区域, 用于存储 Bootloader 启动程序, 这样当需要使用所述的 Bootloader 启动程序进行程序升级时, 通过 相关指令进入所述的 Bootloader 启动程序这一模式即可。本发明通过在 CSFP 光模块的微 控制器的 FLASH 区域中存储 Bootloader 启动程序, 实现对所述 FLASH 区。
29、域中的程序代码区 域内的数据进行升级, 不必进行对光模块返厂进行数据升级, 也不必对光模块进行拆装, 消 除了对光模块因为拆装造成的不必要损害, 缩短了维护周期, 降低了程序升级的成本。 0052 在其中一个实施例中, 所述 CSFP 光模块设置有 IIC 接口, 系统通过远程访问 IIC 接口来启动 Bootloader, 执行升级操作。所述 IIC 接口是所述 CSFP 光模块都设置有的接 口, 并且所述的IIC接口都使用同一标准, 这样通过过远程访问IIC接口来启动Bootloader 简单方便, 并且不增加生产成本, 并可实现远程访问的功能。 0053 在其中一个实施例中, 如图 3 。
30、所示, 选择启动 Bootloader, 对 FLASH 区域中的程序 说 明 书 CN 104461639 A 7 5/6 页 8 代码区域内的数据执行升级操作包括以下步骤 : 0054 1) 在微控制器中写入 “BOOT” 的 ASCII 码, 启动 Bootloader ; 0055 2) 将新的程序数据写入 FLASH 区域中的程序代码区域 ; 0056 3) 读出写入的新程序数据, 与目标程序数据进行比对 ; 0057 4) 如果正确, 则运行新程序数据, 完成升级 ; 如果不正确, 则重复步骤 2) 和 3), 直 到正确为止。 0058 所述步骤 1) 中通过在微控制器中写入 “。
31、BOOT” 的 ASCII 码, 启动 Bootloader, 这种 启动 Bootloader 的方式当进行程序升级时, 可以通过厂商的远程控制方式完成或有客户 来完成, 操作简单并且可实现远程控制, 所述步骤3)和4)实现对写入的新程序数据与目标 程序数据进行比对, 达到保证写入的新程序数据就是所要写入的目标程序。 0059 在其中一个实施例中, 如图 4 所示为微控制器 C8051F330 内部 FLASH 规划图, 所述 步骤 2) 中包括 : 0060 2.1) 查找待写入新程序数据的 FLASH 区域中的映射地址 ; 0061 2.2) 将新程序数据中的 512 字节数据写入微处理。
32、器的缓冲区 ; 0062 2.3) 根据查找到的映射地址, 擦除对应的 FLASH 区域中的原始程序 ; 0063 2.4) 将缓冲区内的新程序数据写入根据映射地址对应的 FLASH 区域中 ; 0064 2.5)反复执行步骤2.2)-2.4)直到将所有新程序数据全部写入对应的FLASH区域 中。 0065 所述步骤 2.1)、 2.2)、 2.3)、 2.4) 完成新程序写入到对应的 FLASH 区域中, 并且擦 除了对应的 FLASH 区域中的原始程序, 既完成了对新数据的写入, 又不改变原来的数据大 小。 0066 在其中一个实施例中, 所述步骤 3) 中包括 : 0067 3.1) 查。
33、找写入了新程序数据的 FLASH 区域中的映射地址 ; 0068 3.2) 根据查找到的映射地址, 将对应的 FLASH 区域中的新程序数据读取到缓冲 区 ; 0069 3.3) 在缓冲区中读出新程序数据中的 512 字节数据, 与目标程序数据进行比对, 以校验写入程序的正确性 ; 0070 3.4) 反复执行步骤 3.3), 直到完成校验。 0071 所述步骤 3.1)、 3.2)、 3.3) 执行对新写入程序的校验功能, 保证写入新程序就是 目标程序。 0072 在其中一个实施例中, 所述 Bootloader 启动程序占用 CSFP 光模块的 IIC 从机地 址为 A0H、 A2H。所述。
34、 IIC 从机地址 A0H、 A2H 为所述 CSFP 光模块的固有功能结构, 通过使用 所述 IIC 从机地址 A0H、 A2H, 不增加另外的配件, 降低了成本。 0073 在其中一个实施例中, 所述 A2H 区域的 120、 121、 和 122 字节作为自定义 Bootloader 的控制字节 ; 使用 123、 124、 125、 和 126 字节作为进入 Bootloader 模式的密码 控制字节 ; 使用高128位的页0xFC、 0xFD、 0xFE、 0xFF四个页地址作为Bootloader升级的数 据缓冲区。通过对所述 CSFP 光模块 A2H 区域的重新定义分配, 实现了。
35、新的功能, 且不增加 新的开发成本, 节约了资源。 0074 在其中一个实施例中, 所述 123-126 字节为写入 “BOOT” 的 ASCII 码 ; 121-122 字 说 明 书 CN 104461639 A 8 6/6 页 9 节为 FLASH 映射地址字节 ; 120 字节为 Bootloader 控制字节, 命令有 :E 擦除微控制器 的程序储存区,W 将缓冲区数据写入微控制器对应的 FLASH 区域,R 读取微控制器对 应的 FLASH 区域数据至缓冲区,S 开始运行应用程序 ; 高 128 位, 按页映射缓冲区, 0xFC 页, 映射缓冲区 0x000-0x07F 字节 ; 。
36、0xFD 页, 映射缓冲区 0x080-0x0FF 字节 ; 0xFE 页, 映射 缓冲区 0x100-0x17F 字节 ; 0xFF 页, 映射缓冲区 0x180-0x1FF 字节。所述 123-126 字节为 写入 “BOOT” 的 ASCII 码, 通过写入 “BOOT” 的 ASCII 码, 实现启动 Bootloader 的功能 ; 所 述 121-122 字节为 FLASH 映射地址字节, 实现对写入程序和目标程序的校验功能 ; 所述 120 字节为 Bootloader 控制字节, 实现对新程序的写入和读取功能, 完成对微控制器的程序储 存区原有程序的擦除功能 ; 所述高 128。
37、 位, 作为按页映射缓冲区, 实现对数据的临时存放功 能。实现了对所述 Bootloader 启动程序进行启动, 完成了对新数据的校验, 最终实现对程 序的升级, 简单易行, 可靠性高, 且保留光模块的现有厂商、 用户数据, 不会造成有效数据丢 失或调测试参数丢失。 0075 尽管本发明的实施方案已公开如上, 但其并不仅仅限于说明书和实施方式中所列 运用, 它完全可以被适用于各种适合本发明的领域, 对于熟悉本领域的人员而言, 可容易地 实现另外的修改, 因此在不背离权利要求及等同范围所限定的一般概念下, 本发明并不限 于特定的细节和这里示出与描述的图例。 说 明 书 CN 104461639 A 9 1/3 页 10 图 1 图 2 说 明 书 附 图 CN 104461639 A 10 2/3 页 11 图 3 说 明 书 附 图 CN 104461639 A 11 3/3 页 12 图 4 说 明 书 附 图 CN 104461639 A 12 。