首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
基于USB的便携式设备固件升级程序的设计
来源:本站整理  作者:佚名  2009-12-08 15:10:20



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


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]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:175,214.80000 毫秒