首页 » 技术文章 » C8051FXXX单片机FLASH程序的自动升级

C8051FXXX单片机FLASH程序的自动升级

作者:  时间:2011-06-08 14:01  来源:EDN

  引言:

  C8051FXXX系列高速SOC单片机是由美国Cygnal公司开发的完全集成的混合信号系统级芯片,具有与8051兼容的微处理器内核,内部集成FLASH程序存储器,具有在系统重新编程能力,以C8051F020为例,内部集成64KFLASH程序存储器。在系统控制软件的开发调试阶段,可用集成开发环境来下载及测试系统,但当将C8051F020目标系统集成到产品后,则由于操作系统及软硬件接口不一样等等原因,不能在最终产品中用集成开发环境来下载FLASH程序,故产品到了用户处之后,如要再进行FLASH程序的更新,则必须更换相应的集成电路印刷板,造成很多麻烦及不可靠因素。笔者通过实验,在用户操作界面的PC机及C8051F020的单片机控制系统之间,通过串行口进行C8051F020单片机控制程序的自动升级及程序加密,从而使用户只要从互联网上下载控制程序,即可实现单片机程序的自动升级。以下以64KBFLASH RAM为例简要介绍单片机目标程序的准备及自动升级的制作过程。

  1)系统简介及自动升级的实现方法

  PC(80486DX2以上具有1.44吋软驱及串行口。单片机控制系统(具有串行口及内置的FLASH程序区)。PCC8051FXXX之间通过九针串行接口线相连。设置传送速率为115200BIT/S

  C8051F020单片机的FLASH RAM分为用户程序区(0000H~0FDFDH),厂家保留及加密区(0FDFEH~0FFFFH)两部分。现将用户程序区(0000H~0FDFDH)0000H~0DFFFH部分用于装载用户程序,而0E000H~0FDFDH部分作为引导程序区,引导程序区在升级时不能改变,它用于与用户操作界面的PC机部分进行程序接收及装载等工作。

  在控制程序区0000H~0DFFFH中,做一握手程序块,在上电时,用于和用户操作界面PC机部分进行握手,当接收到PC机部分要进行软件升级的命令时,程序跳至引导程序区,执行如下流程:

  •   发送准备升级字节到PC
  •   删除FLASH程序区
  •   发送开始下载命令到PC
  •   接收且放到相应地址
  •   加密

  为了达到自动升级的目的,需要在用户界面的PC机引导时,自动检测PC机外设,软盘控制器,一旦检索到软盘中有升级文件及其索引文件,且其版本比现有的单片机控制程序的版本高,则开始执行PC机中的下载程序。

  2)删除0000H~ODFFFHFLASH程序区

  C8051FXXX系列单片机将FLASH程序区按512字节为一页(PAGE)来组织,在删除控制程序区0000H~ODFFFH时,首先屏蔽掉所有中断,使能程序删除位PSEE(PSCTL1),同时使能PSWE(PSCTL0)MOVX指令指向FALSH程序区。应用MOVX指令在每一页的任意一地址写0FFH,则将该页的所有字节都置为0FFH,从而实现了该页的删除。依此操作可删除所有的程序页。删除部分程序如下:

  3)从PC中接收FLASH字节

  以下程序用于从PC机中接收程序并放到相应的FLASH地址。在此仅使能PSWE(PSCTL.0)位,使MOVX指令指向FALSH程序区。

  4)FLASH程序的准备

  为了更快地得到下载到C8051F020FLASH程序,先在CYGNAL IDE开发环境中,将做好的控制程序编泽,链按,然后用厂家提供的串行适配器将PC与目标板连接起来,传送FLASH程序到目标系统中去。接下来用“UPLOAD MEMORY T0 PILE…”(如图示)功能将0000H~OEOOOHFLASH代码程序上载到硬盘存储器中,再将此ASCII文件转化为16进制的HE文件,注意将其十的0DH0AH等回车换行字节取消,最后生成的HEX文件即可被直接下载到FLASH0000H~0DFFFH的相应地址中。此HEX文件即可发送至用户处,用于升级用户的单片机FLASH程序。

  5)C程序的准备

  结束语

  以上所介绍的FLASH自动升级程序的PC部分在VC6.0TC2.0中开发,并与805lFXXX系列的单片机联机成功,并最后用于在用户处的单片机FLASH程序升级。

相关推荐

嵌入式系统的固件更新

嵌入式  Flash  RAM  缓冲区  2013-09-12

飞思卡尔CEO:新战略初现成效 未来更关注中国市场

飞思卡尔  单片机  2013-04-28

飞思卡尔携手周立功单片机 共同拓展中国MCU市场

飞思卡尔  MCU  单片机  2012-12-19

苹果再胜诉 三星特定Galaxy产品在荷兰禁售

苹果  Galaxy  blue flash  2012-11-29

英飞凌为提高XMC4000单片机生产率免费提供DAVE 3

英飞凌  单片机  2012-04-20

英飞凌XMC4500工业单片机现已量产供货

英飞凌  单片机  XMC4500  2012-03-19
在线研讨会
焦点