CN108196866B - 一种固件更新方法及装置 - Google Patents
一种固件更新方法及装置 Download PDFInfo
- Publication number
- CN108196866B CN108196866B CN201810144754.2A CN201810144754A CN108196866B CN 108196866 B CN108196866 B CN 108196866B CN 201810144754 A CN201810144754 A CN 201810144754A CN 108196866 B CN108196866 B CN 108196866B
- Authority
- CN
- China
- Prior art keywords
- firmware updating
- firmware
- serial port
- instruction
- mode
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种固件更新方法及装置,该方法包括:接收终端通过USB接口发送的固件更新指令;将固件更新指令转换为串口协议的新固件更新指令;通过串口将新固件更新指令发送至嵌入式设备。基于该方法,通过模拟串口将该新固件更新指令发送至嵌入式设备,这样在不增加硬件成本的前提下,利用现有的USB转串口的技术,使用软件的方法加入对USB DFU协议的支持,并自定义Uart DFU协议,这样就可以在终端利用现有的DFU工具,对嵌入式设备进行固件更新操作。
Description
技术领域
本申请涉及电子技术领域,尤其涉及一种固件更新方法及装置。
背景技术
当前嵌入式设备主要通过两种途径进行固件更新(Device Firmware Upgrade,简称DFU):
1)通过串口,使用x/y/z-modem或者厂商自定义协议。
x/y/z-modem协议在PC端可以借用超级终端、puTTY、SecureCRT等标准工具,但传输速率较慢,更新较大固件的时候耗时较久。
厂商自定义协议可以充分利用串口的传输速率,但需要开发和维护PC端工具,存在额外的工作量,以及不同操作系统之间的兼容性问题。
2)通过USB,使用USB DFU或者厂商自定义协议。
通过USB更新固件可以解决速度问题,另外,为了提升通用性,USB标准化组织定义了标准的USB DFU协议,PC端有很多标准的、开源的、成熟的基于USB DFU的工具。因此USBDFU是一种非常合适的固件更新技术。
不过,很多小型的嵌入式设备,出于成本、复杂度等方面的考虑,并不支持USB功能,因此无法使用USB DFU进行固件更新。
发明内容
本发明提供了一种固件更新方法及装置,用以解决现有技术中很多小型的嵌入式设备,出于成本、复杂度等方面的考虑,并不支持USB功能,因此无法使用USB DFU进行固件更新的问题。
其具体的技术方案如下:
一种固件更新方法,所述方法包括:
接收终端通过USB接口发送的固件更新指令;
将所述固件更新指令转换为串口协议的新固件更新指令;
通过串口将所述新固件更新指令发送至嵌入式设备,以使所述嵌入式设备根据所述新固件更新指令更新固件。
可选的,在接收终端通过USB接口发送的固件更新指令之前,所述方法还包括:
接收终端发送模式切换指令;
根据所述模式切换指令,从串口通信模式切换至固件更新模式,其中,所述串口通信模式为通过模拟串口进行通信,所述固件更新模式为配合嵌入式设备的软件进行固件更新。
可选的,在通过串口将所述新固件更新指令发送至嵌入式设备之后,所述方法还包括:
接收嵌入式设备发送的固件更新结果应答;
根据所述固件更新结果应答切换运行模式。
一种固件更新装置,所述装置包括:
接收单元,用于接收终端通过USB接口发送的固件更新指令;
转换单元,用于将所述固件更新指令转换为串口协议的新固件更新指令;
处理单元,用于通过串口将所述新固件更新指令发送至嵌入式设备,以使所述嵌入式设备根据所述新固件更新指令更新固件。
可选的,所述接收单元,还用于接收终端发送模式切换指令;
所述转换单元,还用于根据所述模式切换指令,从串口通信模式切换至固件更新模式,其中,所述串口通信模式为通过模拟串口进行通信,所述固件更新模式为配合嵌入式设备的软件进行固件更新。
可选的,所述接收单元,还用于接收嵌入式设备发送的固件更新结果应答;
所述转换单元,还用于根据所述固件更新结果应答切换运行模式。
在本发明所提供的方法中,通过模拟串口将该新固件更新指令发送至嵌入式设备,这样在不增加硬件成本的前提下,利用现有的USB转串口的技术,使用软件的方法加入对USB DFU协议的支持,并自定义Uart DFU协议,这样就可以在终端利用现有的DFU工具,对嵌入式设备进行固件更新操作。
附图说明
图1为本发明实施例中一种固件更新方法的流程图;
图2为本发明实施例中串口通信模式下系统结构示意图;
图3为本发明实施例中固件更新模式下系统结构示意图;
图4为本发明实施例中一种固件更新装置的结构示意图。
具体实施方式
下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解,本发明实施例以及实施例中的具体技术特征只是对本发明技术方案的说明,而不是限定,在不冲突的情况下,本发明实施例以及实施例中的具体技术特征可以相互组合。
如图1所示为本发明实施例中一种固件更新方法的流程图,该方法包括:
S101,接收终端通过USB接口发送的固件更新指令;
首先,在本发明实施例中提供了一个软件模块,通过该软件模式可以对USB UFD协议的支持,并转换为基于串口的协议和嵌入式设备通信以完成固件更新的过程。
在本发明实施例中,该软件模块具有两种工作模式,一种为串口通信模式,如图2所示,另一种为固件更新模式,如图3所示,在串口通信模式下,该软件模块可以模拟串口设备,和嵌入式设备通信。
在固件更新模式下时,软件模块可以将USB协议的固件更新指令转换为串口协议的固件更新指令,并配合嵌入式设备中的软件,完成固件更新。
S102,将固件更新指令转换为串口协议的新固件更新指令;
在将软件为切换为固件更新模式时,若是接收到终端通过USB接口发送的固件更新指令时,首先将该USB协议的固件更新指令转换为串口协议的新固件更新指令。
S103,通过串口将新固件更新指令发送至嵌入式设备。
在对固件更新指令完成协议上的转换之后,通过模拟串口将该新固件更新指令发送至嵌入式设备,这样在不增加硬件成本的前提下,利用现有的USB转串口的技术,使用软件的方法加入对USB DFU协议的支持,并自定义Uart DFU协议,这样就可以在终端利用现有的DFU工具,对嵌入式设备进行固件更新操作。
进一步,在本发明实施例中,在嵌入设备接收到软件模块发送的新固件更新指令之后,嵌入式设备将通过串口接收新固件更新指令,并执行相应操作后通过串口应答,也就是通过串口将固件更新结果应答发送至软件模块,从而最终转发到终端。在此过程中,软件模块将切换至串口通信模式。
对应本发明的方法,本发明实施例中还提供了一种固件更新装置,如图4所示为本发明实施例中一种固件更新装置的结构示意图,该装置包括:
接收单元401,用于接收终端通过USB接口发送的固件更新指令;
转换单元402,用于将所述固件更新指令转换为串口协议的新固件更新指令;
处理单元403,用于通过串口将所述新固件更新指令发送至嵌入式设备,以使所述嵌入式设备根据所述新固件更新指令更新固件。
进一步,在本发明实施例中,所述接收单元4001,还用于接收终端发送模式切换指令;
所述转换单元402,还用于根据所述模式切换指令,从串口通信模式切换至固件更新模式,其中,所述串口通信模式为通过模拟串口进行通信,所述固件更新模式为配合嵌入式设备的软件进行固件更新。
进一步,在本发明实施例中,所述接收单元401,还用于接收嵌入式设备发送的固件更新结果应答;
所述转换单元402,还用于根据所述固件更新结果应答切换运行模式。
尽管已描述了本申请的优选实施例,但本领域内的普通技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改,包括采用特定符号、标记确定顶点等变更方式。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (2)
1.一种固件更新方法,其特征在于,所述方法包括:
接收终端发送的模式切换指令;
根据所述模式切换指令,从串口通信模式切换至固件更新模式,其中,所述串口通信模式为通过模拟串口进行通信,所述固件更新模式为配合嵌入式设备的软件进行固件更新;
接收所述终端通过USB接口发送的符合USB DFU协议的固件更新指令;
将所述固件更新指令转换为自定义Uart DFU串口协议的新固件更新指令;
通过串口将所述新固件更新指令发送至所述嵌入式设备,以使所述嵌入式设备根据所述新固件更新指令更新固件;
接收所述嵌入式设备发送的固件更新结果应答;
根据所述固件更新结果应答切换运行模式。
2.一种固件更新装置,其特征在于,所述装置包括:
接收单元,用于接收终端发送的模式切换指令;
转换单元,用于根据所述模式切换指令,从串口通信模式切换至固件更新模式,其中,所述串口通信模式为通过模拟串口进行通信,所述固件更新模式为配合嵌入式设备的软件进行固件更新;
所述接收单元,还用于接收所述终端通过USB接口发送的符合USB DFU协议的固件更新指令;
所述转换单元,还用于将所述固件更新指令转换为自定义Uart DFU串口协议的新固件更新指令;
处理单元,用于通过串口将所述新固件更新指令发送至所述嵌入式设备,以使所述嵌入式设备根据所述新固件更新指令更新固件;
所述接收单元,还用于接收所述嵌入式设备发送的固件更新结果应答;
所述转换单元,还用于根据所述固件更新结果应答切换运行模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810144754.2A CN108196866B (zh) | 2018-02-12 | 2018-02-12 | 一种固件更新方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810144754.2A CN108196866B (zh) | 2018-02-12 | 2018-02-12 | 一种固件更新方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108196866A CN108196866A (zh) | 2018-06-22 |
CN108196866B true CN108196866B (zh) | 2021-08-27 |
Family
ID=62593935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810144754.2A Active CN108196866B (zh) | 2018-02-12 | 2018-02-12 | 一种固件更新方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108196866B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110928590A (zh) * | 2019-11-21 | 2020-03-27 | 深圳市汇顶科技股份有限公司 | 嵌入式设备的控制方法、设备和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN202904559U (zh) * | 2012-11-21 | 2013-04-24 | 福州昌晖自动化系统有限公司 | 一种针对嵌入式工控仪表的在线烧录程序装置 |
CN105022711A (zh) * | 2014-04-23 | 2015-11-04 | 林新辉 | 串行总线通讯架构 |
CN106445750A (zh) * | 2016-06-28 | 2017-02-22 | 深圳市信恳智能电子股份有限公司 | 一种用于智能移动终端设备的音频测试装置 |
CN107341111A (zh) * | 2017-09-08 | 2017-11-10 | 北京奥博泰科技有限公司 | 一种usb接口的多功能嵌入式开发工具 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104281459A (zh) * | 2013-07-05 | 2015-01-14 | 鸿富锦精密工业(武汉)有限公司 | Bios升级装置 |
-
2018
- 2018-02-12 CN CN201810144754.2A patent/CN108196866B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN202904559U (zh) * | 2012-11-21 | 2013-04-24 | 福州昌晖自动化系统有限公司 | 一种针对嵌入式工控仪表的在线烧录程序装置 |
CN105022711A (zh) * | 2014-04-23 | 2015-11-04 | 林新辉 | 串行总线通讯架构 |
CN106445750A (zh) * | 2016-06-28 | 2017-02-22 | 深圳市信恳智能电子股份有限公司 | 一种用于智能移动终端设备的音频测试装置 |
CN107341111A (zh) * | 2017-09-08 | 2017-11-10 | 北京奥博泰科技有限公司 | 一种usb接口的多功能嵌入式开发工具 |
Also Published As
Publication number | Publication date |
---|---|
CN108196866A (zh) | 2018-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102263698B (zh) | 虚拟通道的建立方法、数据传输的方法及线卡 | |
CN103294509A (zh) | 用于VxWorks操作系统的驱动多串口设备的方法 | |
US20120054389A1 (en) | USB To I2C And SPI Bridge | |
CN103164244A (zh) | 一种基于通用可扩展固件接口的固件系统远程更新方法 | |
CN111294413B (zh) | 一种互联网协议ip地址的确定方法、装置和可读介质 | |
CN103812695A (zh) | 小型光网络单元sfp onu的软件调试方法和装置 | |
CN102202132A (zh) | 一种对上网设备进行初始化的方法、系统及设备 | |
CN108196866B (zh) | 一种固件更新方法及装置 | |
CN111756858A (zh) | 嵌入式设备的远程开发处理系统、方法及装置 | |
CN110312266A (zh) | 终端的多系统实现wifi通信的方法和装置 | |
CN103685083A (zh) | 异步管理网络中的通信方法 | |
CN104348645A (zh) | 服务器和服务器传送数据的方法 | |
CN104683130A (zh) | 一种配置堆叠端口的方法和设备 | |
CN103986588A (zh) | 电脑系统及电脑装置的远端遥控方法 | |
CN102646082A (zh) | 在嵌入式平台上连接多种外接设备的方法及装置 | |
CN102004716A (zh) | 实现设备共享的系统及其方法 | |
CN102541797B (zh) | 一种支持多种主机接口的实现方法及其系统 | |
CN103701874A (zh) | 一种arm核心板与平板的远程通信方法及系统 | |
CN101989194A (zh) | 无线通讯模块二次开发方法 | |
CN101998691A (zh) | 一种数据传输的方法、系统和装置 | |
KR101338153B1 (ko) | 디바이스 모델 기반 미들웨어 기술 | |
CN103729213A (zh) | 一种Flash在线升级的方法及装置 | |
CN102655025A (zh) | 一种双芯片方案下烧录基带芯片的系统与方法 | |
CN103149900B (zh) | Pa数控系统与外部器件之间的通信方法和装置 | |
CN103760826A (zh) | 面向高速嵌入式控制系统的pci多功能数字控制系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |