关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于USB的便携式设备固件升级程序的设计

基于USB的便携式设备固件升级程序的设计

作者:时间:2009-12-08来源:网络收藏

1 引言
固件是系统最底层的工作软件。功能与固件密切相关。固件能够充分发挥硬件资源,弥补硬件缺陷与不足。因此。固件在中具有极大重要性。能够进一步完善固件,增强功能。
在系统开发和用户使用时.一旦系统提供设备固件更高版本。就要求设备通过对原有固件进行升级。因此,基于的即插即用、传输速率高的特点,设计一种通过接口升级设备固件的应用。该设计应用程序是基于便携式设备的驱动程序.包括固件文件结构定义、USB设备驱动程序与上层应用软件的I,0操作、USB Bulk0nly传输模式、USB通信命令规范、NAND Flash坏块信息表构建等问题。

本文引用地址:http://www.eepw.com.cn/article/202607.htm


2 系统结构
该系统利用PC机通过USB总线与便携式设备进行通信,并在此通信基础上完成的各种操作,其基本结构如图l所示。系统开发人员或终端用户在获取最新版本固件后,利用固件升级程序实现PC机与便携式设备的通信,并实现固件生成、读取设备信息、USB-Boot二级代码下载、固件升级等功能。

3 固件升级程序的设计
固件升级程序面向系统开发人员或终端用户。由于用户知识体系架构的差异,程序界面力求友好、简洁。功能要求:按预先定义的固件结构生成固件文件:自动检测设备是否连接,一旦设备连接,自动下载二级Boot loader并读取设备Flash信息、固件版本信息;将固件文件下载至NAND Flash,从而完成固件升级操作。
3.1 固件头的填充
固件文件的固件头具有标识,索引功能。固件头结构决定后续固件升级工具扩展的难易。该设计的固件头主要包括固件的版本、生成日期、厂商信息、模块信息和资源文件在固件中的偏移、长度等信息。这些信息采用结构体将其组织,以便读取固件文件。同时在头尾部预留若干字节的保留区,以备后续升级扩展。
固件头的填充需要严格按照结构体所定义的成员进行。函数GenerateHeader完成固件头的生成,其函数原型为:



3.2 生成固件文件
固件文件主要由固件头,启动代码,系统代码,FONTl2,FONTl6,GBK字体和字库资源文件,菜单资源文件,图片资源文件等8个模块组成。其中系统代码、菜单资源文件、图片资源文件的路径由用户指定,其余文件存储于工程目录下。图2为固件生成流程。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭