CN101997646A - 基于usb和nand flash的数据打包和传输的方法 - Google Patents

基于usb和nand flash的数据打包和传输的方法 Download PDF

Info

Publication number
CN101997646A
CN101997646A CN2010101865496A CN201010186549A CN101997646A CN 101997646 A CN101997646 A CN 101997646A CN 2010101865496 A CN2010101865496 A CN 2010101865496A CN 201010186549 A CN201010186549 A CN 201010186549A CN 101997646 A CN101997646 A CN 101997646A
Authority
CN
China
Prior art keywords
data
file
packet
header
nand flash
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
CN2010101865496A
Other languages
English (en)
Other versions
CN101997646B (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.)
Xiamen Ruiqi Iot Technology Co ltd
Original Assignee
REACH TECH (XIAMEN) 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 REACH TECH (XIAMEN) Co Ltd filed Critical REACH TECH (XIAMEN) Co Ltd
Priority to CN2010101865496A priority Critical patent/CN101997646B/zh
Publication of CN101997646A publication Critical patent/CN101997646A/zh
Application granted granted Critical
Publication of CN101997646B publication Critical patent/CN101997646B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

本发明一种基于USB和NAND FLASH的数据打包和传输的方法,首先在主机上将输入文件按照NAND FLASH块存储的特点处理并形成与NAND FLASH块存储相对应的输出文件,然后将输出文件从主机传输至目标平台,传输过程中依次确认数据包传输是否成功,一旦传输出错,则从传输出错处开始重传,使数据能快速、安全地传输,并且能实现多文件批量传输;并且,由于该输出文件的数据结构和数据包与NAND FLASH块存储是一致且对应的,所以该输出文件传输至目标平台后存储入NAND FLASH的数据处理过程会相对简单而快速,不容易出错。

Description

基于USB和NAND FLASH的数据打包和传输的方法
技术领域
本发明涉及一种基于USB和NAND FLASH的数据打包和传输的方法。
背景技术
在嵌入式系统的开发中,通常采用交叉编译的方法,首先在PC机上编辑、编译代码,然后将生成的可执行文件及相应的系统配置文件通过某种接口(如JTAG、UART或USB等)下载到目标平台上去运行、调试。USB是一种简单高速的传输接口,目前几乎所有的嵌入式产品,如手机、媒体播放器等都支持USB传输。而NAND FLASH存储器具有容量大、读写速度快且廉价的特点,在嵌入式产品中亦得到越来越广泛的应用。
目前基于USB和NAND FLASH的数据传输多采用“流”的方式。现有的嵌入式系统的开发中,首先在PC机上编辑、编译代码,然后将生成的可执行文件及相应的系统配置文件通过USB接口以“流”的方式传输到目标平台上,待上述文件完全传至目标平台上时,再进行分包处理存储于NAND FLASH,由于NAND FLASH处理相对PC机速度慢,且在传输过程中若出现传输错误,则需要重传,因此传输时长较长,处理数据效率较低。
发明内容
本发明的目的在于提供一种基于USB和NAND FLASH的数据打包和传输的方法,具高效、快速、便利的特点,可广泛应用于软件开发、工业生产及售后服务等领域。
本发明一种基于USB和NAND FLASH的数据打包和传输的方法,包括以下具体步骤:
步骤1、在主机上对原始数据按照NAND FLASH块的大小,以块的形式进行数据打包,形成输出文件;
步骤2、将输出文件从主机传输至目标平台;
输出文件从主机传输到目标平台的过程中,先从文件头开始传输,文件头用于在数据存储阶段计算当前文件存储的起始位置,目标平台收到一个文件头,表示一个新文件传输的开始,并回传给主机“可以开始数据包传输”的指令;
开始数据包传输时,主机先给目标平台发送一个包头,告诉目标平台当前数据包的大小和校验和;目标平台接收到包头后,告诉主机可以传输数据,并开始从主机接收由包头指定大小的数据量;然后开始采用和数据打包过程中相同的算法计算校验和,如果计算出的校验和与包头中的校验和一致,则表示当前传输成功;若结果不一致,则表示当前传输失败;当每个数据包传完之后,目标平台会回传给主机一个“传输成功与否”的指令,只有在上一个数据包成功传输后,才开始传输下一个数据包,这样一个一个地依次传输数据包;若平台回传给主机的指令为传输出错,则只需将传输出错的数据包重传,直至传输成功为止;
步骤3、所述的传输至目标平台的输出文件在NAND FLASH中采用分区存放的方式,分区表存放在NAND FLASH的一个位置固定的特殊分区中,通过输出文件中文件头中的文件名,可以在分区表中查找对应的分区,决定其存储的起始地址.包头中的地址即是所属分区中的偏移地址,由分区的起始地址和当前数据包的偏移地址计算出在NAND FLASH中的存储地址,通过NAND FLASH驱动接口,将输出文件中的数据写入NAND FLASH中的正确地址。
所述的在主机上对原始数据按照NAND FLASH块的大小,以块的形式进行数据打包,形成输出文件,包括以下具体步骤:
(1)打开存储有原始数据的输入文件,将输入文件按照NANDFLASH块的大小进行分包,获得数据包的个数以便进行计数控制;
(2)创建完输出文件的文件头后,开始依次创建数据包;
(3)依次从输入文件中读取一个NAND FLASH块大小的数据量,进行校验和计算,填充包头和数据内容形成一个数据包写入输出文件中;
(4)当开始创建最后一个数据包时,先从输入文件中读取剩余的数据量,进行校验和计算,填充包头和数据内容形成数据包写入输出文件;
(5)形成对应上述输入文件的输出文件,该输出文件的数据结构表示为:文件头+包头1和数据内容+包头2和数据内容……+包头N和数据内容。
当输入文件为多个时,对应该输入文件创建多个输出文件,将多个输出文件依次拷贝在一起,形成如下所示的数据结构,则可进行批量的文件传输,该多个输出文件的数据结构表示为:
文件头1+包头1和数据内容+包头2和数据内容……+包头N和数据内容+文件头2+包头1和数据内容+包头2和数据内容……+包头N和数据内容……+文件头N+包头1和数据内容+包头2和数据内容……+包头N和数据内容。
所述批量的文件传输,在一个大输出文件中包含有多个子输出文件,根据文件头数据结构的定义,主机可以清楚地知道每个子输出文件在大输出文件中的起始位置和结束位置,主机依次传输每个子输出文件至目标平台。
本发明一种基于USB和NAND FLASH的数据打包和传输的方法,首先在主机上将输入文件按照NAND FLASH块存储的特点处理并形成与NAND FLASH块存储相对应的输出文件,然后将输出文件从主机传输至目标平台,传输过程中依次确认数据包传输是否成功,一旦传输出错,则从传输出错处开始重传,使数据能快速、安全地传输,并且能实现多文件批量传输;并且,由于该输出文件的数据结构和数据包与NANDFLASH块存储是一致且对应的,所以该输出文件传输至目标平台后存储入NAND FLASH的数据处理过程会相对简单而快速,不容易出错。
附图说明
图1为本发明中基本文件的数据结构示意图;
图2为本发明中多个基本文件依次拷贝在一起的数据结构示意图;
图3为本发明中数据打包的流程图。
以下结合附图和具体实施例对本发明作进一步详述。
具体实施例
本发明一种基于USB和NAND FLASH的数据打包和传输的方法,主要包括以下几个步骤:
步骤1、在主机上对原始数据按照NAND FLASH块的大小,以块的形式进行数据打包,形成输出文件;
首先,在主机(PC)上对编缉好的程序(即原始数据)以块的形式进行分包,如图3所示的数据打包流程如下:
(1)打开存储有原始数据的输入文件,将输入文件按照NANDFLASH块的大小进行分包,获得数据包的个数以便进行计数控制;
(2)创建完输出文件的文件头后,开始依次创建数据包;
(3)依次从输入文件中读取一个NAND FLASH块大小的数据量,进行ECC校验和计算,填充包头和数据内容形成一个数据包写入输出文件中;
(4)当开始创建最后一个数据包时,先从输入文件中读取剩余的数据量,进行ECC校验和计算,填充包头和数据内容形成数据包写入输出文件;
(5)形成对应上述输入文件的输出文件,该输出文件的数据结构如图1所示,表示为:
文件头+包头1和数据内容+包头2和数据内容……+包头N和数据内容。
当输入文件为多个时,对应该输入文件创建多个输出文件,将图1中的多个输出文件依次拷贝在一起,形成如图2所示的数据结构,则可实现批量传输。该多个输出文件的数据结构表示为:
文件头1+包头1和数据内容+包头2和数据内容……+包头N和数据内容+文件头2+包头1和数据内容+包头2和数据内容……+包头N和数据内容……+文件头N+包头1和数据内容+包头2和数据内容……+包头N和数据内容。
步骤2、将输出文件从主机传输至目标平台;
当输出文件开始从主机(PC)传输到目标平台时,先从文件头开始传输,文件头用于在数据存储阶段计算当前文件存储的起始位置,目标平台收到一个文件头,表示一个新文件传输的开始,并回传给主机“可以开始数据包传输”的指令。
开始数据包传输时,主机先给目标平台发送一个包头,告诉目标平台当前数据包的大小和校验和;目标平台接收到包头后,告诉主机可以传输数据,并开始从主机接收由包头指定大小的数据;然后开始采用和数据打包过程中相同的算法计算校验和,如果计算出的校验和与包头中的校验和一致,则表示当前传输成功;若结果不一致,则表示当前传输失败;当每个数据包传完之后,平台会回传给主机一个“传输成功与否”的指令,只有在上一个数据包成功传输后,才开始传输下一个数据包,这样一个一个地依次传输数据包;若平台回传给主机的指令为传输出错,则只需将传输出错的数据包重传,直至传输成功为止。例如,如果成功传了3个数据包,若第4个数据包出错,则下次传输从第4个数据包开始传。
对于批量的文件传输,在一个大输出文件中包含有多个子输出文件。根据文件头数据结构的定义,主机可以清楚地知道每个子输出文件在大输出文件中的起始位置和结束位置,主机按以上传输的方式,依次处理每个子输出文件,即可实现多文件的批量传输。
步骤3、将传输至目标平台的输出文件存储至NAND FLASH中;
该传输至目标平台的输出文件在NAND FLASH中采用分区存放的方式,分区表存放在NAND FLASH的一个位置固定的特殊分区中,并且分区表也可作为一个文件通过以上方式下载,从而对分区表进行更新。通过输出文件中文件头中的文件名,可以在分区表中查找对应的分区,决定其存储的起始地址.包头中的地址即是所属分区中的偏移地址,由分区的起始地址和当前数据包的偏移地址计算出在NAND FLASH中的存储地址,通过NAND FLASH驱动接口,将输出文件中的数据写入NAND FLASH中的正确地址。
本发明的重点在于:首先在主机上将输入文件按照NAND FLASH块存储的特点处理并形成与NAND FLASH块存储相对应的输出文件,然后将输出文件从主机传输至目标平台,传输过程中依次确认数据包传输是否成功,一旦传输出错,则从传输出错处开始重传,使数据能快速、安全地传输,并且能实现多文件批量传输;该输出文件传输至目标平台后,该输出文件中的数据包依照与NAND FLASH对应的位置存储入NANDFLASH中。

Claims (4)

1.一种基于USB和NAND FLASH的数据打包和传输的方法,其特征在于包括以下几个步骤:
步骤1、在主机上对原始数据按照NAND FLASH块的大小,以块的形式进行数据打包,形成输出文件;
步骤2、将输出文件从主机传输至目标平台;
输出文件从主机传输到目标平台的过程中,先从文件头开始传输,文件头用于在数据存储阶段计算当前文件存储的起始位置,目标平台收到一个文件头,表示一个新文件传输的开始,并回传给主机“可以开始数据包传输”的指令;
开始数据包传输时,主机先给目标平台发送一个包头,告诉目标平台当前数据包的大小和校验和;目标平台接收到包头后,告诉主机可以传输数据,并开始从主机接收由包头指定大小的数据量;然后开始采用和数据打包过程中相同的算法计算校验和,如果计算出的校验和与包头中的校验和一致,则表示当前传输成功;若结果不一致,则表示当前传输失败;当每个数据包传完之后,目标平台会回传给主机一个“传输成功与否”的指令,只有在上一个数据包成功传输后,才开始传输下一个数据包,这样一个一个地依次传输数据包;若平台回传给主机的指令为传输出错,则只需将传输出错的数据包重传,直至传输成功为止;
步骤3、所述的传输至目标平台的输出文件在NAND FLASH中采用分区存放的方式,分区表存放在NAND FLASH的一个位置固定的特殊分区中,通过输出文件中文件头中的文件名,可以在分区表中查找对应的分区,决定其存储的起始地址.包头中的地址即是所属分区中的偏移地址,由分区的起始地址和当前数据包的偏移地址计算出在NAND FLASH中的存储地址,通过NAND FLASH驱动接口,将输出文件中的数据写入NAND FLASH中的正确地址。
2.根据权利要求1所述的一种基于USB和NAND FLASH的数据打包和传输的方法,所述的在主机上对原始数据按照NAND FLASH块的大小,以块的形式进行数据打包,形成输出文件,包括以下具体步骤:
(1)打开存储有原始数据的输入文件,将输入文件按照NANDFLASH块的大小进行分包,获得数据包的个数以便进行计数控制;
(2)创建完输出文件的文件头后,开始依次创建数据包;
(3)依次从输入文件中读取一个NAND FLASH块大小的数据量,进行校验和计算,填充包头和数据内容形成一个数据包写入输出文件中;
(4)当开始创建最后一个数据包时,先从输入文件中读取剩余的数据量,进行校验和计算,填充包头和数据内容形成数据包写入输出文件;
(5)形成对应上述输入文件的输出文件,该输出文件的数据结构表示为:文件头+包头1和数据内容+包头2和数据内容……+包头N和数据内容。
3.根据权利要求2所述的一种基于USB和NAND FLASH的数据打包和传输的方法,其特征在于:
当输入文件为多个时,对应该输入文件创建多个输出文件,将多个输出文件依次拷贝在一起,形成如下所示的数据结构,则可进行批量的文件传输,该多个输出文件的数据结构表示为:
文件头1+包头1和数据内容+包头2和数据内容……+包头N和数据内容+文件头2+包头1和数据内容+包头2和数据内容……+包头N和数据内容……+文件头N+包头1和数据内容+包头2和数据内容……+包头N和数据内容。
4.根据权利要求3所述的一种基于USB和NAND FLASH的数据打包和传输的方法,其特征在于:所述批量的文件传输,在一个大输出文件中包含有多个子输出文件,根据文件头数据结构的定义,主机可以清楚地知道每个子输出文件在大输出文件中的起始位置和结束位置,主机依次传输每个子输出文件至目标平台。
CN2010101865496A 2010-05-25 2010-05-25 基于usb和nand flash的数据打包和传输的方法 Active CN101997646B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010101865496A CN101997646B (zh) 2010-05-25 2010-05-25 基于usb和nand flash的数据打包和传输的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010101865496A CN101997646B (zh) 2010-05-25 2010-05-25 基于usb和nand flash的数据打包和传输的方法

Publications (2)

Publication Number Publication Date
CN101997646A true CN101997646A (zh) 2011-03-30
CN101997646B CN101997646B (zh) 2012-11-28

Family

ID=43787309

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010101865496A Active CN101997646B (zh) 2010-05-25 2010-05-25 基于usb和nand flash的数据打包和传输的方法

Country Status (1)

Country Link
CN (1) CN101997646B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104040515A (zh) * 2011-09-30 2014-09-10 英特尔公司 在逻辑驱动器模型下呈现直接存取的存储设备
CN104715209A (zh) * 2015-04-03 2015-06-17 山东华软金盾软件有限公司 一种外发文档加密保护方法
CN105917322A (zh) * 2013-12-31 2016-08-31 赫耳墨斯科姆股份责任有限公司 用于通过usb盘和允许对其的实施的相关设备来交换控制的方法
CN108763891A (zh) * 2018-06-11 2018-11-06 山东超越数控电子股份有限公司 一种针对加密移动硬盘的专用安全管理平台及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1447227A (zh) * 2002-03-08 2003-10-08 三星电子株式会社 利用与非闪速存储器的引导系统及其方法
CN101587499A (zh) * 2009-06-24 2009-11-25 北京理工大学 基于nand的多通道信号采集系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1447227A (zh) * 2002-03-08 2003-10-08 三星电子株式会社 利用与非闪速存储器的引导系统及其方法
CN101587499A (zh) * 2009-06-24 2009-11-25 北京理工大学 基于nand的多通道信号采集系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104040515A (zh) * 2011-09-30 2014-09-10 英特尔公司 在逻辑驱动器模型下呈现直接存取的存储设备
US11604746B2 (en) 2011-09-30 2023-03-14 Sk Hynix Nand Product Solutions Corp. Presentation of direct accessed storage under a logical drive model
CN105917322A (zh) * 2013-12-31 2016-08-31 赫耳墨斯科姆股份责任有限公司 用于通过usb盘和允许对其的实施的相关设备来交换控制的方法
CN104715209A (zh) * 2015-04-03 2015-06-17 山东华软金盾软件有限公司 一种外发文档加密保护方法
CN104715209B (zh) * 2015-04-03 2017-08-01 山东华软金盾软件股份有限公司 一种外发文档加密保护方法
CN108763891A (zh) * 2018-06-11 2018-11-06 山东超越数控电子股份有限公司 一种针对加密移动硬盘的专用安全管理平台及方法

Also Published As

Publication number Publication date
CN101997646B (zh) 2012-11-28

Similar Documents

Publication Publication Date Title
CN106155734B (zh) 一种软件版本的下载方法及装置
CN101997646B (zh) 基于usb和nand flash的数据打包和传输的方法
KR102173089B1 (ko) 인터페이스 회로 및 그것의 패킷 전송 방법
CN103559156B (zh) 一种fpga与计算机之间的通信系统
CN105389191A (zh) 一种基于局域网的软件升级方法、装置和系统
CN101807155A (zh) 一种嵌入式软件在线更新方法
CN102546784A (zh) 一种基于can总线进行批量升级设备固件的方法
CN105487881A (zh) 一种软件安装包打包方法、装置及系统
CN102439983B (zh) 一种数据快速分发方法和装置
CN104580480A (zh) 一种客户端远程自动化部署系统及方法
CN101276316B (zh) 用于控制主机设备与usb设备之间的通信的装置、方法及系统
CN103973421A (zh) 文件传送方法及装置
CN111277600B (zh) 数据传输方法及装置
CN106444610A (zh) 一种plc远程代码更新系统及方法
CN104767655A (zh) 一种模拟结果检测方法及装置
CN101452393A (zh) 基于pci总线的dsp2812程序在线升级方法
US20080301537A1 (en) Packet transmission device and packet transmission method
CN104811431A (zh) 基于并行协议栈实例的数据包处理方法和装置
CN108062235A (zh) 数据处理方法及装置
CN104391718A (zh) 一种ePLC程序远程下载方法
CN101777037B (zh) 一种查找引擎实时系统内数据传输的方法和系统
CN109800202B (zh) 一种基于pcie的数据传输系统、方法及装置
CN107124446A (zh) 应用程序下载方法、服务器及终端
CN109417507A (zh) 部分延迟的报文访问
CN102752312A (zh) 一种批量解压缩swf文件的方法

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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 361008 No.5 floor, No.51, No.2 expectation Sea Road, Xiamen Software Park, Fujian Province

Patentee after: Xiamen Ruiqi IOT Technology Co.,Ltd.

Address before: 361009, B, 427, innovation building, software park, torch hi tech Zone, Fujian, Xiamen

Patentee before: REACH TECH (XIAMEN) Co.,Ltd.

PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Method of data package and transmission based on USB and NAND flash

Effective date of registration: 20210610

Granted publication date: 20121128

Pledgee: Xiamen Torch Group Financing Guarantee Co.,Ltd.

Pledgor: Xiamen Ruiqi IOT Technology Co.,Ltd.

Registration number: Y2021980004622

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20230717

Granted publication date: 20121128

Pledgee: Xiamen Torch Group Financing Guarantee Co.,Ltd.

Pledgor: Xiamen Ruiqi IOT Technology Co.,Ltd.

Registration number: Y2021980004622