WO2012122776A1 - 一种基于嵌入式系统实现软件升级的方法和系统 - Google Patents

一种基于嵌入式系统实现软件升级的方法和系统 Download PDF

Info

Publication number
WO2012122776A1
WO2012122776A1 PCT/CN2011/077875 CN2011077875W WO2012122776A1 WO 2012122776 A1 WO2012122776 A1 WO 2012122776A1 CN 2011077875 W CN2011077875 W CN 2011077875W WO 2012122776 A1 WO2012122776 A1 WO 2012122776A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual block
file
block file
upgraded
device side
Prior art date
Application number
PCT/CN2011/077875
Other languages
English (en)
French (fr)
Inventor
邓庆田
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2012122776A1 publication Critical patent/WO2012122776A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Definitions

  • the present invention relates to an embedded technology, and in particular to a method and system for implementing software upgrade based on an embedded system. Background technique
  • the main upgrade methods for embedded LINUX products are basically the overall upgrade of the version through specific software and upgrade tools, but this reduces the upgrade efficiency, the batch upgrade efficiency is low, the user experience is poor, and the operation is not flexible. Summary of the invention
  • the main object of the present invention is to provide a method and system for implementing software upgrade based on an embedded system, which improves upgrade efficiency, flexibility, and user experience.
  • a method for implementing software upgrade based on an embedded system comprising:
  • a virtual block file is created on the device side, and the file to be upgraded is placed in the virtual block file on the device side.
  • the device side re-detects the content of the virtual block file and upgrades the file that needs to be upgraded.
  • the process of creating a virtual block file includes:
  • the device side When the device side receives the upgrade command, it creates a virtual block file through the ZERO device in the FLASH or RAM space of the supported file system.
  • the file to be upgraded is placed in the virtual block file.
  • the device side switches itself to a combination with a storage class device and reports it to the PC as a storage device.
  • the PC loads the storage device driver and the device side mounts the virtual block file.
  • the process of implementing the upgrade for the files that need to be upgraded includes:
  • the device side unmounts the virtual block file mounted for the PC, creates directory A, and mounts the virtual block file to directory A.
  • the process of the device side re-detecting the content of the virtual block file includes:
  • the PC side notifies the device side that the file to be upgraded has been put into the storage class device.
  • the device side re-detects after receiving the notification, or re-detects after restarting.
  • a system for implementing software upgrade based on an embedded system comprising a virtual block file maintenance unit and a virtual block file upgrading unit;
  • the virtual block file maintenance unit is configured to establish a virtual block file on the device side, and receive the file to be upgraded into the virtual block file on the device side;
  • the virtual block file upgrading unit is configured to re-detect the content of the virtual block file, and implement upgrade for the file that needs to be upgraded.
  • the virtual block file maintenance unit is configured to: when creating a virtual block file:
  • the virtual block file is created by the ZERO device in the FLASH or RAM space of the supported file system.
  • the device After the virtual block file maintenance unit establishes the virtual block file, before the virtual file file is received, the device is also used to switch the device side to the combination with the storage device and report it to the PC as a storage device. , mount the virtual block file; trigger the PC to load the storage class device driver.
  • the virtual block file upgrading unit is used to upgrade the file that needs to be upgraded, and is used to:
  • Unmount the virtual block file mounted for the PC create directory A and mount the virtual block file to
  • the virtual block file upgrading unit re-detects the content of the virtual block file, it is configured to: receive a notification from the PC side to learn that the file that needs to be upgraded has been put into the storage class device; and re-detect after receiving the notification , or re-detect after rebooting.
  • the method and system of the invention can effectively solve the problem of PC installation USB driver and FLASH upgrade optional, and is fast, convenient and simple. Compared with the existing scheme of the data card, the upgrade efficiency including data transmission is further improved, and the flexibility and user experience are improved. DRAWINGS
  • FIG. 1 is a system diagram of implementing software upgrade based on an embedded system according to an embodiment of the present invention
  • FIG. 2 is a flowchart of data interaction between a device side and a PC side when software upgrade is implemented based on an embedded system according to an embodiment of the present invention
  • FIG. 3 is a schematic flowchart of implementing software upgrade based on an embedded system according to an embodiment of the present invention. detailed description
  • virtual disk files can be created to independently upgrade different partitions of the underlying firmware without installing a custom USB device driver and quickly updating different partition files.
  • the virtual block file is created by the instruction, and the virtual block file is created into a VFAT (Virtual File Allocation Table). Table) format.
  • VFAT Virtual File Allocation Table
  • the device-side USB interface enumerates itself into a mass storage class device port (similar to a normal U disk device) according to the USB protocol specification and the storage class device protocol specification.
  • the PC operating system automatically recognizes the device and installs the system's own storage class device driver, eliminating the need for manual installation.
  • the PC side can access the device-side virtual VFAT block device as if it were a normal storage class device.
  • the file to be upgraded is placed in the storage class device.
  • the device side is accessed by the device file to access the content in the virtual block file on the device side.
  • the device side can rewrite the corresponding partition of the firmware according to the settings, thereby implementing the upgrade of the specific FLASH partition and the file upgrade such as file replacement.
  • the USB device with the storage class device can be obtained by the PC in the USB enumeration phase, so that the USB storage class has a high transfer rate characteristic; and the USB device is directly enumerated as a storage device without installation.
  • PC side drive
  • the virtual block file creation location is optional, can be established in RAM, can also be established in the permanent FLASH;
  • the upgrade firmware different partitions show optional upgrade features;
  • the virtual block file block created in the RAM can be upgraded, and the virtual block created in the readable and writable FLASH can implement the system backup file to restore the system on demand.
  • Figure 1 is a block diagram showing the components of the PC side and the device side of the USB data card in this solution.
  • the PC side contains PC side operating system, storage device driver and USB bus module.
  • the device side upgrade component key support module includes the LINUX operating system, LINUX file system, and USB bus (storage class GADGET driver module).
  • the virtual block file maintenance unit and the virtual block file upgrading unit may be further configured in the LINUX operating system; wherein the virtual block file maintenance unit is capable of establishing a virtual block file on the device side, and receiving the file to be upgraded
  • the virtual block file upgrading unit can re-detect the content of the virtual block file, and implement upgrade for the file that needs to be upgraded.
  • the following describes the advantages and working principles of the solution in combination with the specific interaction flowcharts on the PC side and the device side of FIG. 2 .
  • This is considered by the following three factors: (1) The device enumeration stores similar devices for the system standard, so that the driver can be installed without the user; (2) the data data transmission capability is large; (3) the file update method is simple and easy to operate. Based on the above factors, the method of updating the upgraded device side file by using the virtual block file to the GADGET USB storage class device module is the most ideal method. Case.
  • Step 1 When the device is in the normal usage mode, the PC can send the switching command through the AT (Terminal Equipment) command / DIAG (diagnostic) command / custom SCSI (small computer system interface), etc.
  • the device side After receiving the instruction, the device side is switched to the USB composite device combination with the storage class device.
  • a composite device is actually a single device formed by several devices through a USB hub.
  • the combined device is a device with multiple interfaces. Each interface represents a separate device.
  • the storage device used here is a USB composite.
  • Step 2 While receiving the upgrade command, the device side creates a virtual block file on the file system (yaffs2/ext2/ext3, etc.) supported by LINUX through the ZERO (zero) device, using the standard LINUX dd command.
  • Dev/zero is a special character device provided by LINUX. It is characterized by the ability to read the file forever. The result of each read is binary 0.
  • the dd command can generate a custom-sized virtual file that can be accessed as a normal file.
  • the location of the virtual block creation can be selected in FLASH or RAM space. The difference between the two is: The files created in FLASH can be saved permanently, and the files created in RAM are only used during this power-on. According to the difference in the creation position, the invention has two effects: 1.
  • the upgrade can be satisfied; after the device is powered off, the file in the virtual block no longer exists; 2.
  • the virtual block is created, it is permanently saved in the FLASH, which not only meets the needs of this upgrade, but also meets the requirements of restoring the factory settings.
  • Step 3 After the virtual block file is created, this file has no format, but it has a large space, and a normal file.
  • all devices are files, and this virtual block file can be considered as unformatted storage space.
  • the device side uses the LINUX command to format the virtual block file into the VFAT format.
  • the VFAT format is basically the file format supported by all current operating systems. When the virtual block is formatted, this virtual block is a storage with VFAT format. Space.
  • Step 4 The device side has switched to the USB composite device combination that contains the storage class device.
  • the storage device is used as a child device of the device side GADGET composite device. It supports standard SCSI commands and other related operations. This subdevice provides reading. The SCSI channel of the virtual block file.
  • Step 5 At this time, the USB device on the device side is enumerated normally, and the device combination with the storage device is enumerated.
  • the PC system recognizes that a USB device similar to the USB flash drive is inserted into the system, and automatically loads the system with its own driver.
  • the storage class device driver On the device side storage class device, the storage class device driver automatically installs the mounted file.
  • the virtual block file can be considered to be mounted on the USB storage class device, thus establishing the PC side access to the virtual block file. aisle.
  • the file in the virtual block cannot be accessed inside the LINUX system on the device side.
  • Step 7 After the completion of step 6, the effect seen on the PC side is:
  • the files in the reported storage class device can be accessed normally, and the access mode is the same as the file accessing the ordinary U disk. Put the files that need to be upgraded in the reported storage class device, and the upgrade file is already placed in the device side virtual file.
  • Step 8 After step 7 is completed, the PC side can notify the device side by using the AT command /DIAG command / custom SCSI command, etc.
  • the files to be upgraded are placed in the storage class device.
  • the virtual block file is built in the FLASH, since the file does not disappear when the power is turned off, you can also choose to restart to complete the upgrade, so you can skip to step 10.
  • Step 9 After receiving the instruction that the PC side upgrade file has been placed in the virtual block, the device side uninstalls the virtual block attached to the USB composite device. At this point, the PC has been unable to access the virtual block file via USB so that the device-side operating system can access the files in the virtual block.
  • Step 10 Create directory A on the device side and mount the virtual block file to directory A.
  • Step 11 You can select the file upgrade method as needed: 1. You can select the upgrade of the firmware FLASH specific partition. You can directly write the firmware file read in the virtual block to the corresponding one.
  • FLAHS partition You can choose the replacement work of the specific file, that is, replace or add the specified file in the virtual block to the specific file of the specified device side LINUX file system. After each upgrade completes a file, the corresponding flag file is created in the virtual block until the upgrade file of the upgrade file does not exist, and the corresponding upgrade file in the virtual file is upgraded.
  • Step 12 After the upgrade is complete, the device side switches to normal use mode.
  • Step 13 The upgrade is over.
  • an upgrade scheme based on the USB data card of the LINUX system is provided, and the upgrade of the LINUX data card device can be realized not only by using the method, but also the upgrade of the embedded device based on the LINUX system can be realized, and the method is simple. And efficient and practical.
  • the present invention belongs to the field of embedded development and communication technology, and is an innovation of the upgrade mode of the embedded LINUX device system, which can realize the application software and other custom USB device drivers without prior installation on WINDOWS and LINUX. , can also enjoy efficient and easy embedded Linux upgrade, greatly improved the upgrade mode of embedded LINUX devices for WINDOWS and LINUX users.
  • the operation of the present invention based on the embedded system to implement software upgrade can represent the process shown in FIG. 3, and the process includes the following steps:
  • Step 310 Create a virtual block file on the device side, and put the file to be upgraded into the virtual block file on the device side. This operation can be performed by the virtual block file maintenance unit.
  • Step 320 The device side re-detects the content of the virtual block file, and implements an upgrade for the file that needs to be upgraded. This operation can be performed by the virtual block file upgrading unit.
  • the method and the system, the invention is based on the embedded system to implement the software upgrade technology, can effectively solve the PC installation USB driver and FLASH upgrade optional The problem, and it is fast, convenient and simple. Compared with the existing scheme of the data card, the upgrade efficiency including data transmission is further improved, and the flexibility and user experience are improved.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

一种基于嵌入式系统实现软件升级的方法和系统 技术领域
本发明涉及嵌入式技术, 具体涉及一种基于嵌入式系统实现软件升级 的方法和系统。 背景技术
随着 3G移动宽带网络技术的日益成熟, 数据卡产品也日益丰富,底层 使用的操作系统也日益多样化, 升级办法日趋多样、 完善。
目前,嵌入式 LINUX产品的主要升级办法基本都是通过特定软件和升 级工具对版本的整体升级, 但是这样做降低升级效率, 批量升级效率低下、 用户体验差, 操作不灵活。 发明内容
有鉴于此, 本发明的主要目的在于提供一种基于嵌入式系统实现软件 升级的方法和系统, 提高升级效率, 提高灵活性和用户体验度。
为达到上述目的, 本发明的技术方案是这样实现的:
一种基于嵌入式系统实现软件升级的方法, 包括:
在设备侧建立虚拟块文件, 将需要升级的文件放入设备侧的所述虚拟 块文件中; 设备侧重新检测所述虚拟块文件的内容, 针对其中需要升级的 文件实现升级。
其中, 建立虚拟块文件的过程包括:
设备侧在接收到升级命令时, 在支持的文件系统的 FLASH或者 RAM 空间通过 ZERO设备建立虚拟块文件。
其中, 建立虚拟块文件之后, 将需要升级的文件放入虚拟块文件之前, 设备侧将自身切换到带有存储类设备的组合并向 PC上报为存储类设备; PC 加载存储类设备驱动, 设备侧挂载虚拟块文件。
其中, 所述针对需要升级的文件实现升级的过程包括:
设备侧卸载掉为 PC挂载的虚拟块文件, 建立目录 A并将虚拟块文件 挂载到目录 A,
Figure imgf000004_0001
其中, 所述设备侧重新检测虚拟块文件的内容的过程包括:
PC侧通知设备侧, 需要升级的文件已放入存储类设备; 设备侧收到该 通知后重新检测, 或重启后重新检测。
一种基于嵌入式系统实现软件升级的系统, 包括虚拟块文件维护单元、 虚拟块文件升级单元; 其中,
所述虚拟块文件维护单元, 用于在设备侧建立虚拟块文件, 将需要升 级的文件接收到设备侧的所述虚拟块文件中;
所述虚拟块文件升级单元, 用于重新检测所述虚拟块文件的内容, 针 对其中需要升级的文件实现升级。
其中, 所述虚拟块文件维护单元建立虚拟块文件时, 用于:
在接收到升级命令时, 在支持的文件系统的 FLASH或者 RAM空间通 过 ZERO设备建立虚拟块文件。
其中, 所述虚拟块文件维护单元建立虚拟块文件之后, 将需要升级的 文件接收到虚拟块文件之前, 还用于将设备侧切换到带有存储类设备的组 合并向 PC上报为存储类设备, 挂载虚拟块文件; 触发 PC加载存储类设备 驱动。
其中, 所述虚拟块文件升级单元针对需要升级的文件实现升级时, 用 于:
卸载掉为 PC挂载的虚拟块文件, 建立目录 A并将虚拟块文件挂载到 其中, 所述虚拟块文件升级单元重新检测虚拟块文件的内容时, 用于: 接收来自 PC侧的通知, 以获知需要升级的文件已放入存储类设备; 并 在收到该通知后重新检测 , 或重启后重新检测。
本发明方法和系统,均可有效解决 PC安装 USB驱动程序和 FLASH升 级可选性问题, 并且快速方便、 简单。 相对于数据卡已有方案, 进一步提 高包括数据传输在内的升级效率, 提高灵活性和用户体验度。 附图说明
图 1为本发明实施例基于嵌入式系统实现软件升级的系统图; 图 2为本发明实施例基于嵌入式系统实现软件升级时的设备侧与 PC侧 数据交互流程图;
图 3为本发明实施例基于嵌入式系统实现软件升级的流程简图。 具体实施方式
在实际应用中, 在既不需要安装自定义 USB设备驱动, 又能快速更新 不同分区文件的情况下, 可以通过建立虚拟块文件以对底层固件不同分区 进行独立升级。
具体而言, 在设备侧利用 LINUX 标准命令, 在已有的文件系统上的 RAM或者 FLASH存储区内, 通过指令建立虚拟块文件, 将虚拟块文件制 作成 VFAT ( Virtual File Allocation Table, 虚拟文件分配表)格式。
接下来, 在插入 PC后, 设备侧 USB接口根据 USB协议规范和存储类 设备协议规范, 将自身枚举成大容量存储类设备端口 (类似于普通 U盘类 设备)。 PC操作系统自动识别出设备, 并安装系统自带存储类设备驱动, 无需手动安装。将设备侧虚拟块文件挂载到 USB GADGET存储类设备驱动 模块。 PC侧就可以访问设备侧虚拟 VFAT块设备, 如同访问普通存储类设 备一样。 之后, 将需要升级的文件放入存储类设备中, 上电重启之后, 在设备 侧通过设备文件挂载的方式, 实现在设备侧访问虚拟块文件中的内容。 设 备侧根据设置就可以实现固件相应分区的重新写入, 进而实现特定 FLASH 分区的升级以及文件替换等指定文件升级。
通过上述操作, 带有存储类设备的 USB设备可以在 USB枚举阶段被 PC获得, 从而使 USB存储类传输速率高的特点得以利用; 并且, 将 USB 设备直接枚举为存储类设备, 不用安装 PC侧驱动; 再有, 虚拟块文件建立 位置具有可选性, 即可在 RAM中建立, 也可在永久性 FLASH中建立; 另 外, 升级固件不同分区体现出可选择性升级的特点; 还有, 在 RAM中建立 的虚拟块文件块可以实现系统升级,在可读写 FLASH中建立的虚拟块可以 实现系统备份文件, 做到按需还原系统。
下面结合附图和具体实现方式来进一步阐述本发明。
图 1是本方案中 USB数据卡 PC侧与设备侧的组成模块图。
从图 1可以看出, PC侧包含 PC侧操作系统、 存储类设备驱动和 USB 总线等模块。设备侧升级部件关键支持模块包含 LINUX操作系统、 LINUX 文件系统和 USB总线(存储类 GADGET驱动模块)。在实际应用时, LINUX 操作系统中可以进一步设置虚拟块文件维护单元、 虚拟块文件升级单元; 其中, 所述虚拟块文件维护单元能够在设备侧建立虚拟块文件, 并将需要 升级的文件接收到设备侧的虚拟块文件中; 所述虚拟块文件升级单元能够 重新检测虚拟块文件的内容, 针对其中需要升级的文件实现升级。
下面结合图 2的 PC侧和设备侧具体交互流程图,说明本方案具有的优 势和工作原理。 这样做出于以下三个因素考虑: (1 )设备枚举为系统标准 存储类似设备, 这样可以不用用户安装驱动; (2 )数据数据传输能力大; ( 3 ) 文件更新方法简单易操作。 基于以上因素, 利用虚拟块文件挂载到 GADGET USB 存储类设备模块更新升级设备侧文件的方法是最理想的方 案。
具体实现步驟解析:
步驟 1:设备侧在正常使用模式下, PC可通过 AT( Terminal Equipment, 终端设备)命令/ DIAG (诊断)指令 /自定义 SCSI (小型计算机系统接口) 等多种方式下发切换命令, 设备侧接收到指令之后使设备侧切换到带有存 储类设备的 USB复合设备组合。复合设备其实就是几个设备通过一个 USB Hub (集线器)形成的单一设备, 组合设备也就是具有多个接口的设备, 每 个接口代表一个独立的设备, 在此用到的存储类设备作为 USB复合设备的 一个设备。
步驟 2: 设备侧在接收到升级命令的同时, 在 LINUX本身支持的文件 系统( yaffs2/ext2/ext3等)上通过 ZERO (零)设备建立一个虚拟块文件, 使用标准的 LINUX dd指令。 dev/zero是 LINUX提供的特殊的字符设备, 它的特点是可以永远读该文件, 每次读取的结果都是二进制 0。 dd命令可 以生成一个自定义大小虚拟文件, 此虚拟文件可以当故普通文件进行访问。 虚拟块创建的位置可以选择在 FLASH或者 RAM空间, 两者的区别在于: 创建在 FLASH中的文件可以永久保存, 而创建在 RAM中的文件只在本次 上电过程中使用。 根据创建位置的不同, 使得本发明有两个效果: 1.当在 RAM中建立虚拟块时, 可以满足本次升级; 设备掉电后, 虚拟块中的文件 不再存在; 2.当在 FLASH中建立虚拟块后, 永久保存在 FLASH中, 不仅 可以满足本次升级需要, 而且可以满足恢复出厂设置的需求。
步驟 3: 虚拟块文件建立之后, 此文件没有任何格式, 只是占有一定空 间大 '〗、普通文件。 在 LINUX系统中, 一切设备皆文件, 可以认为此虚拟块 文件是没有经过格式化的存储空间。设备侧应用 LINUX指令将虚拟块文件 格式化为 VFAT格式, VFAT格式基本上是目前所有操作系统所支持的文件 格式。 当虚拟块被格式化完成之后, 此虚拟块就是带有 VFAT格式的存储 空间。
步驟 4: 设备侧已经切换到包含有存储类设备的 USB复合设备组合, 存储类设备作为设备侧 GADGET复合设备的子设备来使用, 它支持标准的 SCSI指令等相关操作, 这个子设备提供读取虚拟块文件的 SCSI通道。
步驟 5: 此时设备侧 USB设备正常枚举, 枚举出带有存储类设备的设 备组合; PC系统识别到类似 U盘的 USB设备插入到系统, 自动为其加载 系统自带驱动。 设备侧存储类设备, 存储类设备驱动会自动加装挂载上去的文件, 此时可 以认为虚拟块文件已经挂载到 USB的存储类设备上, 这样就建立了 PC侧 对虚拟块文件的访问通道。虚拟块挂载到 USB复合设备的存储类设备之后, 设备侧 LINUX系统内部不能够访问此虚拟块里面的文件。
步驟 7: 步驟 6完成之后, 在 PC侧看到的效果就是: 可以正常访问已 上报的存储类设备中的文件了,并且访问方式和访问普通 U盘的文件一样。 在已上报的存储类设备中放入需要升级的文件, 此时升级文件就已经放入 设备侧虚拟文件。
步驟 8:步驟 7完成之后, PC侧可通过 AT命令 /DIAG指令 /自定义 SCSI 指令等多种方式通知设备侧, 需要升级的文件已放入存储类设备。 当虚拟 块文件建立在 FLASH中时, 由于掉电时文件不消失, 因此也可以选择重启 来完成升级, 这样可以直接跳到步驟 10。
步驟 9: 设备侧接收 PC侧升级文件已经放入虚拟块的指令后, 卸载掉 挂载到 USB复合设备的虚拟块。 此时, PC已无法通过 USB访问虚拟块文 件, 以便设备侧操作系统可以访问虚拟块中的文件。
步驟 10: 设备侧建立目录 A, 将虚拟块文件挂载到目录 A, 此时设备 步驟 11:根据需要可以选择文件升级的方式: 1.可以选择对固件 FLASH 具体分区的升级, 可以将在虚拟块中读到的固件文件直接写入对应的
FLAHS 分区。 2.可以选择具体文件的替换工作, 就是将虚拟块中指定的文 件替换或者添加到指定的设备侧 LINUX文件系统的具体文件。每升级完成 一个文件, 就在虚拟块中建立相应的标志文件, 直到全部升级文件升级结 标志文件不存在, 就升级虚拟文件中相应升级文件。
步驟 12: 升级完成之后, 设备侧切换到正常使用模式。
步驟 13: 升级结束。
通过上述实例, 提供了一种基于 LINUX系统 USB数据卡的升级方案, 使用这种办法不仅可以实现基于 LINUX数据卡设备的升级, 而且还可以实 现其它基于 LINUX系统的嵌入式设备的升级, 方法简单并且高效实用。
需要说明的是, 本发明属于嵌入式开发和通讯技术领域, 是对嵌入式 LINUX设备系统升级方式的一种创新, 既能实现无须事先在 WINDOWS 和 LINUX上安装应用软件和其他自定义 USB设备驱动, 又可以享受高效、 轻松嵌入式 LINUX升级,针对 WINDOWS和 LINUX用户大大改进了嵌入 式 LINUX设备的升级方式。
结合以上技术描述可知, 本发明基于嵌入式系统实现软件升级的操作 思路可以表示如图 3所示的流程, 该流程包括以下步驟:
步驟 310: 在设备侧建立虚拟块文件, 将需要升级的文件放入设备侧的 虚拟块文件中。 该操作可由虚拟块文件维护单元执行。
步驟 320: 设备侧重新检测虚拟块文件的内容,针对其中需要升级的文 件实现升级。 该操作可由虚拟块文件升级单元执行。
综上所述可见, 无论是方法还是系统, 本发明基于嵌入式系统实现软 件升级的技术,均可有效解决 PC安装 USB驱动程序和 FLASH升级可选性 问题, 并且快速方便、 简单。 相对于数据卡已有方案, 进一步提高包括数 据传输在内的升级效率, 提高灵活性和用户体验度。
以上所述, 仅为本发明的较佳实施例而已, 并非用于限定本发明的保 护范围。

Claims

权利要求书
1、 一种基于嵌入式系统实现软件升级的方法, 包括:
在设备侧建立虚拟块文件, 将需要升级的文件放入设备侧的所述虚拟 块文件中; 设备侧重新检测所述虚拟块文件的内容, 针对其中需要升级的 文件实现升级。
2、 根据权利要求 1所述的方法, 其中, 建立虚拟块文件的过程包括: 设备侧在接收到升级命令时, 在支持的文件系统的 FLASH或者 RAM 空间通过 ZERO设备建立虚拟块文件。
3、 根据权利要求 1所述的方法, 其中, 建立虚拟块文件之后, 将需要 升级的文件放入虚拟块文件之前, 设备侧将自身切换到带有存储类设备的 组合并向 PC上报为存储类设备; PC加载存储类设备驱动, 设备侧挂载虚 拟块文件。
4、 根据权利要求 1至 3任一项所述的方法, 其中, 所述针对需要升级 的文件实现升级的过程包括:
设备侧卸载掉为 PC挂载的虚拟块文件, 建立目录 A并将虚拟块文件
5、 根据权利要求 4所述的方法, 其中, 所述设备侧重新检测虚拟块文 件的内容的过程包括:
PC侧通知设备侧, 需要升级的文件已放入存储类设备; 设备侧收到该 通知后重新检测, 或重启后重新检测。
6、 一种基于嵌入式系统实现软件升级的系统, 包括虚拟块文件维护单 元、 虚拟块文件升级单元; 其中,
所述虚拟块文件维护单元, 用于在设备侧建立虚拟块文件, 将需要升 级的文件接收到设备侧的所述虚拟块文件中;
所述虚拟块文件升级单元, 用于重新检测所述虚拟块文件的内容, 针 对其中需要升级的文件实现升级。
7、 根据权利要求 6所述的系统, 其中, 所述虚拟块文件维护单元建立 虚拟块文件时, 用于:
在接收到升级命令时, 在支持的文件系统的 FLASH或者 RAM空间通 过 ZERO设备建立虚拟块文件。
8、 根据权利要求 6所述的系统, 其中, 所述虚拟块文件维护单元建立 虚拟块文件之后, 将需要升级的文件接收到虚拟块文件之前, 还用于将设 备侧切换到带有存储类设备的组合并向 PC上报为存储类设备,挂载虚拟块 文件; 触发 PC加载存储类设备驱动。
9、 根据权利要求 6至 8任一项所述的系统, 其中, 所述虚拟块文件升 级单元针对需要升级的文件实现升级时, 用于:
卸载掉为 PC挂载的虚拟块文件, 建立目录 A并将虚拟块文件挂载到
10、 根据权利要求 9所述的系统, 其中, 所述虚拟块文件升级单元重 新检测虚拟块文件的内容时, 用于:
接收来自 PC侧的通知, 以获知需要升级的文件已放入存储类设备; 并 在收到该通知后重新检测, 或重启后重新检测。
PCT/CN2011/077875 2011-03-17 2011-08-01 一种基于嵌入式系统实现软件升级的方法和系统 WO2012122776A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201110065268.X 2011-03-17
CN201110065268.XA CN102135896B (zh) 2011-03-17 2011-03-17 一种基于嵌入式系统实现软件升级的方法和系统

Publications (1)

Publication Number Publication Date
WO2012122776A1 true WO2012122776A1 (zh) 2012-09-20

Family

ID=44295689

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/077875 WO2012122776A1 (zh) 2011-03-17 2011-08-01 一种基于嵌入式系统实现软件升级的方法和系统

Country Status (2)

Country Link
CN (1) CN102135896B (zh)
WO (1) WO2012122776A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102135896B (zh) * 2011-03-17 2015-08-12 中兴通讯股份有限公司 一种基于嵌入式系统实现软件升级的方法和系统
CN105278993B (zh) * 2015-10-27 2018-10-19 深圳市创维软件有限公司 一种基于Linux系统的驱动模块升级方法及装置
CN106325817A (zh) * 2016-08-25 2017-01-11 中山市天启智能科技有限公司 一种嵌入式系统自动升级方法
CN113515347B (zh) * 2021-06-30 2024-03-29 惠州华阳通用电子有限公司 一种基于虚拟机的双系统数据传输方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101030146A (zh) * 2007-04-10 2007-09-05 北京中星微电子有限公司 一种实现固件更新的方法和系统
CN101494930A (zh) * 2009-02-25 2009-07-29 宇龙计算机通信科技(深圳)有限公司 一种智能终端升级方法和智能终端
CN102135896A (zh) * 2011-03-17 2011-07-27 中兴通讯股份有限公司 一种基于嵌入式系统实现软件升级的方法和系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110061046A1 (en) * 2008-12-18 2011-03-10 Virtual Computer, Inc. Installing Software Applications in a Layered Virtual Workspace
CN101957765B (zh) * 2010-09-02 2016-01-20 北京中星微电子有限公司 一种实现设备固件更新的方法及系统、设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101030146A (zh) * 2007-04-10 2007-09-05 北京中星微电子有限公司 一种实现固件更新的方法和系统
CN101494930A (zh) * 2009-02-25 2009-07-29 宇龙计算机通信科技(深圳)有限公司 一种智能终端升级方法和智能终端
CN102135896A (zh) * 2011-03-17 2011-07-27 中兴通讯股份有限公司 一种基于嵌入式系统实现软件升级的方法和系统

Also Published As

Publication number Publication date
CN102135896A (zh) 2011-07-27
CN102135896B (zh) 2015-08-12

Similar Documents

Publication Publication Date Title
US8856772B2 (en) Server and firmware updating method
US8185759B1 (en) Methods and systems for interfacing bus powered devices with host devices providing limited power levels
US8555048B2 (en) Computer system for booting a system image by associating incomplete identifiers to complete identifiers via querying storage locations according to priority level where the querying is self adjusting
US20120179845A1 (en) Method for switching working mode, usb device, and host device
TWI492064B (zh) 雲端系統及其開機部署方法
KR20050030623A (ko) 원버튼 외장형 백업
CN102098182B (zh) 分布式设备的配置恢复方法及分布式设备
EP2479679A2 (en) Computer system and method for inheriting HBA identifier of PCI card
TW201409238A (zh) 電子裝置的模式切換方法與相關的電子裝置
JP2001034458A (ja) リモートローディング実行方法、リモートローディング実行システム、情報処理装置、管理装置及びコンピュータ読み取り可能な記録媒体
KR101730291B1 (ko) 디스크 배신 시스템
CN103777981A (zh) 一种适用于x86架构的多操作系统远程加载实现方法
WO2013167077A2 (zh) Usb设备、通信系统及其工作模式切换方法
CN107111568B (zh) 用于在启用usb设备时呈现驱动器安装文件的系统和方法
WO2012122776A1 (zh) 一种基于嵌入式系统实现软件升级的方法和系统
US20190205109A1 (en) Computer system, baseboard management controller, and os installation method
KR20140107042A (ko) 관리 장치 및 서버 노드 관리 방법
WO2012100498A1 (zh) 一种usb设备的端口切换方法和系统
CN115220797B (zh) 操作系统启动及部署方法、装置、设备、介质及程序产品
WO2012097574A1 (zh) 一种无线通讯终端及其自启动的方法
CN106528226B (zh) 操作系统的安装方法及装置
US20040221024A1 (en) Apparatus and method for setting environment of client in client / server system, and program recording medium therefor
WO2013189388A2 (zh) 一种接入usb网卡的方法、usb网卡及pc
CN114207583B (zh) 外部操作系统驱动装置及其方法
US20150220350A1 (en) Information processing device and method for managing information processing device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11861005

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11861005

Country of ref document: EP

Kind code of ref document: A1