CN106569847A - 一种用于车载系统基于移动网络实现iap远程升级的方法 - Google Patents

一种用于车载系统基于移动网络实现iap远程升级的方法 Download PDF

Info

Publication number
CN106569847A
CN106569847A CN201610895024.7A CN201610895024A CN106569847A CN 106569847 A CN106569847 A CN 106569847A CN 201610895024 A CN201610895024 A CN 201610895024A CN 106569847 A CN106569847 A CN 106569847A
Authority
CN
China
Prior art keywords
upgrade
upgrading
embedded device
upgrade file
area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610895024.7A
Other languages
English (en)
Other versions
CN106569847B (zh
Inventor
欧阳超
金昊炫
张宏宽
胡权
高歌
周伯涛
马海军
康克勤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Soyea Technology Co Ltd
Original Assignee
Soyea Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Soyea Technology Co Ltd filed Critical Soyea Technology Co Ltd
Priority to CN201610895024.7A priority Critical patent/CN106569847B/zh
Publication of CN106569847A publication Critical patent/CN106569847A/zh
Application granted granted Critical
Publication of CN106569847B publication Critical patent/CN106569847B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Abstract

本发明提供一种用于车载系统基于移动网络实现IAP远程升级的方法,车载平台通过移动网络从远端服务器下载升级文件至本地,然后车载平台通过接口将升级文件传送给待升级的嵌入式设备,实现嵌入式设备的远程升级,该升级方法以车载平台作为升级文件的传输中继,实现从远端服务器到本地嵌入式设备的IAP远程升级功能。同时在嵌入式设备内部升级实现中,将升级功能代码嵌入到用户功能代码中,将接收到的升级文件暂存于flash某个区域,并不覆盖掉正在运行的用户程序,当验证升级成功之后再将升级文件拷贝至用户程序区,这样可以保证即使在升级失败的情况下,用户程序仍然可以正常的运行,降低在升级过程中因发生意外事件导致升级失败的风险。

Description

一种用于车载系统基于移动网络实现IAP远程升级的方法
技术领域
本发明是一种用于车载系统基于移动网络实现IAP远程升级的方法,属于车载系统升级技术领域。
背景技术
在现有技术中,随着电子技术、通信技术以及计算机技术的迅猛发展,嵌入式系统已经广泛应用于各领域,各种行业对嵌入式设备的系统功能、性能以及规模的要求都在日益提高,开发者必须能够针对客户的需求及时对系统进行远程维护和升级,以延长系统的使用周期及改善系统的性能等。
在当今的车载系统中,为了保证对维护成本的控制以及终端用户得到最佳的软件更新体验,车载电子行业已经将软件更新功能作为一个关键的竞争优势加入到其提供的服务中,甚至有企业提出一种车载软件管理策略,将其配置为在家使用wifi进行版本系统更新,在外通过移动网络进行即时更新。
然而,传统的系统升级只支持本地升级,需要有专业技术支持人员到设备现场进行升级维护工作,大大提高了设备的维护成本,例如中国专利申请201310754479.3“单片机的IAP方法及装置”、中国专利申请201210059474.4“在线更新智能水表应用程序的方法”、中国专利申请201210428285.X“用户程序在线升级系统和升级方法”等。涉及到远程升级方法的中国专利申请都没有具体给出应对升级过程中出现升级失败的防护措施,升级失败就有可能导致用户程序不能正常运行,例如中国专利申请201510481176.8“远程在线烧写方法、装置及远程在线烧写系统”只是描述了怎么通过移动互联网实现实现对目标终端的升级控制;中国专利申请201410320164.2“一种ATmega单片机程序网络远程升级方法及其系统”只是详细论述了整个升级的过程和严格的通信协议;结合当今互联网行业的快速发展,物联网技术的不断成熟的应用前景,本中国专利申请给出了一种基于移动网络实现的嵌入式IAP远程升级方法,设计上具有很强的针对性和实用性,大大提升了系统升级的安全性与可靠性。
发明内容
针对现有技术存在的不足,本发明目的是提供一种用于车载系统基于移动网络实现IAP远程升级的方法,以解决上述背景技术中提出的问题,本发明通过在嵌入式设备区域,即flash区域建立一个升级文件缓冲区,验证整个升级过程成功之后再将缓冲区内容复制到用户代码区,提高了升级过程的安全性与系统稳定性。
为了实现上述目的,本发明是通过如下的技术方案来实现:一种用于车载系统基于移动网络实现IAP远程升级的方法,基于车载系统,包括以下步骤:
步骤1,首先系统复位,触发复位源;
步骤2,产生复位信号,BootLoader程序启动;
步骤3:BootLoader从EEPROM数据区导入升级相关数据信息,包括升级标志、升级文件总大小,以及升级文件的CRC校验码;
步骤4:查看升级标志位是否置位,若升级标志置位则执行步骤5;否则跳转到步骤7;
步骤5:校验存储在用户代码2区的升级文件的大小和CRC校验码,检验正确则执行步骤6,否则跳转到步骤7;
步骤6:将用户代码2区的升级文件拷贝到用户代码1区,同时对升级标志位清零;防止下一次运行BootLoader时再次拷贝升级文件;
步骤7:跳转至用户代码1区,正常执行用户功能代码;
步骤8,执行正常功能,即用户功能代码;
步骤9,判断是否收到车载平台发送过来的升级指令,若没有接收到升级指令,则返回执行步骤8,若接收到升级指令,则执行步骤10;
步骤10,系统切换到升级模式;
步骤11,在升级之前车载平台会向嵌入式设备端发送命令来获取嵌入式设备当前运行软件的版本号,嵌入式设备返回当前运行软件版本号、文件大小以及校验码;
步骤12:判断升级版本是否过低,当前运行软件版本号与待升级文件版本号进行比较,若待升级软件版本号低于当前运行软件版本号,则进入步骤8,放弃升级过程,否则进入步骤13;
步骤13:若待升级文件的软件版本号低于当前运行软件的版本号则返回给车载平台版本太旧的命令,否则嵌入式设备切换到升级模式并返回收到数据正确的确认帧,车载平台发送擦除flash命令,嵌入式设备擦除用户代码2区flash并返回擦除flash确认命令,车载平台将待升级文件分成若干个大小固定的数据包,然后依次将这些数据包发送给嵌入式设备;
步骤14:嵌入式设备接收到一个数据包之后,对接收到的数据包进行校验,若检验正确,则将接收的数据包存储在用户代码2区并且返回给车载平台一个正确接收确认帧,否则返回一个接收数据包失败帧;
步骤15:若车载平台所有升级文件数据包发送完成,则发送数据包发送完成命令;否则返回到步骤13去执行;
步骤16:嵌入式设备端接收到数据包传送完成命令之后,开始对接收到的升级文件的总字节大小和CRC校验码进行验证,若验证正确则返回给车载平台一个升级成功的数据帧,同时会在EEPROM数据区存储设置升级标志位、升级文件的大小以及升级文件校验码;否则返回一个升级失败的数据帧;
步骤17:若车载平台接收到升级成功数据帧,则发送一个系统复位命令数据帧;否则返回步骤8继续尝试升级;在升级过程中只要发生错误,则返回步骤8继续尝试升级,这个尝试过程总共执行三次,若升级三次仍然不成功,则发送退出升级命令帧,若嵌入式设备端接收到系统复位命令帧,则产生一个软件系统复位,然后系统重新启动就可以运行刚升级的文件;若嵌入式设备接收到退出升级命令帧,则切回到正常运行模式,继续运行原先的功能代码。
进一步地,车载系统包括服务器、车载平台、设置在车载平台内的接口以及嵌入式设备,嵌入式设备作为车载平台的一个组成部分,通过接口与车载平台之间进行信息的交换,车载平台通过移动网络从服务器端下载bin格式的升级文件,然后将升级文件通过接口发送给嵌入式设备,完成嵌入式设备的升级过程。
进一步地,在升级之前车载平台通过移动网络从远端服务器下载升级文件至本地,然后车载平台通过接口将升级文件传送给待升级的嵌入式设备,实现嵌入式设备的远程升级;
嵌入式设备从结构上映射为至少四个存储体:BootLoader区、用户代码1区、用户代码2区以及EEPROM数据区;
BootLoader区用于存放BootLoader程序,实现系统的启动、数据的搬移和程序的跳转功能;用户代码1区作为主功能存储区,功能代码总是从这里开始运行,并且完成升级文件的编程工作;用户代码2区作为辅助功能区,实现升级文件的暂时存储;EEPROM数据区用于记录升级过程及升级文件的属性等相关信息。
本发明的有益效果:本发明的一种用于车载系统基于移动网络实现IAP远程升级的方法,将升级文件相关的功能放到了用户代码中,这与传统的IAP方式将升级文件功能代码放到BootLoader不同,这也是相对传统IAP方式非常重要的一个优点。传统的IAP升级方式在嵌入式设备接收到升级指令后的通常做法是产生一个系统软件复位使程序跳转到BootLoader处来处理后续升级相关的功能;本发明将升级相关的功能封装成一个软件模块,放到用户功能代码中,在正常执行用户代码过程中一旦接收到车载平台发送过来的升级命令,系统可以安全平稳的由正常工作模式切换到在线升级模式,执行升级功能模块;这样可以规避程序通过复位来实现程序的跳转,从某种意义上来说会显得更加的安全,同时BootLoader程序功能显得更加简洁,可以提高其在不同硬件平台之间的可移植性;更进一步说,在系统升级过程中无可避免的会发生一些意外事件导致升级失败,例如突然断电,车载平台突然死机等,传统的IAP升级方式在升级的过程中会覆盖掉原先的功能代码,如果升级失败将会导致系统不能正常工作,必须到设备现场进行处理,提高了系统维护的成本。但是本发明在升级的过程中会将升级文件暂存于用户代码2区,只有当验证升级成功之后才会将升级文件由用户代码2区搬移至主用户代码区,即使升级失败仍然可以继续运行原先的功能程序,不会影响系统的正常运行,这种升级方法可以将升级过程中的意外风险降至最低。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1 为车载系统整体框图;
图2 为车载平台与嵌入式设备之间进行升级文件传输的过程流程图;
图3 为嵌入式芯片片内flash结构划分图;
图4 为系统启动过程中BootLoader处理流程图;
图5 为嵌入式设备内部整体处理流程图。
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
请参阅图1-图5,本发明提供一种技术方案:一种用于车载系统基于移动网络实现IAP远程升级的方法,基于车载系统,包括以下步骤:
步骤1,首先系统复位,触发复位源;
步骤2,产生复位信号,BootLoader程序启动;
步骤3:BootLoader从EEPROM数据区导入升级相关数据信息,包括升级标志、升级文件总大小,以及升级文件的CRC校验码;
步骤4:查看升级标志位是否置位,若升级标志置位则执行步骤5;否则跳转到步骤7;
步骤5:校验存储在用户代码2区的升级文件的大小和CRC校验码,检验正确则执行步骤6,否则跳转到步骤7;
步骤6:将用户代码2区的升级文件拷贝到用户代码1区,同时对升级标志位清零;防止下一次运行BootLoader时再次拷贝升级文件;
步骤7:跳转至用户代码1区,正常执行用户功能代码;
步骤8,执行正常功能,即用户功能代码;
步骤9,判断是否收到车载平台发送过来的升级指令,若没有接收到升级指令,则返回执行步骤8,若接收到升级指令,则执行步骤10;
步骤10,系统切换到升级模式;
步骤11,在升级之前车载平台会向嵌入式设备端发送命令来获取嵌入式设备当前运行软件的版本号,嵌入式设备返回当前运行软件版本号、文件大小以及校验码;
步骤12:判断升级版本是否过低,当前运行软件版本号与待升级文件版本号进行比较,若待升级软件版本号低于当前运行软件版本号,则进入步骤8,放弃升级过程,否则进入步骤13;
步骤13:若待升级文件的软件版本号低于当前运行软件的版本号则返回给车载平台版本太旧的命令,否则嵌入式设备切换到升级模式并返回收到数据正确的确认帧,车载平台发送擦除flash命令,嵌入式设备擦除用户代码2区flash并返回擦除flash确认命令,车载平台将待升级文件分成若干个大小固定的数据包,然后依次将这些数据包发送给嵌入式设备;
步骤12以及步骤13中的描述表明只有待升级文件的软件版本高于当前运行软件的版本才会继续后面的升级步骤,这样可以防止人为因素导致升级错误的文件;存储升级文件的大小和校验码则是防止数据包在传送过程中有丢包或者是漏包的现象发生。
步骤13则是基于片内flash的特点,在编程过程中只能写0不能写1,所以在编程前必须先擦除flash,将变成区域flash内容预置为1,然后在编程过程中只需将需要清0的位写0接好了。若在应用程序中启用了看门狗,则在擦除flash编程区域时需要隔一段时间去喂一次狗,因为擦除flash是一个相对比较耗时的过程,可能导致看门狗复位。
步骤14:嵌入式设备接收到一个数据包之后,对接收到的数据包进行校验,若检验正确,则将接收的数据包存储在用户代码2区并且返回给车载平台一个正确接收确认帧,否则返回一个接收数据包失败帧;
步骤15:若车载平台所有升级文件数据包发送完成,则发送数据包发送完成命令;否则返回到步骤13去执行;
步骤16:嵌入式设备端接收到数据包传送完成命令之后,开始对接收到的升级文件的总字节大小和CRC校验码进行验证,若验证正确则返回给车载平台一个升级成功的数据帧,同时会在EEPROM数据区存储设置升级标志位、升级文件的大小以及升级文件校验码;否则返回一个升级失败的数据帧;
步骤17:若车载平台接收到升级成功数据帧,则发送一个系统复位命令数据帧;否则返回步骤8继续尝试升级;在升级过程中只要发生错误,则返回步骤8继续尝试升级,这个尝试过程总共执行三次,若升级三次仍然不成功,则发送退出升级命令帧,若嵌入式设备端接收到系统复位命令帧,则产生一个软件系统复位,然后系统重新启动就可以运行刚升级的文件;若嵌入式设备接收到退出升级命令帧,则切回到正常运行模式,继续运行原先的功能代码。
在车载平台与嵌入式设备之间交互的通信协议中要有完善详尽的错误处理应答机制,一旦在升级过程中检测到错误(例如命令码无效、数据长度错误、校验码错误、未检测到帧结束符等),一定要让通信双方都知道具体是什么错误,然后各自针对具体的问题去做相应的处理,这在开发调试中具有重要的意义。在具体实施过程中采用如下通信格式:
车载平台发送数据格式如下表:
序号 1 2 3 4 5 6 7
起始符 版本 命令标志 长度 数据 帧校验 结束符
字节数 1 1 1 1 N字节(<255) 2 1
符号 SOI VER CMD LTH INFO CRC EOI
嵌入式设备应答格式如下表:
序号 1 2 3 4 5 6 7 8
起始符 版本 命令标志 应答状态 长度 数据 帧校验 结束符
字节数 1 1 1 1 1 N字节(0<=N<255) 2 1
符号 SOI VER CMD RTN LTH INFO CRC EOI
SOI: 发送信息起始符=7EH (START OF INFORMATION)
EOI: 发送信息结束符=0DH (END OF INFORMATION)
VER:通信协议的版本(=10H,表示1.0)
CMD:命令内容,表示当前帧需要实现的功能
LTH: INFO数据段的长度,不大于255
INFO:传递的有效信息部分
RTN: 命令执行结果返回值,各种错误信息可以在该字节中定义
CRC: 传送一桢信息的16位CRC校验码
车载系统包括服务器、车载平台、设置在车载平台内的接口以及嵌入式设备,嵌入式设备作为车载平台的一个组成部分,通过接口与车载平台之间进行信息的交换,车载平台通过移动网络从服务器端下载bin格式的升级文件,然后将升级文件通过接口发送给嵌入式设备,完成嵌入式设备的升级过程。
在升级之前车载平台通过移动网络从远端服务器下载升级文件至本地,然后车载平台通过接口将升级文件传送给待升级的嵌入式设备,实现嵌入式设备的远程升级;
嵌入式设备从结构上映射为至少四个存储体:BootLoader区、用户代码1区、用户代码2区以及EEPROM数据区;
BootLoader区用于存放BootLoader程序,实现系统的启动、数据的搬移和程序的跳转功能;用户代码1区作为主功能存储区,功能代码总是从这里开始运行,并且完成升级文件的编程工作;用户代码2区作为辅助功能区,实现升级文件的暂时存储;EEPROM数据区用于记录升级过程及升级文件的属性等相关信息。
BootLoader区位于flash的起始位置,主要用来启动系统并且实现到用户代码的跳转。上电复位之后,车载系统首先运行BootLoader程序,BootLader根据EEPROM数据区中的升级标志位来做相应的处理:如果升级标志位置1,BoltLoader将校验用户代码2区中数据的正确性,如果校验正确,则将用户代码2区中的数据搬移到用户代码1区,然后跳转到用户代码1区去执行用户代码;如果升级标志位没有置1,则直接跳转到用户代码区1去执行用户。
由于默认中断向量表被BootLoader程序占用,用户代码要想正常响应中断,必须对中断向量表进行重映射,所以在用户功能代码中第一步就是要对中断向量表进行偏移设置。
用户代码1区作为主用户代码区,系统总是跳转到此处执行用户代码。应用程序可以工作在两种运行模式:正常工作模式和在线升级模式。正常工作模式是系统的默认工作模式,此时车载系统运行产品的功能代码,实现产品的正常功能;在线升级模式是指当程序运行在正常功能模式时,当嵌入式设备接收到车载平台的升级指令时,车载系统马上转为在线升级模式并且等待后续相关的升级指令。当车载平台发送升级命令后,应用程序进入升级模式,并将接收的代码数据包写入用户代码2区。在所有的数据包传送完成之后通过CRC循环冗余校验码来验证整个升级文件的完整性,如果整个升级文件传输正确,表示升级成功,在EEPROM数据区置升级成功标志位;否则程序退回到正常工作模式。整个升级过程在用户代码1区实现。
用户代码2区为用户文件暂存区,用于暂时存储升级文件。如果升级成功之后由BootLoader将用户代码2区中的数据搬移到用户代码1区。
EEPROM数据区用来存储升级文件的相关信息:升级标志、升级文件大小以及升级文件校验码。升级成功之后将上述陈列的信息更新到EEPROM区。然后当运行BootLoader时,对存储在用户代码2区的数据长度和校验码进行验证,如果验证通过则将用户代码2区的数据搬移到用户代码1区,然后跳转到用户代码1区去执行用户程序。
做为本发明的一个实施例:本发明的一种用于车载系统基于移动网络实现IAP远程升级的方法,将升级文件相关的功能放到了用户代码中,这与传统的IAP方式将升级文件功能代码放到BootLoader不同,这也是相对传统IAP方式非常重要的一个优点。传统的IAP升级方式在嵌入式设备接收到升级指令后的通常做法是产生一个系统软件复位使程序跳转到BootLoader处来处理后续升级相关的功能;本发明将升级相关的功能封装成一个软件模块,放到用户功能代码中,在正常执行用户代码过程中一旦接收到车载平台发送过来的升级命令,系统可以安全平稳的由正常工作模式切换到在线升级模式,执行升级功能模块;这样可以规避程序通过复位来实现程序的跳转,从某种意义上来说会显得更加的安全,同时BootLoader程序功能显得更加简洁,可以提高其在不同硬件平台之间的可移植性;更进一步说,在系统升级过程中无可避免的会发生一些意外事件导致升级失败,例如突然断电,车载平台突然死机等,传统的IAP升级方式在升级的过程中会覆盖掉原先的功能代码,如果升级失败将会导致系统不能正常工作,必须到设备现场进行处理,提高了系统维护的成本。但是本发明在升级的过程中会将升级文件暂存于用户代码2区,只有当验证升级成功之后才会将升级文件由用户代码2区搬移至主用户代码区,即使升级失败仍然可以继续运行原先的功能程序,不会影响系统的正常运行,这种升级方法可以将升级过程中的意外风险降至最低。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点,对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

Claims (3)

1.一种用于车载系统基于移动网络实现IAP远程升级的方法,其特征在于:基于车载系统,包括以下步骤:
步骤1,首先系统复位,触发复位源;
步骤2,产生复位信号,BootLoader程序启动;
步骤3:BootLoader从EEPROM数据区导入升级相关数据信息,包括升级标志、升级文件总大小,以及升级文件的CRC校验码;
步骤4:查看升级标志位是否置位,若升级标志置位则执行步骤5;否则跳转到步骤7;
步骤5:校验存储在用户代码2区的升级文件的大小和CRC校验码,检验正确则执行步骤6,否则跳转到步骤7;
步骤6:将用户代码2区的升级文件拷贝到用户代码1区,同时对升级标志位清零;防止下 一次运行BootLoader时再次拷贝升级文件;
步骤7:跳转至用户代码1区,正常执行用户功能代码;
步骤8,执行正常功能,即用户功能代码;
步骤9,判断是否收到车载平台发送过来的升级指令,若没有接收到升级指令,则返回执行步骤8,若接收到升级指令,则执行步骤10;
步骤10,系统切换到升级模式;
步骤11,在升级之前车载平台会向嵌入式设备端发送命令来获取嵌入式设备当前运行软件的版本号,嵌入式设备返回当前运行软件版本号、文件大小以及校验码;
步骤12:判断升级版本是否过低,当前运行软件版本号与待升级文件版本号进行比较,若待升级软件版本号低于当前运行软件版本号,则进入步骤8,放弃升级过程,否则进入步骤13;
步骤13:若待升级文件的软件版本号低于当前运行软件的版本号则返回给车载平台版本太旧的命令,否则嵌入式设备切换到升级模式并返回收到数据正确的确认帧,车载平台发送擦除flash命令,嵌入式设备擦除用户代码2区flash并返回擦除flash确认命令,车载平台将待升级文件分成若干个大小固定的数据包,然后依次将这些数据包发送给嵌入式设备;
步骤14:嵌入式设备接收到一个数据包之后,对接收到的数据包进行校验,若检验正确,则将接收的数据包存储在用户代码2区并且返回给车载平台一个正确接收确认帧,否则返回一个接收数据包失败帧;
步骤15:若车载平台所有升级文件数据包发送完成,则发送数据包发送完成命令;否则返回到步骤13去执行;
步骤16:嵌入式设备端接收到数据包传送完成命令之后,开始对接收到的升级文件的总字节大小和CRC校验码进行验证,若验证正确则返回给车载平台一个升级成功的数据帧,同时会在EEPROM数据区存储设置升级标志位、升级文件的大小以及升级文件校验码;否则返回一个升级失败的数据帧;
步骤17:若车载平台接收到升级成功数据帧,则发送一个系统复位命令数据帧;否则返回步骤8继续尝试升级;在升级过程中只要发生错误,则返回步骤8继续尝试升级,这个尝试过程总共执行三次,若升级三次仍然不成功,则发送退出升级命令帧,若嵌入式设备端接收到系统复位命令帧,则产生一个软件系统复位,然后系统重新启动就可以运行刚升级的文件;若嵌入式设备接收到退出升级命令帧,则切回到正常运行模式,继续运行原先的功能代码。
2.根据权利要求1所述的一种用于车载系统基于移动网络实现IAP远程升级的方法,其特征在于:车载系统包括服务器、车载平台、设置在车载平台内的接口以及嵌入式设备,嵌入式设备作为车载平台的一个组成部分,通过接口与车载平台之间进行信息的交换,车载平台通过移动网络从服务器端下载bin格式的升级文件,然后将升级文件通过接口发送给嵌入式设备,完成嵌入式设备的升级过程。
3.根据权利要求1所述的一种用于车载系统基于移动网络实现IAP远程升级的方法,其特征在于:在升级之前车载平台通过移动网络从远端服务器下载升级文件至本地,然后车载平台通过接口将升级文件传送给待升级的嵌入式设备,实现嵌入式设备的远程升级;
嵌入式设备从结构上映射为至少四个存储体:BootLoader区、用户代码1区、用户代码2区以及EEPROM数据区;
BootLoader区用于存放BootLoader程序,实现系统的启动、数据的搬移和程序的跳转功能;用户代码1区作为主功能存储区,功能代码总是从这里开始运行,并且完成升级文件的编程工作;用户代码2区作为辅助功能区,实现升级文件的暂时存储;EEPROM数据区用于记录升级过程及升级文件的属性等相关信息。
CN201610895024.7A 2016-10-14 2016-10-14 一种用于车载系统基于移动网络实现iap远程升级的方法 Active CN106569847B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610895024.7A CN106569847B (zh) 2016-10-14 2016-10-14 一种用于车载系统基于移动网络实现iap远程升级的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610895024.7A CN106569847B (zh) 2016-10-14 2016-10-14 一种用于车载系统基于移动网络实现iap远程升级的方法

Publications (2)

Publication Number Publication Date
CN106569847A true CN106569847A (zh) 2017-04-19
CN106569847B CN106569847B (zh) 2020-03-31

Family

ID=58532828

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610895024.7A Active CN106569847B (zh) 2016-10-14 2016-10-14 一种用于车载系统基于移动网络实现iap远程升级的方法

Country Status (1)

Country Link
CN (1) CN106569847B (zh)

Cited By (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107153613A (zh) * 2017-05-11 2017-09-12 山东鲁能智能技术有限公司 基于HCS12单片机的BootLoader程序调试方法及系统
CN107577175A (zh) * 2017-08-09 2018-01-12 深圳市爱培科技术股份有限公司 车载多媒体设备的mcu软件升级方法、系统和存储装置
CN107797815A (zh) * 2017-10-18 2018-03-13 北京聚利科技股份有限公司 车载设备的升级方法、车载设备和升级设备
CN107832079A (zh) * 2017-11-15 2018-03-23 中国石油天然气股份有限公司 油气井监控器的升级方法、装置及计算机可读存储介质
CN108182080A (zh) * 2017-12-28 2018-06-19 重庆德科电子仪表有限公司 一种汽车仪表软件升级的方法
CN108255510A (zh) * 2017-12-22 2018-07-06 芯海科技(深圳)股份有限公司 一种基于iap在线升级待升级固件传输校验设计方法
CN108279919A (zh) * 2018-01-22 2018-07-13 成都雅骏新能源汽车科技股份有限公司 一种新能源电动汽车远程程序升级方法
CN108334331A (zh) * 2018-02-08 2018-07-27 苏州妙益科技股份有限公司 一种安全的电动汽车电池管理系统软件升级方法
CN108762778A (zh) * 2018-03-30 2018-11-06 惠州市德赛西威汽车电子股份有限公司 一种车载多媒体系统的升级方法
CN109002317A (zh) * 2018-06-27 2018-12-14 上海有个机器人有限公司 一种pcba固件升级方法及系统、pcba
CN109062595A (zh) * 2018-07-27 2018-12-21 北京中电华大电子设计有限责任公司 一种嵌入式系统的安全升级结构及方法
CN109101261A (zh) * 2018-08-06 2018-12-28 沈阳维尔环保工程有限公司 一种数据采集传输仪终端的远程在线升级方法及系统
CN109358865A (zh) * 2018-12-20 2019-02-19 合肥协力仪表控制技术股份有限公司 一种具有远程升级功能的工业车辆车联网仪表及升级方法
CN109445828A (zh) * 2018-12-12 2019-03-08 上海伟世通汽车电子系统有限公司 车载终端系统的升级方法
CN109683941A (zh) * 2018-12-27 2019-04-26 四川九洲空管科技有限责任公司 一种基于单芯片在线加载的应答机软件升级方法
CN110286933A (zh) * 2019-06-28 2019-09-27 北京音磅其声科技有限公司 一种跨系统串口升级方法
CN110391931A (zh) * 2019-04-27 2019-10-29 深圳普智远科技有限公司 一种管理服务器与远端嵌入式设备的通信方法
CN110457058A (zh) * 2019-08-09 2019-11-15 北京万东医疗科技股份有限公司 控制节点在线升级方法、装置、上位机、系统及电子设备
CN110597532A (zh) * 2019-08-06 2019-12-20 厦门科灿信息技术有限公司 一种数据采集模块及其固件升级方法和存储介质
CN110673862A (zh) * 2019-08-15 2020-01-10 广州中海达定位技术有限公司 兼用多模式的嵌入式设备固件无线升级方法、设备、介质
CN110673872A (zh) * 2019-09-06 2020-01-10 珠海泰芯半导体有限公司 一种改进型的iap升级代码的方法、系统及待升级设备
CN110769411A (zh) * 2019-10-23 2020-02-07 厦门四信通信科技有限公司 稳定实现终端设备的批量ota升级方法、装置、设备及系统
CN110995724A (zh) * 2019-12-11 2020-04-10 厦门金龙联合汽车工业有限公司 一种新能源客车整车控制器的远程升级方法
CN111124461A (zh) * 2019-12-12 2020-05-08 青岛海尔科技有限公司 用于单片机ota升级的方法、装置和单片机
CN111367541A (zh) * 2018-12-25 2020-07-03 北京兆易创新科技股份有限公司 一种eMMC和一种eMMC升级方法
CN111459508A (zh) * 2020-03-27 2020-07-28 北京经纬恒润科技有限公司 一种BootLoader自升级的方法及系统
CN111538515A (zh) * 2020-04-17 2020-08-14 杭州海兴电力科技股份有限公司 一种电能表程序的升级方法、装置和设备
CN111782246A (zh) * 2020-07-03 2020-10-16 常州东晟合众节能科技有限公司 基于总线的多节点设备嵌入式程序升级方法
CN112035151A (zh) * 2020-08-17 2020-12-04 西安航天三沃机电设备有限责任公司 一种惯性测量单元软件在线升级的方法
CN112148338A (zh) * 2020-09-16 2020-12-29 北京比特大陆科技有限公司 电源管理电路、芯片及其升级方法及服务器
CN112218289A (zh) * 2020-09-18 2021-01-12 中煤科工集团重庆研究院有限公司 定位卡无线升级系统和方法
CN112230958A (zh) * 2020-10-16 2021-01-15 上海博泰悦臻电子设备制造有限公司 车机激活方法
CN112328290A (zh) * 2020-12-04 2021-02-05 第一拖拉机股份有限公司 一种农机数据采集终端程序远程更新方法及系统
CN112486549A (zh) * 2020-10-30 2021-03-12 广汽零部件有限公司 一种汽车嵌入式软件升级方法、装置及存储介质
CN112527342A (zh) * 2020-09-23 2021-03-19 深圳市银星智能科技股份有限公司 一种在应用可编程iap固件升级方法、装置和设备
CN112579130A (zh) * 2020-12-28 2021-03-30 河南城拜检测技术有限公司 一种交互式的iap升级方法
CN112783535A (zh) * 2021-03-10 2021-05-11 广州优胜汽车科技有限公司 固件升级方法、嵌入式装置及存储介质
CN112988204A (zh) * 2021-05-19 2021-06-18 西安羚控电子科技有限公司 一种无人机软件远程升级及回滚的方法
CN113391833A (zh) * 2021-06-16 2021-09-14 杭州爱华仪器有限公司 一种测量放大器的远程升级系统及其方法
CN113791808A (zh) * 2021-10-20 2021-12-14 守卫者(杭州)科技有限公司 底层程序升级方法、装置、计算机设备及存储介质
CN116449810A (zh) * 2023-06-20 2023-07-18 一汽解放汽车有限公司 一种故障排查方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040015952A1 (en) * 2001-04-18 2004-01-22 Domosys Corporation Method of remotely upgrading firmware in field-deployed devices
CN201146523Y (zh) * 2007-12-30 2008-11-05 福建师范大学 一种基于gprs网络的arm嵌入式终端远程升级装置
CN101557583A (zh) * 2009-03-19 2009-10-14 珠海银邮光电技术发展股份有限公司 直放站设备嵌入式软件的远程升级与版本切换方法
CN105677398A (zh) * 2015-12-31 2016-06-15 中海网络科技股份有限公司 一种通用的嵌入式计算机软件在线升级方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040015952A1 (en) * 2001-04-18 2004-01-22 Domosys Corporation Method of remotely upgrading firmware in field-deployed devices
CN201146523Y (zh) * 2007-12-30 2008-11-05 福建师范大学 一种基于gprs网络的arm嵌入式终端远程升级装置
CN101557583A (zh) * 2009-03-19 2009-10-14 珠海银邮光电技术发展股份有限公司 直放站设备嵌入式软件的远程升级与版本切换方法
CN105677398A (zh) * 2015-12-31 2016-06-15 中海网络科技股份有限公司 一种通用的嵌入式计算机软件在线升级方法

Cited By (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107153613A (zh) * 2017-05-11 2017-09-12 山东鲁能智能技术有限公司 基于HCS12单片机的BootLoader程序调试方法及系统
CN107153613B (zh) * 2017-05-11 2019-09-24 山东鲁能智能技术有限公司 基于HCS12单片机的BootLoader程序调试方法及系统
CN107577175A (zh) * 2017-08-09 2018-01-12 深圳市爱培科技术股份有限公司 车载多媒体设备的mcu软件升级方法、系统和存储装置
CN107797815A (zh) * 2017-10-18 2018-03-13 北京聚利科技股份有限公司 车载设备的升级方法、车载设备和升级设备
CN107832079A (zh) * 2017-11-15 2018-03-23 中国石油天然气股份有限公司 油气井监控器的升级方法、装置及计算机可读存储介质
CN108255510B (zh) * 2017-12-22 2021-08-06 芯海科技(深圳)股份有限公司 一种基于iap在线升级待升级固件传输校验设计方法
CN108255510A (zh) * 2017-12-22 2018-07-06 芯海科技(深圳)股份有限公司 一种基于iap在线升级待升级固件传输校验设计方法
CN108182080A (zh) * 2017-12-28 2018-06-19 重庆德科电子仪表有限公司 一种汽车仪表软件升级的方法
CN108279919A (zh) * 2018-01-22 2018-07-13 成都雅骏新能源汽车科技股份有限公司 一种新能源电动汽车远程程序升级方法
CN108334331A (zh) * 2018-02-08 2018-07-27 苏州妙益科技股份有限公司 一种安全的电动汽车电池管理系统软件升级方法
CN108334331B (zh) * 2018-02-08 2021-05-25 苏州妙益科技股份有限公司 一种安全的电动汽车电池管理系统软件升级方法
CN108762778A (zh) * 2018-03-30 2018-11-06 惠州市德赛西威汽车电子股份有限公司 一种车载多媒体系统的升级方法
CN109002317A (zh) * 2018-06-27 2018-12-14 上海有个机器人有限公司 一种pcba固件升级方法及系统、pcba
CN109002317B (zh) * 2018-06-27 2022-01-18 上海有个机器人有限公司 一种pcba固件升级方法及系统、pcba
CN109062595A (zh) * 2018-07-27 2018-12-21 北京中电华大电子设计有限责任公司 一种嵌入式系统的安全升级结构及方法
CN109101261A (zh) * 2018-08-06 2018-12-28 沈阳维尔环保工程有限公司 一种数据采集传输仪终端的远程在线升级方法及系统
CN109445828A (zh) * 2018-12-12 2019-03-08 上海伟世通汽车电子系统有限公司 车载终端系统的升级方法
CN109358865A (zh) * 2018-12-20 2019-02-19 合肥协力仪表控制技术股份有限公司 一种具有远程升级功能的工业车辆车联网仪表及升级方法
CN111367541A (zh) * 2018-12-25 2020-07-03 北京兆易创新科技股份有限公司 一种eMMC和一种eMMC升级方法
CN109683941A (zh) * 2018-12-27 2019-04-26 四川九洲空管科技有限责任公司 一种基于单芯片在线加载的应答机软件升级方法
CN110391931A (zh) * 2019-04-27 2019-10-29 深圳普智远科技有限公司 一种管理服务器与远端嵌入式设备的通信方法
CN110286933A (zh) * 2019-06-28 2019-09-27 北京音磅其声科技有限公司 一种跨系统串口升级方法
CN110597532A (zh) * 2019-08-06 2019-12-20 厦门科灿信息技术有限公司 一种数据采集模块及其固件升级方法和存储介质
CN110457058A (zh) * 2019-08-09 2019-11-15 北京万东医疗科技股份有限公司 控制节点在线升级方法、装置、上位机、系统及电子设备
CN110673862A (zh) * 2019-08-15 2020-01-10 广州中海达定位技术有限公司 兼用多模式的嵌入式设备固件无线升级方法、设备、介质
CN110673872A (zh) * 2019-09-06 2020-01-10 珠海泰芯半导体有限公司 一种改进型的iap升级代码的方法、系统及待升级设备
CN110769411A (zh) * 2019-10-23 2020-02-07 厦门四信通信科技有限公司 稳定实现终端设备的批量ota升级方法、装置、设备及系统
CN110769411B (zh) * 2019-10-23 2022-10-21 厦门四信通信科技有限公司 稳定实现终端设备的批量ota升级方法、装置、设备及系统
CN110995724A (zh) * 2019-12-11 2020-04-10 厦门金龙联合汽车工业有限公司 一种新能源客车整车控制器的远程升级方法
CN111124461A (zh) * 2019-12-12 2020-05-08 青岛海尔科技有限公司 用于单片机ota升级的方法、装置和单片机
CN111124461B (zh) * 2019-12-12 2023-08-18 青岛海尔科技有限公司 用于单片机ota升级的方法、装置和单片机
CN111459508A (zh) * 2020-03-27 2020-07-28 北京经纬恒润科技有限公司 一种BootLoader自升级的方法及系统
CN111459508B (zh) * 2020-03-27 2023-12-01 北京经纬恒润科技股份有限公司 一种BootLoader自升级的方法及系统
CN111538515A (zh) * 2020-04-17 2020-08-14 杭州海兴电力科技股份有限公司 一种电能表程序的升级方法、装置和设备
CN111782246A (zh) * 2020-07-03 2020-10-16 常州东晟合众节能科技有限公司 基于总线的多节点设备嵌入式程序升级方法
CN112035151A (zh) * 2020-08-17 2020-12-04 西安航天三沃机电设备有限责任公司 一种惯性测量单元软件在线升级的方法
CN112148338A (zh) * 2020-09-16 2020-12-29 北京比特大陆科技有限公司 电源管理电路、芯片及其升级方法及服务器
US11829220B2 (en) 2020-09-16 2023-11-28 Sophgo Technologies Ltd. Power management circuit, chip and upgrade method therefor, and server
CN112148338B (zh) * 2020-09-16 2022-06-03 北京算能科技有限公司 电源管理电路、芯片及其升级方法及服务器
CN112218289A (zh) * 2020-09-18 2021-01-12 中煤科工集团重庆研究院有限公司 定位卡无线升级系统和方法
CN112527342A (zh) * 2020-09-23 2021-03-19 深圳市银星智能科技股份有限公司 一种在应用可编程iap固件升级方法、装置和设备
CN112230958A (zh) * 2020-10-16 2021-01-15 上海博泰悦臻电子设备制造有限公司 车机激活方法
CN112486549A (zh) * 2020-10-30 2021-03-12 广汽零部件有限公司 一种汽车嵌入式软件升级方法、装置及存储介质
CN112328290B (zh) * 2020-12-04 2023-08-22 第一拖拉机股份有限公司 一种农机数据采集终端程序远程更新方法及系统
CN112328290A (zh) * 2020-12-04 2021-02-05 第一拖拉机股份有限公司 一种农机数据采集终端程序远程更新方法及系统
CN112579130A (zh) * 2020-12-28 2021-03-30 河南城拜检测技术有限公司 一种交互式的iap升级方法
CN112783535A (zh) * 2021-03-10 2021-05-11 广州优胜汽车科技有限公司 固件升级方法、嵌入式装置及存储介质
CN112988204B (zh) * 2021-05-19 2021-08-31 西安羚控电子科技有限公司 一种无人机软件远程升级及回滚的方法
CN112988204A (zh) * 2021-05-19 2021-06-18 西安羚控电子科技有限公司 一种无人机软件远程升级及回滚的方法
CN113391833A (zh) * 2021-06-16 2021-09-14 杭州爱华仪器有限公司 一种测量放大器的远程升级系统及其方法
CN113791808A (zh) * 2021-10-20 2021-12-14 守卫者(杭州)科技有限公司 底层程序升级方法、装置、计算机设备及存储介质
CN116449810A (zh) * 2023-06-20 2023-07-18 一汽解放汽车有限公司 一种故障排查方法、装置、电子设备及存储介质
CN116449810B (zh) * 2023-06-20 2023-08-29 一汽解放汽车有限公司 一种故障排查方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN106569847B (zh) 2020-03-31

Similar Documents

Publication Publication Date Title
CN106569847A (zh) 一种用于车载系统基于移动网络实现iap远程升级的方法
CN104090796B (zh) 一种嵌入式设备程序更新方法和系统
CN109117168A (zh) 无人机固件更新方法、装置、无人机及存储介质
CN102622253B (zh) 一种单片机及其在线升级的方法
CN103761122A (zh) 一种芯片固件的升级方法和系统
CN105224362A (zh) 上位机对下位机进行程序升级的方法及系统
US7529653B2 (en) Message packet logging in a distributed simulation system
CN105930236A (zh) 一种基于BMS Bootloader升级的应用程序版本回退方法
CN105677398A (zh) 一种通用的嵌入式计算机软件在线升级方法
CN111813428A (zh) 终端固件的升级方法、装置、电子设备及存储介质
CN104717252A (zh) 一种电力线载波远程升级方法和终端
CN106506649A (zh) 一种车载控制终端的远程在线升级方法及装置
CN109901866A (zh) 用于多模块系统的在线升级方法及旋转导向系统
CN114281394A (zh) 一种快速在线升级程序的方法、系统、设备及介质
CN107908417A (zh) 固件升级方法及电子设备
CN103309712A (zh) 一种手机软件升级方法及其系统
CN108132797A (zh) 一种遥控器、SoC芯片及其应用程序的升级方法
CN105589699A (zh) 序列号信息的更新方法、装置及终端
CN113467813A (zh) 一种控制器在线升级方法、装置、电子设备及存储介质
CN110995724A (zh) 一种新能源客车整车控制器的远程升级方法
CN106851625A (zh) 一种蓝牙产品ota升级方法
CN102799494B (zh) 一种校验内存中应用程序的方法和装置
US6539338B1 (en) Self-diagnostic testing of a network interface adapter
CN111459496B (zh) 一种防篡改的程序文件的生成方法、设备的升级方法
CN112925546B (zh) 一种防止车载ecu刷新出错的多级校验方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Jin Haoxuan

Inventor after: Zhang Hongkuan

Inventor after: Hu Quan

Inventor after: Gao Ge

Inventor after: Zhou Botao

Inventor after: Kang Keqin

Inventor after: Ou Yangchao

Inventor after: Ma Haijun

Inventor before: Ou Yangchao

Inventor before: Jin Haoxuan

Inventor before: Zhang Hongkuan

Inventor before: Hu Quan

Inventor before: Gao Ge

Inventor before: Zhou Botao

Inventor before: Ma Haijun

Inventor before: Kang Keqin

GR01 Patent grant
GR01 Patent grant