1 / 4
文档名称:

AVR 单片机固件自动更新系统的设计与实现.doc

格式:doc   页数:4
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

AVR 单片机固件自动更新系统的设计与实现.doc

上传人:小泥巴 2013/8/30 文件大小:0 KB

下载得到文件列表

AVR 单片机固件自动更新系统的设计与实现.doc

文档介绍

文档介绍:AVR 单片机固件自动更新系统的设计与实现
张莉
( 广东松山职业技术学院,广东韶关 512126)
摘要: 利用 ATmega 系列 AVR 单片机具有在应用编程的特点,设计了固件自动更新系统. 该系统上位机和目标机之间连线简单,采用了常用的串口通信,软件设计进行了适当的加密处理,确保数据存储安全可靠. 利用这种方法可以实现工业现场单片机固件自动升级,较大幅度降低生产成本.
关键词: AVR 单片机; 固件; IAP; 上位机; 目标机; 通信协议
AVR 单片机是 1997 年由 ATMEL 公司研发出的增强型内置 Flash 的 RISC( Reduced Instruction SetCPU) 精简指令集高速 8 位单片机,目前广泛应用于计算机外部设备、工业实时控制、通讯设备、家用电器、仪器仪表等各个领域. AVR 单片机内嵌高质量的 Flash 程序存储器,擦写方便,支持 ISP 和 IAP( 即“在应用编程”) ,便于产品的调试、开发、生产和更新[1]. 文中针对 ATmega 系列高档 AVR 单片机具有IAP 的特点,设计了一种固件自动更新系统,便于嵌入式产品升级,且安全可靠.
1 固件和 IAP 功能介绍
在现代信息技术不断发展的今天,嵌入式系统已经广泛应用于网络通信、消费电子、工业控制等领域,嵌入式系统一般主要由微处理器、控制器、传感器等硬件设备和运行在硬件设备上的专用软件组成. 而所谓的固件( Firmware) 是指存储在嵌入式产品中程序存储器上的为嵌入式系统编写的程序组件,通过特定的程序进行刷新,可以实现更改嵌入式设备的功能或修复缺陷[2]. 对于一个嵌入式产品而言,固件就是最底层、最基础的软件组件,也是实现嵌入式系统功能的根本组件.
固件远程升级一般要求系统具备 IAP 功能,所谓 IAP( In - Application Programming) 即在线应用编程,是应用在 Flash 程序存储器上的一种编程模式,它可以在应用程序正常运行的情况下,通过调用特定的 IAP 程序对另外一段程序 Flash 空间进行读/写操作,甚至可以控制对某段、某页甚至某个字节的读/写操作,这为数据存储和固件的现场升级带来了更大的灵活性. IAP 的本质就是 MCU 可以灵活地运行一个常驻 Flash 的引导加载程序( Boot Loader Pro-gram) ,实现对用户应用程序的在线自编程更新. 引导加载程序的设计可使用任何可用的数据接口和相关的协议读取代码,或者从程序存储器中读取代码,然后将代码写入( 编程) 到 Flash 存储器中. 如 AVR的 ATmega128,就具备引导加载支持的用户程序自编程功能( In - Sysytem Programming by On - chipBoot Program) ,它提供了一个真正由 MCU 本身自动下载和更新( 采用读/写同时“Read - While - Write”进行的方式) 程序代码的系统程序自编程更新的机制,实现系统程序的远程自动更新.
2 固件更新系统设计原理
利用 ATmega 系列芯片提供的 BootLoader 功能,且其 Bootloader 具有可编程的 Boot 空间大小、可保密性以及可编程的复位中断向量等特性,具有下载更新 FLASH