基于USB的软件升级方法与流程

文档序号:17857393发布日期:2019-06-11 22:39阅读:2079来源:国知局

本发明涉及通信技术领域,具体涉及一种基于usb的软件升级方法。



背景技术:

目前市面上存在很多通过usb接到pc上进行升级的设备。这种方式的缺陷:一是pc需要安装对应的usb驱动程序;二是pc要下载升级的客户端程序,并且每更换一台电脑,就得重新部署一次升级环境。

也就是说,现有技术中的基于usb的升级方案都需要安装驱动和安装pc端升级工具,操作繁琐,用户体验差。



技术实现要素:

本发明的目的在于提供一种基于usb的软件升级方法,其提高了升级的便利性,使待升级设备的软件升级变得更加简单和易操作。

为实现上述目的,本发明采用的技术方案是:

一种基于usb的软件升级方法,其具体包括以下步骤:

步骤1、将待升级设备配置成usbhid和usb大容量存储设备的复合设备,并将pc端升级工具存储在usb大容量存储设备中;

步骤2、通过usb在pc端对待升级设备进行升级时,将待升级设备通过usb连接线接入pc的usb接口,pc识别该待升级设备并进行枚举,在pc上生成usbhid和usb大容量存储设备;用户通过打开pc上的usb大容量存储设备,运行pc端升级工具;升级工具通过usbhid将升级的软件下发到待升级设备上;待升级设备接收完成后,开始自动升级。

所述步骤1中,将待升级设备配置成usbhid和usb大容量存储设备的复合设备的方法具体如下:

首先,将待升级设备的usbotg配置成device模式;然后,将待升级设备的驱动设置为linuxgadget驱动,并通过linuxgadget驱动对device模式下的usbotg进行内核配置,使待升级设备成为usbhid和usb大容量存储设备的复合设备。

所述步骤1中,将pc端升级工具存储在usb大容量存储设备中时,将把pc端的升级工具打包成fat32格式的镜像文件,传递给linuxgadget驱动即可。

所述待升级设备的usbotg在通过otg的控制引脚配置成device模式,或者通过将otg的控制引脚连接到一个gpio,然后通过gpio将otg自由切换为device模式。

采用上述方案后,本发明将待升级设备配置成usbhid和usb大容量存储设备的复合设备,同时将pc端升级工具存储在usb大容量存储设备;当待升级设备通过usb的方式在pc端进行升级时,pc端上会将待升级设备枚举成usbhid和usb大容量存储设备,这两种设备都是usb标准协议支持的类型,所以升级时不需要安装任何任何的驱动程序,也不需要预先下载升级所使用的pc客户端程序。升级时只需一根usb数据线即可,使得待升级设备的升级方式更加灵活、简单、易操作。

附图说明

图1为本发明连接框图;

图2为本发明的流程图。

具体实施方式

如图1和图2所示,本发明揭示了一种基于usb的软件升级方法,其具体包括以下步骤:

步骤1、将待升级设备配置成usbhid和usb大容量存储设备的复合设备,并将pc端升级工具存储在usb大容量存储设备中。

大部分待升级设备的arm或者mips处理器都有usbotg口,首先,需要将待升级设备的usbotg配置成device模式。具体地,可以直接通过otg的控制引脚配置成device模式,也可以将otg的控制引脚连接到一个gpio,通过gpio将otg自由切换为device模式。

待升级设备采用linuxgadget驱动,并通过linuxgadget驱动对device模式下的usbotg进行内核配置,使待升级设备成为usbhid和usb大容量存储设备的复合设备。

其中,linuxgadget驱动是linux内核标准的驱动程序,可以把linux设备枚举成任意的usb设备。本发明则通过简单的内核配置,就能把待升级设备的usbotg配置成一个usb大容量存储设备,具体如下:

makemenuconfig

devicedrivers--->

[*]usbsupport--->

<*>usbgadgetsupport--->

<m>usbgadgetdrivers(multifunctioncompositegadget)--->

linuxgadget驱动支持传递fat镜像,把pc端的升级app程序打包成fat32格式的镜像文件,传递给linuxgadget驱动。当把待升级设备插入pc端时,能够自动弹出一个可移动磁盘(即usb大容量存储设备),磁盘的内容就是fat镜像文件。

步骤2、通过usb在pc端对待升级设备进行升级时,将待升级设备通过usb连接线接入pc的usb接口,pc识别该待升级设备并进行枚举,在pc上生成usbhid和usb大容量存储设备;用户通过打开pc上的usb大容量存储设备,运行pc端升级工具;升级工具通过usbhid将升级的软件下发到待升级设备上;待升级设备接收完成后,开始自动升级。

本发明的关键在于,本发明将待升级设备配置成usbhid和usb大容量存储设备的复合设备,同时将pc端升级工具存储在usb大容量存储设备;当待升级设备通过usb的方式在pc端进行升级时,pc端上会将待升级设备枚举成usbhid和usb大容量存储设备,这两种设备都是usb标准协议支持的类型,所以升级时不需要安装任何任何的驱动程序,也不需要预先下载升级所使用的pc客户端程序,使得待升级设备的升级方式更加灵活,只需一根usb数据线即可。

而且,usbhid和usb大容量存储设备在linux/macos/windows都能免驱,所以在这三种平台都可以实现升级功能,只需要对应开发pc端的升级工具,底层和升级设备的软件都不需要做修改。

以上所述,仅是本发明实施例而已,并非对本发明的技术范围作任何限制,故凡是依据本发明的技术实质对以上实施例所作的任何细微修改、等同变化与修饰,均仍属于本发明技术方案的范围内。



技术特征:

技术总结
本发明涉及一种基于USB的软件升级方法,其将待升级设备配置成USB HID和USB大容量存储设备的复合设备,同时将PC端升级工具存储在USB大容量存储设备;当待升级设备通过USB的方式在PC端进行升级时,PC端上会将待升级设备枚举成USB HID和USB大容量存储设备,这两种设备都是USB标准协议支持的类型,所以升级时不需要安装任何任何的驱动程序,也不需要预先下载升级所使用的PC客户端程序,使得待升级设备的升级方式更加灵活、简单、易操作。

技术研发人员:陈智松;郑光暖;江虎
受保护的技术使用者:厦门亿联网络技术股份有限公司
技术研发日:2019.01.15
技术公布日:2019.06.07
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1