System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种嵌入式设备远程固件升级方法技术_技高网

一种嵌入式设备远程固件升级方法技术

技术编号:41145933 阅读:2 留言:0更新日期:2024-04-30 18:14
本发明专利技术涉及一种嵌入式设备远程固件升级方法,应用于待升级的嵌入式设备中,包括以下步骤:上电后,程序先运行于BootLoader程序区,判断是否接收到起始帧,若是,则进入升级流程;在APP程序区时,接收到升级命令时,从APP程序区跳转到BootLoader程序区,进入升级流程;升级流程为:在BootLoader程序区,发送数据请求命令并等待接收起始帧,在接收到数据起始帧后执行校验操作,判断校验是否通过,若是,则回复接收成功信息,若否,则程序跳转至APP程序区,结束升级;解锁应用区FLASH,按照Ymodem协议接收升级数据并写入应用区FLASH,直到接收到数据结束帧;锁定应用区FLASH,程序跳转至APP程序区,升级完成。与现有技术相比,本发明专利技术具有简单、高效、升级稳定等优点。

【技术实现步骤摘要】

本专利技术涉及一种固件升级方法,尤其是涉及一种嵌入式设备远程固件升级方法


技术介绍

1、嵌入式设备的固件是担任着一个嵌入式系统最基础最底层工作的软件。固件一般存储于设备中的电可擦除只读存储器eeprom或flash芯片中,一般可由用户通过特定的刷新程序进行升级的程序。

2、在早期,升级固件主要是为了解决一些bug及兼容性问题。而随着信息时代的来临,厂商的设计很难全面的满足客户需求,更多的厂商把升级固件提供更多更新的功能作为附加值来提供给用户。

3、在目前的嵌入式领域应用中,对设备进行固件更新通常使用编程器(下载器)等专业设备由专业技术人员将编写好的程序烧录到嵌入式设备中。由于每一次的程序升级都需要将每个设备通过编程器(下载器)与计算机进行连接,从而达到下载的目的。这种方法往往只能为需要进行固件升级的设备进行一一升级,连接繁琐并且重复性劳动多,升级效率低下,后期升级维护复杂。

4、键显板是加氢机控制系统里的一块重要的控制模块,安装在加氢机内的面板上。键显板上的单片机固件程序根据用户需求需要经常变更,传统的方法有两种,一种方法是用专用的编程器来完成程序的升级。如果电路板已经安装到现场的设备上时,用该方法就必须要专业开发人员到现场操作,需要拆开机盖操作,非常麻烦,这样就导致产品维护成本提高。另外键显板是安装在氢气环境的防爆区,带电烧写程序容易产生静电,本身就有较大的安全隐患。另一种方法是通过串口一次性将升级数据传输到单片机的ram中暂存,单片机再将ram中的程序更新到flash中,但是这种方法要求单片机的ram足够大,能够容纳下升级文件的,由于本系统中使用的单片机ram只有20k,但是升级文件有40k左右,所以这种方法行不通。


技术实现思路

1、本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供一种简单、高效的嵌入式设备远程固件升级方法。

2、本专利技术的目的可以通过以下技术方案来实现:

3、一种嵌入式设备远程固件升级方法,应用于待升级的嵌入式设备中,所述嵌入式设备基于ymodem协议实现升级文件的传输,所述固件升级方法包括以下步骤:

4、上电后,程序先运行于bootloader程序区,判断是否接收到起始帧,若是,则进入升级流程,若否,则跳转到app程序区;

5、在app程序区时,循环判断是否接收到升级命令,若是,则从app程序区跳转到bootloader程序区,进入升级流程;

6、所述升级流程具体为:

7、在bootloader程序区,发送数据请求命令并等待接收起始帧,在接收到数据起始帧后执行校验操作,判断校验是否通过,若是,则回复接收成功信息,若否,则程序跳转至app程序区,结束升级;

8、解锁应用区flash,按照ymodem协议接收升级数据并写入所述应用区flash,直到接收到数据结束帧;

9、锁定所述应用区flash,程序跳转至app程序区,升级完成。

10、进一步地,发送所述数据请求命令后,若在设定时长内未接收到所述数据起始帧,则程序跳转至app程序区,结束升级。

11、进一步地,所述数据起始帧包括升级文件名与文件大小。

12、进一步地,所述校验操作为crc校验。

13、进一步地,在每次发送文件接收确认信息后再接收新的升级数据。

14、进一步地,接收升级数据写入flash区域具体为:

15、按照ymodem协议接收传输过来的每一条数据帧,并进行校验,当接收缓冲区的数据量达到flash写入一页的数据量时写入应用区flash区域中,直到接收到数据结束帧后,将缓冲区中剩余所述数据写入flash区域中。

16、进一步地,所述一页的数据量为1kbyte。

17、进一步地,所述接收升级数据还包括:

18、在接收到结束标识符时,第一次回复nak应答信息,若再次接收到所述结束标识符,第二次回复ack应答信息,在接收到二次确认信息后如果有新的数据则接收新的升级数据,如果没有则开始接收数据结束帧。

19、进一步地,该方法还包括:

20、在升级完成后,向远端发送升级结束字符。

21、所述升级数据经中转设备后由远端传输至嵌入式设备,所述中转设备通过rs485电缆线与远端通信连接。与现有技术相比,本专利技术具有以下有益效果:

22、1、本专利技术采用iap升级技术和ymodem文件传输协议,利用串口接收升级数据,数据传输按照ymodem协议将数据包传给单片机,单片机在接收数据的同时将数据写入到flash中,两者可以同步进行,这样可以让cpu得到最大程度的有效利用,这样就解决了单片机ram过小无法提供较大的升级数据缓冲区的问题,并且升级过程不需要专业人员去现场操作。

23、2、本专利技术的升级过程不需要接仿真器,也不需要连接特殊的通信设备,利用现有的硬件电路,用收费系统的rs485电缆线和主板与键显板之间的rs232电缆线,在站控室的pc机上就可完成升级操作。

24、3、经试验,本专利技术升级过程只需要19秒即可完成升级,升级方便快捷,操作简单,使用成本低。

25、4、本专利技术数据传输采用rs485电缆线实现,rs485最大通信距离约为1200m,可实现远程固件升级的目的。

本文档来自技高网...

【技术保护点】

1.一种嵌入式设备远程固件升级方法,其特征在于,应用于待升级的嵌入式设备中,所述嵌入式设备基于Ymodem协议实现升级文件的传输,所述固件升级方法包括以下步骤:

2.根据权利要求1所述的嵌入式设备远程固件升级方法,其特征在于,发送所述数据请求命令后,若在设定时长内未接收到所述数据起始帧,则程序跳转至APP程序区,结束升级。

3.根据权利要求1所述的嵌入式设备远程固件升级方法,其特征在于,所述数据起始帧包括升级文件名与文件大小。

4.根据权利要求1所述的嵌入式设备远程固件升级方法,其特征在于,所述校验操作为CRC校验。

5.根据权利要求1所述的嵌入式设备远程固件升级方法,其特征在于,在每次发送文件接收确认信息后再接收新的升级数据。

6.根据权利要求1所述的嵌入式设备远程固件升级方法,其特征在于,接收升级数据写入FLASH区域具体为:

7.根据权利要求6所述的嵌入式设备远程固件升级方法,其特征在于,所述一页的数据量为1Kbyte。

8.根据权利要求1所述的嵌入式设备远程固件升级方法,其特征在于,所述接收升级数据还包括:

9.根据权利要求1所述的嵌入式设备远程固件升级方法,其特征在于,还包括:

10.根据权利要求1所述的嵌入式设备远程固件升级方法,其特征在于,所述升级数据经中转设备后由远端传输至嵌入式设备,所述中转设备通过RS485电缆线与远端通信连接。

...

【技术特征摘要】

1.一种嵌入式设备远程固件升级方法,其特征在于,应用于待升级的嵌入式设备中,所述嵌入式设备基于ymodem协议实现升级文件的传输,所述固件升级方法包括以下步骤:

2.根据权利要求1所述的嵌入式设备远程固件升级方法,其特征在于,发送所述数据请求命令后,若在设定时长内未接收到所述数据起始帧,则程序跳转至app程序区,结束升级。

3.根据权利要求1所述的嵌入式设备远程固件升级方法,其特征在于,所述数据起始帧包括升级文件名与文件大小。

4.根据权利要求1所述的嵌入式设备远程固件升级方法,其特征在于,所述校验操作为crc校验。

5.根据权利要求1所述的嵌入式设备远程固件升级方法,其特征在于,在...

【专利技术属性】
技术研发人员:汤才刚刘京京刘文渊蔡虹威刘治强
申请(专利权)人:上海舜华新能源系统有限公司
类型:发明
国别省市:

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

1