CN1529227A - USB storage drive development method in embedding system - Google Patents
USB storage drive development method in embedding system Download PDFInfo
- Publication number
- CN1529227A CN1529227A CNA031349986A CN03134998A CN1529227A CN 1529227 A CN1529227 A CN 1529227A CN A031349986 A CNA031349986 A CN A031349986A CN 03134998 A CN03134998 A CN 03134998A CN 1529227 A CN1529227 A CN 1529227A
- Authority
- CN
- China
- Prior art keywords
- usb
- usb storage
- interface
- module
- file system
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
- Information Transfer Systems (AREA)
Abstract
The method includes following steps: using current IO system and file system to define system structure of whole driver; initializing HC module, completing HCI interface; recognizing and configuring USB storage device; based on USB transmission channel being built correctly, obtaining capacity of USB storage device and completing interface for module of reading and writing blocks; linking up USB drive in bottom layer and block drive in up layer as well as file system in order to realize creating block device and loading file system; providing interfaces of creating, opening, deleting, reading/writing files for users. The invention is capable of completing drive development of USB storage device fleetly and handily under embedded type system so as to make the embedded type system support USB storage device. Thus, information in embedded type system can be transferred through USB storage device, taking full advantage of good commonality, reliability and portability of USB storage device.
Description
Technical field
The present invention relates to a kind of driving development approach of USB storage, the driving development approach of the USB storage under especially a kind of embedded system.
Background technology
At present, (Universal Serial Bus: USB (universal serial bus)) storer has been widely applied to field of personal computers to USB, has demonstrated fully its advantage easy to carry, simple to operate.But the application of USB storage in embedded system also seldom.In embedded system, on the FLASH or notebook hard disk that memory device also is confined to fix mostly, use extremely inconvenient at present, very fixing on the capacity, in case after system design was finished, capacity just was difficult to change, so just may occur satisfying the situation of using or waste occurring.In addition in default of movability, also inconvenient information mutual, preserve.Cause the main cause that USB storage is seldom used under the embedded system to be: the driving development difficulty of USB storage is bigger under the embedded system, and cost is higher.Therefore, how quick under embedded system, the driving exploitation of carrying out USB storage easily becomes problem demanding prompt solution.
Summary of the invention
The objective of the invention is to: under embedded system, provide a kind of quick, the driving development approach of easy USB storage.
The object of the present invention is achieved like this:
Determine the system architecture of whole driving 1.1 utilize existing IO system (input-output system) and file system;
1.2 realize initialization (realizing different HC initialization), finish HCI interface (Host Controler Interface) at different HC hardware modules to HC module (main controller module);
1.3 realize identification and configuration, comprising: can enter default conditions by resetting after the device power-on, equipment be carried out address setting by the control end points to USB storage; With the Configuration Values write device;
1.4 on the basis that the USB transmission channel has correctly been set up, finish by standard commands that capacity to USB storage obtains, piece module for reading and writing interface; Wherein, finish, comprise command transfer stage, data transfer phase, state transfer stage three phases USB storage piece module for reading and writing interface;
Drive and file system 1.5 be connected USB bottom layer driving and upper strata piece, realize the establishment of block device and the loading of file system;
1.6 to the user document creation be provided, open, delete, interface such as read-write.
The system architecture of the determined whole driving of the present invention is followed successively by: upper layer application, IO system and file system, USB Drive Layer and master controller Drive Layer, hardware components; Wherein the USB Drive Layer comprises USB storage identification and configuration module, USB storage capacity acquisition module, USB storage data block read through model, USB storage data block writing module, USB storage reseting module; Use piece to drive as the interface between file system and the USB storage driving; Upper layer application is directly called the interface that IO system and file system provide; The IO system provides various file operation interfaces on file system; File system articulates file system on the piece driving interface; The file system library that piece driving interface connection various driving inlets of bottom and embedded system provide; The USB Drive Layer is finished relevant usb protocol on the HC Drive Layer, and provides piece to drive required interface; The master controller Drive Layer realizes the initialization of master controller hardware, and finishes Host Controler Interface; Hardware components comprises the main controller module and the USB storage of host side.
Utilize the present invention, can under embedded system, finish the driving exploitation of USB storage fast, easily.Thereby in embedded system, realize support, make that the various information in the embedded system can be transmitted by USB storage, made full use of good versatility, reliability, the transplantability of USB storage USB storage.
Description of drawings
Fig. 1 is a process flow diagram of the present invention;
Fig. 2 is a driving development object level configuration diagram of the present invention;
Fig. 3 is USB storage identification and a configuration step process flow diagram among the present invention;
Fig. 4 is a USB storage piece read operation flow chart of steps among the present invention;
Fig. 5 is a USB storage piece write operation flow chart of steps of the present invention.
Embodiment
The present invention utilizes existing file system and ATA hard drive in the embedded system, excavate ATA hard drive and USB storage similarity in essence, that be exactly they all be block device, they can both carry out the operations such as read-write of file from user's angle.By adopting existing block device high-level interface and file system in the embedded system, drive the required physical layer interface that provides at block device, derive in embedded system and to realize the needed minimal features interface of USB storage normal running, mainly comprise USB storage initialization interface, obtain that memory span interface, data block are read interface, data block is write interface, device reset interface.In these interfaces of bottom, realize support to the USB related protocol, and USB memory devices such as the USB flash drive of the standard of support, USB hard disk.
From the angle of system, in embedded system, realize support to USB storage, need two requisite parts: hardware components, software-driven.
Hardware components comprises HC (Host Controller, master controller) module and USB storage.The HC module is connected in the embedded system, and the chip of many special uses includes USB HC module, can support one to several USB port.USB storage is the memory device that is connected on the USB port, can be USB flash drive, also can be the notebook hard disk of band USB interface.
And the composition that whole software drives comprises 7 parts:
A module: block device encapsulation and IO system;
B module: USB storage identification and configuration module;
C module: USB storage capacity acquisition module;
D module: USB storage data block read through model;
E module: USB storage data block writing module;
F module: USB storage reseting module;
G module: HC initialization module;
Wherein, the A module is used to provide the IO operation on USB storage upper strata, comprises initialization to file system, finishes file read-write operation etc.
The G module is finished the initialization of HC, and this part need be made corresponding setting according to the variation of hardware, comprise PCI configuration, interrupt articulate, the initialization of the various registers of HC, finish according to the specific design and the relevant handbook of hardware of hardware.
B, C, D, E, five modules of F are based upon the upper strata of G module, and the relevant interface that need utilize the G module to provide is realized USB and main memory class related protocol, and provides requisite functional interface to upper strata (A module).
Specifically, the B module is mainly discerned and is disposed USB storage.Module is operated HC, the USB request of structure standard, (Host Controller Interface) sends standard request to the equipment that USB port connected by the HCI interface, to obtain the various information of USB device, the various information of USB device are to describe by the descriptor that device responds USB standard request is returned.Mainly contain device descriptor (Device Descriptor), configuration descriptor (Configuration Descriptor), interface descriptor (Interface Descriptor), endpoint descriptor (Endpoint Descriptor).Wherein, can obtain the type of equipment by device descriptor, obtain the number of configuration information and interface by the configuration descriptor, by a special interface information in configuration of interface descriptor acquisition, and obtaining the end points number that this interface comprises, endpoint descriptor has then reflected the largest amount of type, data transfer direction and the transmission package of end points.By comparison to these descriptions, we can know whether the USB device that is connected is supported by this driver module, can also carry out specific configuration to equipment according to the configuration information that is obtained, after configuration is finished, just can visit the blocks of data that equipment carries out next step.Generally speaking, what the B module will be finished is to make up a transmission channel that meets the usb protocol standard between high-level interface and USB storage, so that specific order, data transmission are carried out in the back.
What the C module will realize is the capacity that obtains USB storage.Calling of this module is after true(-)running B module.The USB transmission channel of having set up by the B module, obtain order to USB storage transmission capacity, USB storage is returned capacity data with the form of piece number and block size, the product of the two is exactly the physical capacity (is unit with the byte) of USB storage, these data are used by the interface on upper strata, and the foundation on size and border is provided for the piece read-write operation.
The D module realizes reading of physical block data.By the USB transmission channel that the B module has been set up, to read block command to the USB storage transmission, and specify the initial block address and the piece number that need read, USB storage is returned the data of these pieces.
The E module realizes writing data to the piece of appointment.USB transmission channel by the B module has been set up sends read write command to USB storage, and specifies the initial block address and the piece number that need write, and USB storage will be by in the corresponding piece of the writing data into memory that the USB transmission channel is obtained.
The F module is mainly finished USB port is resetted.Encounter problems to reset the time in that USB port or USB storage are operated, can call this functional interface.This interface also is to finish the upper strata piece to drive requisite.
The present invention drives the development approach flow process as shown in Figure 1:
The first step utilizes existing IO system (input-output system) and file system to determine the system architecture of whole driving.Concrete hierarchical structure such as Fig. 2.Determining to use piece to drive as the interface between file system and the USB storage driving is the very important point among the present invention.By practice, the framework that we adopt the hierarchical structure of Fig. 2 to drive as whole USB storage.Whole clear layer and terse.Upper layer application is directly called the interface that IO system and file system provide, and they needn't be concerned about the details of operation of bottom.The IO system provides various file operation interfaces on file system.File system articulates file system on the piece driving interface.The piece driving interface connects the file system library that various driving inlets of bottom and embedded system provide as the bridge between USB driving and the file system.The USB Drive Layer is finished relevant usb protocol on the HC Drive Layer, and provides piece to drive required interface.The HC Drive Layer realizes the operations such as initialization of hardware, and finishes HCI (Host Controler Interface) at specific USB HC hardware.Hardware components comprises the HC module of host side and external USB storage.
Second step, realize different HC initialization at different HC hardware modules, finish the HCI interface.After the main body frame that drives is determined, enter actual driving exploitation, what at first run into will carry out initialization to the hardware HC module of the bottom exactly, and finishes the HCI interface.Mainly contain two big class USB master controllers on the market, one class is supported general Host Controler Interface (Universal Host Controller Interface, be called for short UHCI), the open Host Controler Interface of a class support (Open Host Controller Interface is called for short OHCI).Initialization to master controller also mainly is at these two kinds of interface specifications.
In the 3rd step, realize identification and configuration to USB storage.This step to the USB storage that develops drive compatible extremely important.Fig. 3 has described state exchange and the associative operation in USB storage identification and the layoutprocedure.Can enter default conditions by resetting after the device power-on, after entering default conditions, can carry out address setting to equipment by control end points (end points 0), a USB interface can connect 127 equipment at most, will with different devices communicatings, must at first address equipment, just can use the address access means of setting after the addressing, the equipment of this moment changes adressed state over to.Operation afterwards is various descriptor information of obtaining equipment, and the class of slave unit and interface, subclass, agreement can judge whether this equipment is supported.The USB storage that we supported belongs to the MASS STORAGE class of mentioning in the usb protocol (mass storage class), and support SCSI (Small Computer SystemInterface) subclass, the host-host protocol of use is BULK-ONLY transmission (piece transmission).If the equipment that connects on the USB port is to drive the type of supporting, just enter layoutprocedure.Layoutprocedure is with the Configuration Values write device, and equipment enters configuration status.So far, the USB transmission channel is set up, and can carry out follow-up read-write etc. to equipment and operate.
In the 4th step, on the basis that the USB transmission channel has correctly been set up, finish by standard commands that capacity to USB storage obtains, piece module for reading and writing interface.Process such as Fig. 4 and Fig. 5 of piece read-write.All be to be divided into three phases: command transfer stage, data transfer phase, state transfer stage.Be noted that data transmission is with monoblock position unit.
The 5th step was connected USB bottom layer driving and upper strata piece and drives and file system, realized the establishment of block device and the loading of file system.
The 6th step, to the user document creation be provided, open, delete, interface such as read-write.
The present invention from the file system on upper strata, the one-piece construction that the USB storage drive system is derived in the piece driving, according to the USB master controller hardware and the USB storage of the bottom, finishes relevant physical layer interface, last comprehensive debugging in conjunction with USB more from the bottom up.Constituted the whole process that the exploitation USB flash drive drives under the embedded system.
Below at one more instantiation do detailed description:
Describe in conjunction with Fig. 2 driven global hierarchical structure.Total system is according to two big parts of hardware and software.
The USB storage of hardware components adopts USB flash drive.Master controller partly adopts the South Bridge chip 82371EB of Intel Company, and this chip block inside has a USB master controller of supporting UHCI, and has two USB port.
The operating system of software section adopts the VxWorks real time operating system of communications field widespread use, and VxWorks provides upper strata IO system, file system and relevant piece Drive Layer.We derive the USB flash drive bottom relevant interface that needs realization by the piece driving of VxWorks, mainly comprise: UsbDevInit (identification of USB flash drive and configuration), UsbGetCapacity (the USB flash drive capacity obtains), UsbBlockRead (the USB flash drive piece is read), UsbBlockWrite (the USB flash drive piece is write), UsbDevReset (USB flash drive resets).
The detailed process step of software section is such:
At first must finish the initial work of 82371EB chip USB master controller, comprise PCI configuration the USB main controller module, the setting of related register, and realize the UHCI interface.These can be finished with reference to the chip handbook.
We have designed a device structure at USB flash drive for later operation.Be used for connection state, the present located state of memory device, the various attributes (comprising descriptor, capacity, read-write support etc.) of equipment, the operation of supporting etc.Later various operations all need the state with reference to this structure.
After the initialization of finishing USB master controller and USB flash drive device structure, as long as being arranged, equipment links USB port, Resume be will produce and interrupt (this interruption shows that USB port has equipment to connect or extracts), USB device identification and configuration routine promptly can be called this moment.This process is carried out according to the described process of Fig. 3.After correct identification and configuration USB flash drive, just show USB device initialization procedure success (just usually said USB enumeration process).
Operations such as piece read-write afterwards and capacity obtain all are by USB transmission pipeline (pipe), and the scsi command that adopts USB flash drive to support is realized.According to the three phases of carrying out scsi command, finish READ (reading piece), WRITE (writing piece), three orders of READCAPACITY (reading capacity) have also just realized three relevant functional interfaces.These functional interfaces are called as the bottom layer driving inlet that piece drives.
From the file system on VxWorks upper strata, the one-piece construction that the USB flash drive drive system is derived in the piece driving, according to the USB master controller hardware and the USB flash drive of the bottom, finish relevant physical layer interface from the bottom up again, last comprehensive debugging in conjunction with USB.Constituted the whole process that the exploitation USB flash drive drives under the VxWorks real time operating system.
Claims (5)
1, the driving development approach of USB storage under a kind of embedded system may further comprise the steps:
Determine the system architecture of whole driving 1.1 utilize existing input-output system and file system;
1.2 realize initialization, finish Host Controler Interface to main controller module;
1.3 realize identification and configuration to USB storage;
Capacity to USB storage obtains, piece module for reading and writing interface 1.4 finish by standard commands;
Drive and file system 1.5 be connected USB bottom layer driving and upper strata piece, realize the establishment of block device and the loading of file system;
1.6 to the user document creation be provided, open, delete, interface such as read-write.
2, the driving development approach of USB storage under the described embedded system of claim 1, it is characterized in that, the system architecture of determined whole driving is followed successively by: upper layer application, IO system and file system, USB Drive Layer and master controller Drive Layer, hardware components, use piece to drive as the interface between file system and the USB storage driving; Upper layer application is directly called the interface that IO system and file system provide; The IO system provides various file operation interfaces on file system; File system articulates file system on the piece driving interface; The file system library that piece driving interface connection various driving inlets of bottom and embedded system provide; The USB Drive Layer is finished relevant usb protocol on the HC Drive Layer, and provides piece to drive required interface; The master controller Drive Layer realizes the initialization of master controller hardware, and finishes Host Controler Interface; Hardware components comprises the main controller module and the USB storage of host side.
3, the driving development approach of USB storage under the described embedded system of claim 2 is characterized in that described USB Drive Layer comprises: USB storage identification and configuration module; USB storage capacity acquisition module; USB storage data block read through model; USB storage data block writing module; The USB storage reseting module.
4, the driving development approach of USB storage under the described embedded system of claim 1, it is characterized in that, described realization comprises the identification and the layoutprocedure of USB storage: enter default conditions by resetting after the device power-on, by the control end points equipment is carried out address setting; With the Configuration Values write device.
5, the driving development approach of USB storage under the described embedded system of claim 1, it is characterized in that, describedly finish USB storage piece module for reading and writing interface, comprise command transfer stage, data transfer phase, state transfer stage three phases by standard commands.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 03134998 CN1269017C (en) | 2003-09-29 | 2003-09-29 | USB storage drive development method in embedding system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 03134998 CN1269017C (en) | 2003-09-29 | 2003-09-29 | USB storage drive development method in embedding system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1529227A true CN1529227A (en) | 2004-09-15 |
CN1269017C CN1269017C (en) | 2006-08-09 |
Family
ID=34286251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 03134998 Expired - Fee Related CN1269017C (en) | 2003-09-29 | 2003-09-29 | USB storage drive development method in embedding system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1269017C (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100454238C (en) * | 2005-04-28 | 2009-01-21 | 上海贝尔阿尔卡特股份有限公司 | DOHM software interface irrelevant with apparatus object |
CN100458970C (en) * | 2005-07-04 | 2009-02-04 | 联咏科技股份有限公司 | Embedded memory unit structure and memory device system structure and operation method |
CN100481051C (en) * | 2007-04-24 | 2009-04-22 | 杭州华三通信技术有限公司 | Method and device for implementing universal serial bus host machine controller driving universal adapting adaptation layer |
CN102171653A (en) * | 2008-10-30 | 2011-08-31 | 桑迪士克以色列有限公司 | A removable data storage device comprising a user input device |
CN106371884A (en) * | 2016-09-18 | 2017-02-01 | 时瑞科技(深圳)有限公司 | Universal embedded application loading system and method |
-
2003
- 2003-09-29 CN CN 03134998 patent/CN1269017C/en not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100454238C (en) * | 2005-04-28 | 2009-01-21 | 上海贝尔阿尔卡特股份有限公司 | DOHM software interface irrelevant with apparatus object |
CN100458970C (en) * | 2005-07-04 | 2009-02-04 | 联咏科技股份有限公司 | Embedded memory unit structure and memory device system structure and operation method |
CN100481051C (en) * | 2007-04-24 | 2009-04-22 | 杭州华三通信技术有限公司 | Method and device for implementing universal serial bus host machine controller driving universal adapting adaptation layer |
CN102171653A (en) * | 2008-10-30 | 2011-08-31 | 桑迪士克以色列有限公司 | A removable data storage device comprising a user input device |
US8812769B2 (en) | 2008-10-30 | 2014-08-19 | Sandisk Il Ltd. | Data storage devices |
CN106371884A (en) * | 2016-09-18 | 2017-02-01 | 时瑞科技(深圳)有限公司 | Universal embedded application loading system and method |
CN106371884B (en) * | 2016-09-18 | 2019-12-20 | 时瑞科技(深圳)有限公司 | Universal embedded loading application system and method |
Also Published As
Publication number | Publication date |
---|---|
CN1269017C (en) | 2006-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101969883B1 (en) | Data storage device and operating method thereof | |
US20040158669A1 (en) | Architecture for a serial ATA bus based flash memory apparatus | |
US20050240713A1 (en) | Flash memory device with ATA/ATAPI/SCSI or proprietary programming interface on PCI express | |
US9110677B2 (en) | System and method for predicting and improving boot-up sequence | |
US7225289B2 (en) | Virtual IDE storage with PCI express interface | |
KR101395778B1 (en) | Memory card and memory system including the same and operating method thereof | |
US20070033326A1 (en) | Enhanced host interfacing methods | |
KR102381343B1 (en) | Storage Device and Method of Operating the Storage Device | |
US7222211B2 (en) | Virtual USB flash memory storage device with PCI express interface | |
CN1841295A (en) | Universal storage bus adaptor | |
Axelson | USB mass storage: designing and programming devices and embedded hosts | |
CN101078991A (en) | BIOS read-write memory SPD based computer system information conservation and read method | |
EP1920318A2 (en) | Enhanced host interface | |
CN1304957C (en) | Method for improving compute system disc synchronous writing property based on movable memory | |
CN1269017C (en) | USB storage drive development method in embedding system | |
CN1577252A (en) | Method and equipment for automatic assembling equipment and driving program | |
CN101051269A (en) | Intelligent platform management interface firmware architecture and method of building the same | |
US7565524B2 (en) | Computer backup system at BIOS level | |
US20050066129A1 (en) | Portable data storage device allowing dynamic setting of disk type and the method of dynamically setting disk type thereof | |
CN1264094C (en) | Method for construction of computer application system using compact disc and mobile memory medium | |
CN1438583A (en) | Device for monitoring computer system resource and communicatin method of serial bus and said resource | |
CN106951268A (en) | A kind of Shen prestige platform supports the implementation method of NVMe hard disk startups | |
US20090083021A1 (en) | Emulation of ahci-based solid state drive using nand interface | |
US20070226451A1 (en) | Method and apparatus for full volume mass storage device virtualization | |
KR101995034B1 (en) | Data storage device and operating method thereof |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20060809 Termination date: 20140929 |
|
EXPY | Termination of patent right or utility model |