新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于IAP技术的ADuC702x固件升级方案

基于IAP技术的ADuC702x固件升级方案

作者:时间:2011-05-22来源:电子产品世界收藏

  摘要:本文介绍了一种基于的智能仪表在应用编程升级固件程序的方案。该方案已成功应用于光通讯和其他产品中,使产品的固件程序升级变得简单方便,且实践验证具有高可靠性。

本文引用地址:http://www.amcfsurvey.com/article/119691.htm

  关键词:;;在应用编程;远程升级

  引言

  目前,智能仪表等产品的设计主要以微控制器为控制核心,但是其设计往往不可能一步到位,尤其是固件程序部分,需要根据产品使用反馈不断地进行修改和完善。当程序需要根据用户需求变更时,传统情况下需要将产品拆卸下来返回原厂修改程序,或请专业的维修服务人员亲自到设备现场,将设备取下或者打开设备,通过JTAG方式连接PC等来重新烧写程序。在应用编程(In Application Programming,)技术可实现对产品的在应用升级。

  系列微处理器由ADI公司生产,集成了ARM7TDMI 16位/32位RISC(精简指令集计算机)内核,具有8kB的SRAM、62kB的Flash/EE存储器,可通过UART或JTAG端口在线编程,最高处理能力达44MIPS。当工作频率为41.78 MHz时,典型的功耗为120mW。

  ADuC702x在线升级方案

  ADuC702x系列微处理器物理存储结构地址如图1所示,其程序通常放置在62kB的Flash/EE存储器内,该Flash/EE可通过该系列微处理器内部Flash Control Interface进行读写访问操作,通过该操作实现IAP固件程序升级功能。后续IAP方案研究和程序设计均针对该Flash/EE实施。

  使用IAP对ADuC702x升级,首先需要了解ADuC702x的Flash/EE基本存储结构和对程序存放的Flash/EE进行合理分区规划。Flash/EE基本存储结构如图2所示,从图中可以看出,Flash/EE地址从0x00080000到0x0008FFFF,总大小为64kB,其Flash(闪存)的位宽为16位,因而Flash大小即为32k×16b。Flash中512B(即256×16b)为一块,为最小Flash读写操作单元。64kB Flash中有2kB(1k×16b)用于该系列微处理器出厂固化启动引导程序,即为On-Chip kernel(片上内核),该段程序空间不能为用户所使用。另外一部分62kB(31×16b)为用户可使用程序段,该段程序用于存放用户代码,在IAP方案设计中IAP操作指代对此62kB的Flash/EE操作。

  通过对62kB此段用户可使用的Flash/EE做一定的分区规划和操作,实现IAP固件程序升级。对62kB此段Flash/EE规划如图3所示。从图3中可知,IAP使用将用户可使用的Flash/EE划分为了三个区:Bootloader区,User Application区以及Flag标志区。三个Flash区功能描述如下。

  1. Bootloader区:用来存放用户编写的Bootloader代码,该代码类似于PC机的BIOS(基本输入输出系统),一旦固化成功,该段程序将不再更改,除非Bootloader代码出现BUG(错误),该段程序只能用ISP(在系统编程)方式通过串口通讯或者JTAG方式写入ADuC702x内部。

  2. User Application(用户应用)区:该区用来存放用户应用程序代码,用户代码的固化需要有配套的PC机程序通过串口来完成,该PC机程序需要根据指定的协议和流程编写,该协议和流程将在下文中给出。

  3. Flag标志区:用来存放各个标志,用户代码程序是否有效标志,是否进入Bootloader标志(该标志用来IAP更新应用程序)。Flag定义如图4所示。

  程序启动流程如图5所示。

  下文对Bootloader程序、User程序设计以及Flag进行详细的阐述。

  BootLoader程序设计及固化

  一、BootLoader程序设计

  本设计在Keil for ARM集成环境下使用。首先在Keil软件下新建一个工程,并选择芯片型号为ADuC702x,且不拷贝startup文件。然后分别添加对应源文件,在Keil环境中配置BootLoader程序起始地址为0x00080000,大小0x5000;SM起始地址为0x00010040,大小为0x1FC0。

  二、Bootloader程序固化

  Bootloader固化有两种方式:UART0和JTAG。UART0固化程序参照ADI公司ARMWSD.exe;JTAG下载可以使用ULINK系列仿真器。


上一页 1 2 3 4 下一页

关键词: IAP ADuC702x 201105

评论


相关推荐

技术专区

关闭