CN100386752C - 一种通讯协议受限情况下usb设备的在线升级方法 - Google Patents
一种通讯协议受限情况下usb设备的在线升级方法 Download PDFInfo
- Publication number
- CN100386752C CN100386752C CNB2006100868397A CN200610086839A CN100386752C CN 100386752 C CN100386752 C CN 100386752C CN B2006100868397 A CNB2006100868397 A CN B2006100868397A CN 200610086839 A CN200610086839 A CN 200610086839A CN 100386752 C CN100386752 C CN 100386752C
- Authority
- CN
- China
- Prior art keywords
- usb device
- upgrade
- upgrading
- data
- packet
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种USB设备在线升级方法,特别是在通讯协议受限情况下USB设备的在线升级方法,属于数据通讯领域。为了克服现有技术在通讯协议受限的情况下,USB设备升级效率低,浪费程序空间和运行时间的缺点,本发明提出了一种使用上位机将升级数据组装成包含升级相关参数的升级命令包和相互之间数据连续的升级数据包传送给USB设备,USB设备将接收到的升级数据写入硬件设备,完成USB设备升级的方法。对于存储器为FLASH的USB设备,设置数据包的长度与FLASH的物理分区长度对齐,这样的升级方法进一步节省了处理时间和程序空间,提高了升级效率,方便用户使用。
Description
技术领域
本发明提供一种USB设备的升级方法,特别是在通讯协议受限情况下USB设备的在线升级方法,属于数据通讯领域。
背景技术
自从USB(Universal Serial Bus,通用串行总线)产生以来,USB设备不断更新升级。在对USB设备固件(设备内用于操作的程序)升级时,升级数据以数据包的形式传入USB设备。固件升级的过程是:由上位机(用于升级的计算机或专用升级设备等)组装升级数据,并将升级数据发送给待升级的设备,待升级设备将升级数据写入硬件设备,完成设备升级。
由于很多协议限制传送数据包的长度,所以在进行固件升级时无法将连续数据和命令在一个包内传入。按照通常的做法,将升级数据组装成若干个相同大小的数据包,每个数据包头部有包头,尾部有包尾或只含有包头或只含有包尾,包头和包尾包含数据包的参数信息,数据位于包头之后,包尾之前。在将升级数据写入USB设备之前,USB设备需要处理数据包,去除包头、包尾附加信息,再对数据拼凑后写入硬件设备。
对于存储器为FLASH的USB设备,数据写入存储区域时,是以固定字节的物理分区长度写入的,硬件在接收到数据包后,要拼凑相应长度数据,也可能因为数据包中的数据长度与物理分区限制长度未对齐(对齐是指数据包中数据长度与物理分区限制长度相等,物理分区限制长度是数据包中数据长度的整数倍或数据包中数据长度是物理分区限制长度整数倍的情况)而需要重新处理排列。例如:对于物理分区长度为64字节的FLASH存储器,每个数据包都要分别在数据包的头部和尾部加入2字节的参数信息,相应的每个数据包中的数据长度为60字节。将数据写入硬件存储区时,需要去掉包头和包尾附加信息,再将数据按64字节的长度拼凑,写入硬件设备。
处理这些附加数据会浪费程序空间和运行时间,很大程度降低了USB设备的升级效率。
发明内容
为了克服现有技术中在通讯协议受限情况下,USB设备升级方法浪费程序空间和运行时间的问题,本发明采用先发送升级命令包,然后连续发送升级数据包到USB设备的方法。
所述技术方案如下:计算机将升级数据组装成包含升级相关参数的升级命令包和相互之间数据连续的升级数据包传送给USB设备,USB设备将接收到的升级数据写入硬件设备,完成USB设备的升级。
本发明提供的一种在通讯协议受限情况下USB设备的在线升级方法,具体包括以下步骤:
步骤A:计算机将升级数据组装成升级命令包和升级数据包;所述升级命令包包含升级数据长度参数;所述升级数据包是与所述升级命令包具有相同字节长度的若干个连续的,只包含升级数据信息的数据包;
步骤B:计算机先发送所述升级命令包到待升级的USB设备,然后再发送所述升级数据包到所述待升级的USB设备;
步骤C:所述待升级的USB设备先保存所述升级命令包中的相关参数,然后将所述升级数据包写入所述待升级的USB设备。
所述升级命令包还包含升级数据校验码或升级密码信息。
所述升级数据校验码是对整个升级数据的校验码。
当所述待升级的USB设备中的存储器为FLASH时,计算机将升级数据组装成与FLASH物理分区长度对齐的升级命令包和升级数据包。
采用这种方法与背景技术相比的有益效果是:
1.采用这种方法不用处理原有方法中每个数据包的包头、包尾附加信息,节省了程序空间和运行时间,提高了效率;
2.对于存储器为FLASH的USB设备,因为升级数据包中数据的长度与FLASH存储器的物理分区长度对齐,所以不需要再拼凑数据,只需按顺序将升级数据包写入硬件设备即可,这样很大程度上节省了处理时间和程序空间,提高了升级效率。
附图说明
图1是本发明所述升级包格式图;
图2是对于存储器为FLASH,FLASH存储器物理分区长度为64字节的USB设备,本发明所述升级包格式图;
图3是在通讯协议受限情况下,USB设备在线升级方法流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,但不作为对本发明的限定。
参见图1,计算机将升级数据长度、升级数据校验码或升级密码参数组装在一个称为升级命令包的数据包内,作为第一个传入设备的数据包,将升级数据组装成与升级命令包具有相同字节长度的若干个连续的升级数据包。USB设备从升级命令包读取必要的升级参数,再对升级数据包拼凑后写入硬件设备。
参见图2,对于存储器为FLASH,FLASH存储器物理分区长度为64字节的USB设备,计算机将升级数据长度、升级数据校验码或升级密码参数组装在大小为64字节的升级命令包内,升级数据被组装成若干个连续的大小为64字节的升级数据包,USB设备不需要处理包头和包尾,由于数据包的大小为64字节,恰好与FLASH存储器的物理分区长度对齐,所以不需要再拼凑数据,只需要按顺序将升级数据包写入硬件设备即可。
与现有技术相比,这种方法不用处理原有数据包格式中的包头和包尾等附加信息,节省了处理时间和程序空间,提高了升级效率。
对于存储器为FLASH,FLASH存储器物理分区长度为64字节的USB设备,升级的具体方法是由计算机将升级数据组装成升级包发送给USB设备。具体操作是先将升级相关参数组装成64字节的升级命令包发送给USB设备,再将升级数据组装成连续的64字节的升级数据包传送给USB设备。
下面以需要升级密码进行升级验证的USB设备为例,说明本发明所述方法的具体步骤,参见图3:
步骤301:USB设备插入计算机;
步骤302:USB设备响应主机的USB请求,并与主机建立连接;
步骤303:USB设备等待接收升级命令;
步骤304:USB设备接收到计算机传送的升级命令包,执行步骤305,否则执行步骤303;
步骤305:USB设备检验升级命令包中的升级密码,密码正确,执行步骤306,否则执行步骤303;
步骤306:USB设备保存升级数据长度参数,升级数据校验码等信息;
步骤307:USB设备接收升级数据包;
步骤308:USB设备将接收到的升级数据写入硬件设备;
步骤309:USB设备接收到的升级数据长度和步骤306保存的升级数据长度参数比对,相等则停止接收升级数据,执行步骤310,否则继续执行步骤307;
步骤310:USB设备利用固定的算法处理接收到的数据,并与步骤306保存的升级数据校验码进行比对,校验成功则执行步骤311,否则升级失败,执行步骤303;
步骤311:USB设备升级操作完成。
如果不需要升级密码进行升级验证的USB设备,跳过步骤305,直接执行步骤306,其它步骤不变。
以上所述的实施例只是本发明较优选的具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换,都应包含在本发明的保护范围内。
Claims (4)
1.一种在通讯协议受限情况下USB设备的在线升级方法,其特征在于,所述方法包括以下步骤:
步骤A:计算机将升级数据组装成升级命令包和升级数据包;所述升级命令包包含升级数据长度参数;所述升级数据包是与所述升级命令包具有相同字节长度的若干个连续的,只包含升级数据信息的数据包;
步骤B:计算机先发送所述升级命令包到待升级的USB设备,然后再发送所述升级数据包到所述待升级的USB设备;
步骤C:所述待升级的USB设备先保存所述升级命令包中的相关参数,然后将所述升级数据包写入所述待升级的USB设备。
2.如权利要求1所述的在通讯协议受限情况下USB设备的在线升级方法,其特征在于,所述升级命令包还包含升级数据校验码或升级密码信息。
3.如权利要求2所述的在通讯协议受限情况下USB设备的在线升级方法,其特征在于,所述升级数据校验码是对整个升级数据的校验码。
4.如权利要求1所述的在通讯协议受限情况下USB设备的在线升级方法,其特征在于,当所述待升级的USB设备中的存储器为FLASH时,计算机将升级数据组装成与FLASH物理分区长度对齐的升级命令包和升级数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100868397A CN100386752C (zh) | 2006-06-20 | 2006-06-20 | 一种通讯协议受限情况下usb设备的在线升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100868397A CN100386752C (zh) | 2006-06-20 | 2006-06-20 | 一种通讯协议受限情况下usb设备的在线升级方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1866228A CN1866228A (zh) | 2006-11-22 |
CN100386752C true CN100386752C (zh) | 2008-05-07 |
Family
ID=37425253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100868397A Active CN100386752C (zh) | 2006-06-20 | 2006-06-20 | 一种通讯协议受限情况下usb设备的在线升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100386752C (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101930375A (zh) * | 2010-08-26 | 2010-12-29 | 深圳市共进电子有限公司 | 单用户光网络单元中内存空间自适应的程序数据升级方法 |
CN104731631B (zh) * | 2015-04-09 | 2019-03-08 | 广东小天才科技有限公司 | 点读机的升级方法、系统及装置 |
CN105138373B (zh) * | 2015-08-27 | 2018-10-23 | 深圳市元征软件开发有限公司 | 汽车诊断设备固件升级方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6073205A (en) * | 1997-07-10 | 2000-06-06 | National Instruments Corporation | System and method of write posting in a universal serial bus system |
CN1595910A (zh) * | 2004-06-25 | 2005-03-16 | 中国科学院计算技术研究所 | 一种网络处理器的数据包接收接口部件及其存储管理方法 |
CN1753529A (zh) * | 2004-09-23 | 2006-03-29 | 乐金电子(中国)研究开发中心有限公司 | 具有数据下载功能的移动通信终端及其控制方法 |
US20060079254A1 (en) * | 2003-02-11 | 2006-04-13 | Hogan Timothy J | Method and apparatus for updating a control file |
-
2006
- 2006-06-20 CN CNB2006100868397A patent/CN100386752C/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6073205A (en) * | 1997-07-10 | 2000-06-06 | National Instruments Corporation | System and method of write posting in a universal serial bus system |
US20060079254A1 (en) * | 2003-02-11 | 2006-04-13 | Hogan Timothy J | Method and apparatus for updating a control file |
CN1595910A (zh) * | 2004-06-25 | 2005-03-16 | 中国科学院计算技术研究所 | 一种网络处理器的数据包接收接口部件及其存储管理方法 |
CN1753529A (zh) * | 2004-09-23 | 2006-03-29 | 乐金电子(中国)研究开发中心有限公司 | 具有数据下载功能的移动通信终端及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1866228A (zh) | 2006-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101515967B (zh) | 一种终端固件空中下载装置及方法 | |
CN103414714B (zh) | 一种报文处理方法、装置和设备 | |
CN103870514A (zh) | 重复数据删除方法和装置 | |
CN102622283A (zh) | 一种终端射频校准参数的备份恢复方法及装置 | |
CN112286565B (zh) | 一种基于存储容器的嵌入式系统差分升级方法 | |
CN101594355A (zh) | 一种实现软件跨版本交互的方法及装置 | |
CN100386752C (zh) | 一种通讯协议受限情况下usb设备的在线升级方法 | |
CN102222010A (zh) | 一种移动终端版本升级的方法及实现系统 | |
CN102750249B (zh) | 上位机与下位机通信的方法、装置及系统 | |
CN102957568B (zh) | 一种多节点服务器的监控管理方法 | |
CN102724122A (zh) | 基于硬件系统的串口可靠传输方法及装置 | |
CN106569789B (zh) | 任务提交的方法和装置 | |
CN107844305A (zh) | 嵌入式设备的软件升级方法及嵌入式设备 | |
CN113852533B (zh) | 一种多通道数据通信系统、方法及电子设备 | |
CN101751338B (zh) | 数据存取控制装置及数据存取方法 | |
CN101621792A (zh) | 无线固话终端实现远程软件升级的方法 | |
CN103366000B (zh) | 一种大体积xml报文的解析方法 | |
CN102890661A (zh) | 一种主从机通讯协议 | |
CN107577474A (zh) | 升级文件的处理方法及装置、电子设备 | |
CN101316416B (zh) | 双卡双待手机芯片通信系统及通信方法 | |
CN103220260B (zh) | 更新数据的方法、服务器、客户端及系统 | |
CN115514656B (zh) | 一种物模型适配方法及装置 | |
CN116541047A (zh) | 固件升级方法、装置、计算机设备及计算机可读存储介质 | |
CN115604070A (zh) | 基于mctp协议的消息传输方法、装置、设备及介质 | |
CN101571808A (zh) | 提高电信智能卡生产效率的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C56 | Change in the name or address of the patentee |
Owner name: FEITIAN CHENGXIN TECHNOLOGIES CO., LTD. Free format text: FORMER NAME: BEIJING FEITIAN CHENGXIN SCIENCE + TECHNOLOGY CO. LTD. |
|
CP03 | Change of name, title or address |
Address after: 100085 Beijing city Haidian District Xueqing Road No. 9 Ebizal building B block 17 layer Patentee after: Feitian Technologies Co., Ltd. Address before: 100083, Haidian District, Xueyuan Road, No. 40 research, 7 floor, 5 floor, Beijing Patentee before: Beijing Feitian Chengxin Science & Technology Co., Ltd. |