[发明专利]一种基于BootLoader的UV LED固化系统远程升级方法在审
申请号: | 201510536559.0 | 申请日: | 2015-08-27 |
公开(公告)号: | CN105117253A | 公开(公告)日: | 2015-12-02 |
发明(设计)人: | 朱正伟;钱露;张南;周谢益;宋文浩;黄晓竹 | 申请(专利权)人: | 常州大学 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 213164 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 bootloader uv led 固化 系统 远程 升级 方法 | ||
1.一种基于BootLoader的UVLED固化系统远程升级方法,其特征在于,包括步骤:
步骤1,根据处理器模块、光源驱动模块中的STM32F103R8T6的内存架构完成对内存页的分配,将FLASH分为四个区,即BootLoader、用户程序区、升级存储区、参数保存区,并初始化BootLoader;
步骤2,BootLoader初始化结束后,判断参数保存区中的升级标志Updata_Flag,若升级标志为0xFA,说明接收到远程升级指令,接着判断是处理器模块的程序升级还是光源驱动模块的程序升级;确定后相应的模块则由BootLoader引导程序跳转进入升级程序,程序跳转指令符合STM32F10X系列的指令协议,升级确认指令反馈给上位机;
步骤3,STM32F103R8T6微处理器调用FLASH擦除函数Flash_SectorErase()按页擦除FLASH中升级储存区的相应数据,并注意将程序存储的地址与FLASH进行页对齐,每页占用2048bit;
步骤4,为了保证程序的安全,本发明引入抗误码环节,上位机在对新程序BIN文件分包的环节会按照一定格式打包成每一个数据包;
步骤5,数据引导包接收完毕后,BootLoader中的升级程序会根据引导包的信息进行数据包的接收,每包数据接收完毕后会在控制器端再次计算CRC,并校验是否与数据包中的CRC校验码相同,若不相同则会重新申请本序号的数据包,并以5次申请为限,若5次都错误则退出升级;若相同则申请下一包的发送,直到所有的数据包发送完毕;
步骤6,为了加强系统的抗误码能力,除了对每个数据包的校验,还会在最后对总数据包进行校验;
步骤7,确认升级成功后,客户端的BootLoader程序会将当前的版本号保存进FLASH的参数区中,并上传给上位机存储,至此升级过程确认成功。
2.根据权利要求1所述的基于BootLoader的UVLED固化系统远程升级方法,其特征在于,所述UVLED固化系统主要包含通信模块、处理器模块、光源驱动模块以及交互模块,所述通信模块通过RS485分别连接处理器模块、光源驱动模块,所述处理器模块用于控制整个系统的运行,所述光源驱动模块用于控制电流的分配,所述交互模块和处理器模块相连,用于UVLED固化系统的显示和手动输入。
3.根据权利要求1所述的基于BootLoader的UVLED固化系统远程升级方法,其特征在于,所述步骤1中,BootLoader是嵌入式系统在上电后执行的第一段代码,在完成初始化硬件设备、建立内存空间映射后,再跳转到操作系统映像或固化的嵌入式应用程序的内存空间,启动运行系统;用户程序区是储存需要运行的用户程序;升级存储区是用来暂时存储新的程序的二进制文件,待校验完成后再写入用户程序区;参数保存区内定义一个升级状态的结构体,成员包括升级标志,最近一次的升级信息,CRC校验码。
4.根据权利要求3所述的基于BootLoader的UVLED固化系统远程升级方法,其特征在于,所述BootLoader以及用户程序区的首地址,需要在KEIL中的Optionsfortarget中手动设置为0x8000000和0x8010000。
5.根据权利要求1所述的基于BootLoader的UVLED固化系统远程升级方法,其特征在于,所述步骤3在擦除的过程中,Flash_SectorErase()会返回每页的擦除结果,将擦除的结果返回给上位机;若擦除成功则开始请求数据引导包,若不成功则由上位机询问是否结束升级;数据引导包是上位机对新程序BIN文件解析并分包后生成的,引导包中包含程序包的总包数、总字节数、版本号及总CRC(16BitMODELBUS模式)校验码。
6.根据权利要求1所述的基于BootLoader的UVLED固化系统远程升级方法,其特征在于,所述步骤4中具体过程为:每个数据包分别含有帧头(1Bit)、序号(1Bit)、文件长度(2Bit)、文件数据(1024Bit以内)、校验码(2Bit)、帧尾(1Bit);帧头和帧尾是根据通信协议固定的0x5A和0xA5;校验环节采用的是CRC(16BitMODELBUS模式),上位机在传输数据包前对每一数据包计算一次CRC并生成校验码;STM32F103R8T6微处理器在每一包数据的接收后都会校验CRC,如果校验不成功则发出错误指令,要求重新发送一遍当前数据包。
7.根据权利要求1所述的基于BootLoader的UVLED固化系统远程升级方法,其特征在于,所述步骤6还包括:
全部数据包传输完成后,上位机和STM32F103R8T6微处理器都会对这些储存的CRC校验码做一个总的CRC,判断上位机与微处理器计算得到的总CRC校验码是否一致,若不一致也会判断为升级失败。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于常州大学,未经常州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510536559.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种牛奶分离器内胆
- 下一篇:一种起苗装置上的新型起苗铲