第13章+FLASH存储器.ppt_第1页
第13章+FLASH存储器.ppt_第2页
第13章+FLASH存储器.ppt_第3页
第13章+FLASH存储器.ppt_第4页
第13章+FLASH存储器.ppt_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第13章FLASH存储器,嵌入式技术基础与实践,本章主要内容Flash存储器概述与编程模式MC908GP32单片机Flash存储器编程方法GP32单片机Flash在线编程汇编语言实例GP32单片机Flash在线编程08C语言实例HCS08系列单片机Flash编程方法,13.1Flash存储器概述与编程模式13.1.1Flash存储器的基本特点与编程模式(1)Flash存储器的基本特点固有不挥发性:Flash存储器不需要后备电源来保持数据。所以,它具有磁存储器无需电能保持数据的优点。易更新性:Flash存储器具有电可擦除特点。相对于EPROM(电可编程只读存储器)的紫外线擦除工艺,Flash存储器的电擦除功能为开发者节省了时间,也为最终用户更新存储器内容提供了可能。成本低、密度高、可靠性好:与EEPROM(电可擦除可编程的只读存储器)相比较,Flash存储器的成本更低、密度更高、可靠性更好。,13.1Flash存储器概述与编程模式13.1.1Flash存储器的基本特点与编程模式(2)Flash存储器的两种编程模式从Flash存储器的基本特点可以看出,在单片机中,可以利用Flash存储器固化程序,一般情况下通过编程器来完成,Flash存储器工作于这种情况,叫监控模式(MonitorMode)或写入器模式,这与一般的EPROM、OTP、EEPROM装入程序的含义相似。另一方面,由于Flash存储器具有电可擦除功能,因此,在程序运行过程中,有可能对Flash存储区的数据或程序进行更新,Flash存储器工作于这种情况,叫用户模式(UserMode)或在线编程模式。,13.1.2HC08系列单片机Flash存储器的特点与编程模式(1)MC908系列单片机Flash存储器的特点第一,编程速度快及可靠性高。FreescaleHC08系列单片机的片内Flash的整体擦除时间可以控制在5ms以内,对单字节的编程时间也在40ns以内。片内Flash的存储数据可以保持10年以上,可擦写次数也在1万次以上。第二,单一电源电压供电。FreescaleHC08系列单片机通过在片内集成电荷泵,可由单一工作电压在片内产生出编程电压。这样,可实现单一电源供电的在线编程,不需要为Flash的编程而在目标板上增加多余的硬件模块。第三,支持在线编程。FreescaleHC08系列单片机的片内Flash支持在线编程(In-CircuitProgram),允许单片机内部运行的程序去改写Flash存储内容,,13.1.2HC08系列单片机Flash存储器的特点与编程模式(2)MC908系列单片机Flash存储器的编程模式在监控方式下,单片机内部的监控ROM程序开始工作,首先进行初始化,随后进入串行输入命令状态。监控ROM通过一根I/O口线与主机进行串行通信,该I/O口线的指定与芯片型号有关,例如,对MC908GP32,它为PTA0;对MC68HC908JL3,它为PTB0,该I/O口线在使用时需外接上拉电阻。主机程序可以利用监控ROM提供的少数几条指令对单片机内部地址进行读取、写入等基本操作,包括下载程序到RAM中并执行。在此基础上,主机可以通过主机程序或是下载到RAM中的程序完成对Flash存储器编程所需的一系列操作。监控模式常被仿真器和编程器采用,而在实际的工程应用中,开发者往往只需要考虑和实现用户模式下的Flash存储器在线编程。本章只讨论用户模式下的Flash存储器的编程方法,给出具体的实例。,13.2MC908GP32单片机Flash存储器编程方法13.2.1Flash存储器编程的基本概念对Flash编程的基本操作有两种:擦除(Erase)和写入(Program)。擦除操作的含义是将存储单元的内容由二进制的0变成1,而写入操作的含义,是将存储单元的内容由二进制的1变成0。擦除及写入操作都是通过设置或清除Flash存储器的控制寄存器(FLCR)中的某个或某些位来完成的。Flash存储器在片内是以页(Page)和行(Row)为单位组织的。.页和行的大小(字节数)随整个Flash存储器的大小变化而变化,但页的大小始终为行的两倍。对Flash存储器的擦除操作可以进行整体擦除也可以仅擦除某一起始地址开始的一页(128字节)。,13.2MC908GP32单片机Flash存储器编程方法13.2.2Flash存储器的编程寄存器(1)Flash控制寄存器(FLashControlRegisterFLCR)FLCR的地址:$FE08,定义为:D7D4位:未定义。D3HVEN位:高压允许位(High-VoltageEnableBit)。HVEN=1,打开电荷泵并将高电平加到Flash阵列上;HVEN=0,撤除Flash阵列上的高电平并关闭电荷泵。D2MASS位:整体擦除控制位(MassEraseControlBit)。该位在ERASE=1时有效,用于选择Flash擦除操作方式:整体擦除或页擦除。MASS=1,选择整体擦除方式;MASS=0,选择页擦除方式。D1ERASE位:擦除控制位(EraseControlBit)。该位用于设置Flash编程操作为擦除操作。ERASE=1,选择擦除操作;ERASE=0,不选择擦除操作。D0PGM位:编程(写入)控制位(ProgramControlBit)。该位用于设置Flash编程操作为编程(写入)操作,且无法与ERASE位同时为1。PGM=1,选择写入操作;PGM=0,不选择写入操作。,13.2MC908GP32单片机Flash存储器编程方法13.2.2Flash存储器的编程寄存器(2)Flash块保护寄存器(FLashBlockProtectRegisterFLBPR)FLBPR的地址:$FF7E,它的内容为Flash保护区域的起始地址的147位,保护区域的起始地址的最高位始终为1,而保护区域的起始地址的低7位(位60)始终为0。对FLBPR写入,可以设定被保护的Flash区域,它本身也是一个Flash字节。当Flash处于保护状态时,擦除和写入操作都是受限制的,HVEN将无法被正常置起。Flash块保护寄存器设定的只是保护区域的起始地址,保护区域的结束地址始终为Flash存储区的结束地址($FFFF)。例如,设定FLBPR的值为$02(%00000010),则保护区域为$8100$FFFF(%1000000100000000%1111111111111111)。,13.2MC908GP32单片机Flash存储器编程方法13.2.3Flash存储器的编程过程(1)页擦除操作,13.2MC908GP32单片机Flash存储器编程方法13.2.3Flash存储器的编程过程(2)整体擦除操作,13.2MC908GP32单片机Flash存储器编程方法13.2.3Flash存储器的编程过程(3)编程操作,13.3GP32单片机Flash在线编程汇编语言实例13.3.1Flash存储器的擦除及写入汇编子程序(1)擦除、写入子程序,13.3.1Flash存储器的擦除及写入汇编子程序,Flash页擦除程序,13.3.1Flash存储器的擦除及写入汇编子程序,13.3.1Flash存储器的擦除及写入汇编子程序,Flash写入执行程序,Flash写入执行程序,13.3GP32单片机Flash在线编程汇编语言实例13.3.1Flash存储器的擦除及写入汇编子程序(2)擦除与写入子程序编程要点说明,13.3.2Flash存储器在线编程汇编主程序及PC方程序,13.3.2Flash存储器在线编程汇编主程序及PC方程序,图13-2Flash编程实验VB程序界面,13.4GP32单片机Flash在线编程08C语言实例,具体程序参见实例程序“MC08Ex2007GP32GP32CC13_Flash”下的08C工程。,*13.5HCS08系列单片机Flash编程方法13.5.1Flash存储器的编程寄存器(1)Flash时钟分频寄存器(FLashClockDividerRegisterFLCR)FLCR的地址:$1820,定义为:,13.5.1Flash存储器的编程寄存器(2)Flash选项寄存器(FLashOptionsRegisterFOPT和NVOPT)MCU复位时,Flash中的非易失性的NVOPT值被赋给FOPT寄存器,FOPT可以读,但写操作是无效的。要改变FOPT寄存器的值,需要对Flash中NVOPT位擦除并重新写入新的数值。FOPT的地址:$1821,定义为:,13.5.1Flash存储器的编程寄存器(3)Flash配置寄存器(FLashConfigureRegisterFCNFG)FCNFG的地址:$1823,定义为:,13.5.1Flash存储器的编程寄存器(4)Flash保护寄存器(FLashProtectRegisterFPROT和NVPROT)FPROT的地址:$1824,定义为:,(5)Flash状态寄存器(FLashStatusRegisterFSTAT)FSTAT的地址:$1825,定义为:(6)Flash命令寄存器(FLashCommandRegisterFCMD)FCMD的地址:$1826,定义为:,*13.5HCS08系列单片机Flash编程方法13.5.2Flash存储器的编程过程(1)Flash命令的执行步骤(2)Flash命令的执行流程(3)Fl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论