一种基于嵌入式系统实现软件升级的方法和系统技术方案

技术编号:6093287 阅读:218 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于嵌入式系统实现软件升级的方法和系统,均可在设备侧建立虚拟块文件,将需要升级的文件放入设备侧的虚拟块文件中;设备侧重新检测虚拟块文件的内容,针对其中需要升级的文件实现升级。本发明专利技术方法和系统,均可有效解决PC安装USB驱动程序和FLASH升级可选性问题,并且快速方便、简单。相对于数据卡已有方案,进一步提高包括数据传输在内的升级效率,提高灵活性和用户体验度。

Method and system for implementing software upgrade based on Embedded System

The invention discloses a method and a system based on embedded system software upgrade, can establish the virtual block file on the device side, will need to upgrade the file into the virtual block device side file; the equipment side re testing virtual block file content, the need to upgrade the file upgrade. The invention, the method and the system can effectively solve the problem of the PC installation, the USB driver program and the FLASH upgrade washability, and is fast, convenient and simple. Compared with the existing data card scheme, the invention further improves the upgrading efficiency, including the data transmission, the flexibility and the user experience degree.

【技术实现步骤摘要】

本专利技术涉及嵌入式技术,具体涉及一种基于嵌入式系统实现软件升级的方法和系 统。
技术介绍
随着3G移动宽带网络技术的日益成熟,数据卡产品也日益丰富,底层使用的操作 系统也日益多样化,升级办法日趋多样、完善。目前,嵌入式LINUX产品的主要升级办法基本都是通过特定软件和升级工具对版 本的整体升级,但是这样做降低升级效率,批量升级效率低下、用户体验差,操作不灵活。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种基于嵌入式系统实现软件升级的方法 和系统,提高升级效率,提高灵活性和用户体验度。为达到上述目的,本专利技术的技术方案是这样实现的一种基于嵌入式系统实现软件升级的方法,该方法包括在设备侧建立虚拟块文件,将需要升级的文件放入设备侧的虚拟块文件中;设备 侧重新检测虚拟块文件的内容,针对其中需要升级的文件实现升级。建立虚拟块文件的过程包括设备侧在接收到升级命令时,在支持的文件系统的FLASH或者RAM空间通过^RO 零设备建立虚拟块文件。建立虚拟块文件之后,将需要升级的文件放入虚拟块文件之前,设备侧将自身切 换到带有存储类设备的组合并向PC上报为存储类设备;PC加载存储类设备驱动,设备侧挂 载虚拟块文件。所述针对需要升级的文件实现升级的过程包括设备侧卸载掉为PC挂载的虚拟块文件,建立目录A并将虚拟块文件挂载到目录A, 通过目录A访问虚拟块中的升级文件并对其进行升级。所述设备侧重新检测虚拟块文件的内容的过程包括PC侧通知设备侧,需要升级的文件已放入存储类设备;设备侧收到该通知后重新 检测,或进一步重启后重新检测。一种基于嵌入式系统实现软件升级的系统,该系统包括虚拟块文件维护单元、虚 拟块文件升级单元;其中,所述虚拟块文件维护单元,用于在设备侧建立虚拟块文件,将需要升级的文件接 收到设备侧的虚拟块文件中;所述虚拟块文件升级单元,用于重新检测虚拟块文件的内容,针对其中需要升级 的文件实现升级。所述虚拟块文件维护单元建立虚拟块文件时,具体用于在接收到升级命令时,在支持的文件系统的FLASH或者RAM空间通过^RO设备建 立虚拟块文件。所述虚拟块文件维护单元建立虚拟块文件之后,将需要升级的文件接收到虚拟块 文件之前,进一步用于将设备侧切换到带有存储类设备的组合并向PC上报为存储类设备, 挂载虚拟块文件;触发PC加载存储类设备驱动。所述虚拟块文件升级单元针对需要升级的文件实现升级时,具体用于卸载掉为PC挂载的虚拟块文件,建立目录A并将虚拟块文件挂载到目录A,通过目 录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中建立下面结合附图和具体实现方式来进一步阐述本专利技术。图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等)上通过^RO (零)设备建立一个虚拟块文件,使用标准的LINUX dd指令。 dev/zero是LINUX提供的特殊的字符设备,它的特点是可以永远读该文件,每次读取的结 果都是二进制0。dd命令可以生成一个自定义大小虚拟文件,此虚拟文件可以当做普通文 件进行访问。虚拟块创建的位置可以选择在FLASH或者RAM空间,两者的区别在于创建在 FLASH中的文件可以永久保存,而创建在RAM中的文件只在本次上电过程中使用。根据创 建位置的不同,使得本专利技术有两个效果1.当在RAM中建立虚拟块时,可以满足本次升级; 设备掉电后,虚拟本文档来自技高网...

【技术保护点】
1.一种基于嵌入式系统实现软件升级的方法,其特征在于,该方法包括:在设备侧建立虚拟块文件,将需要升级的文件放入设备侧的虚拟块文件中;设备侧重新检测虚拟块文件的内容,针对其中需要升级的文件实现升级。

【技术特征摘要】

【专利技术属性】
技术研发人员:邓庆田
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1