首页 第13章 FLASH存储器

第13章 FLASH存储器

举报
开通vip

第13章 FLASH存储器null 第13章 FLASH存储器 第13章 FLASH存储器《嵌入式技术基础与实践》null本章主要内容 Flash存储器概述与编程模式 MC908GP32单片机Flash存储器编程方法 GP32单片机Flash在线编程汇编语言实例 GP32单片机Flash在线编程08C语言实例 HCS08系列单片机Flash编程方法null13.1 Flash存储器概述与编程模式 13.1.1 Flash存储器的基本特点与编程模式 (1) Flash存储器的基本特点 ①固有不挥发性:Flash存储器不需要后备电源来保...

第13章 FLASH存储器
null 第13章 FLASH存储器 第13章 FLASH存储器《嵌入式技术基础与实践》null本章主要内容 Flash存储器概述与编程模式 MC908GP32单片机Flash存储器编程方法 GP32单片机Flash在线编程汇编语言实例 GP32单片机Flash在线编程08C语言实例 HCS08系列单片机Flash编程方法null13.1 Flash存储器概述与编程模式 13.1.1 Flash存储器的基本特点与编程模式 (1) Flash存储器的基本特点 ①固有不挥发性:Flash存储器不需要后备电源来保持数据。所以,它具有磁存储器无需电能保持数据的优点。 ②易更新性:Flash存储器具有电可擦除特点。相对于EPROM(电可编程只读存储器)的紫外线擦除工艺,Flash存储器的电擦除功能为开发者节省了时间,也为最终用户更新存储器内容提供了可能。 ③成本低、密度高、可靠性好:与EEPROM(电可擦除可编程的只读存储器)相比较,Flash存储器的成本更低、密度更高、可靠性更好。 null13.1 Flash存储器概述与编程模式 13.1.1 Flash存储器的基本特点与编程模式 (2) Flash存储器的两种编程模式 从Flash存储器的基本特点可以看出,在单片机中,可以利用Flash存储器固化程序,一般情况下通过编程器来完成,Flash存储器工作于这种情况,叫监控模式(Monitor Mode)或写入器模式,这与一般的EPROM、OTP、EEPROM装入程序的含义相似。另一方面,由于Flash存储器具有电可擦除功能,因此,在程序运行过程中,有可能对Flash存储区的数据或程序进行更新,Flash存储器工作于这种情况,叫用户模式(User Mode)或在线编程模式。 null13.1.2 HC08系列单片机Flash存储器的特点与编程模式 (1)MC908系列单片机Flash存储器的特点 第一,编程速度快及可靠性高。Freescale HC08系列单片机的片内Flash的整体擦除时间可以控制在5ms以内,对单字节的编程时间也在40ns以内。片内Flash的存储数据可以保持10年以上,可擦写次数也在1万次以上。 第二,单一电源电压供电。Freescale HC08系列单片机通过在片内集成电荷泵,可由单一工作电压在片内产生出编程电压。这样,可实现单一电源供电的在线编程,不需要为Flash的编程而在目标板上增加多余的硬件模块。 第三,支持在线编程。Freescale HC08系列单片机的片内Flash支持在线编程(In-Circuit Program),允许单片机内部运行的程序去改写Flash存储内容, null13.1.2 HC08系列单片机Flash存储器的特点与编程模式 (2) MC908系列单片机Flash存储器的编程模式 在监控方式下,单片机内部的监控ROM程序开始工作,首先进行初始化,随后进入串行输入命令状态。监控ROM通过一根I/O口线与主机进行串行通信,该I/O口线的指定与芯片型号有关,例如,对MC908GP32,它为PTA0; 对MC68HC908JL3,它为PTB0,该I/O口线在使用时需外接上拉电阻。主机程序可以利用监控ROM提供的少数几条指令对单片机内部地址进行读取、写入等基本操作,包括下载程序到RAM中并执行。在此基础上,主机可以通过主机程序或是下载到RAM中的程序完成对Flash存储器编程所需的一系列操作。监控模式常被仿真器和编程器采用,而在实际的 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 应用中,开发者往往只需要考虑和实现用户模式下的Flash存储器在线编程。本章只讨论用户模式下的Flash存储器的编程方法,给出具体的实例。 null13.2 MC908GP32单片机Flash存储器编程方法 13.2.1 Flash存储器编程的基本概念 对Flash编程的基本操作有两种:擦除(Erase)和写入(Program)。 擦除操作的含义是将存储单元的内容由二进制的0变成1,而写入操作的含义,是将存储单元的内容由二进制的1变成0。擦除及写入操作都是通过设置或清除Flash存储器的控制寄存器(FLCR)中的某个或某些位来完成的。Flash存储器在片内是以页(Page)和行(Row)为单位组织的。.页和行的大小(字节数)随整个Flash存储器的大小变化而变化,但页的大小始终为行的两倍。对Flash存储器的擦除操作可以进行整体擦除也可以仅擦除某一起始地址开始的一页(128字节)。 null13.2 MC908GP32单片机Flash存储器编程方法 13.2.2 Flash存储器的编程寄存器 (1) Flash控制寄存器(FLash Control Register — FLCR) FLCR的地址:$FE08,定义为: D7~D4位:未定义。 D3 — HVEN位:高压允许位(High-Voltage Enable Bit)。 HVEN=1,打开电荷泵并将高电平加到Flash阵列上;HVEN=0,撤除Flash阵列上的高电平并关闭电荷泵。 D2 — MASS位:整体擦除控制位(Mass Erase Control Bit)。该位在ERASE=1时有效,用于选择Flash擦除操作方式:整体擦除或页擦除。MASS=1,选择整体擦除方式;MASS=0,选择页擦除方式。 D1 — ERASE位:擦除控制位(Erase Control Bit)。该位用于设置Flash编程操作为擦除操作。ERASE=1,选择擦除操作;ERASE=0,不选择擦除操作。 D0 — PGM位:编程(写入)控制位(Program Control Bit)。该位用于设置Flash编程操作为编程(写入)操作,且无法与ERASE位同时为1。PGM=1,选择写入操作;PGM=0,不选择写入操作。null13.2 MC908GP32单片机Flash存储器编程方法 13.2.2 Flash存储器的编程寄存器 (2) Flash块保护寄存器(FLash Block Protect Register — FLBPR) FLBPR的地址:$FF7E,它的内容为Flash保护区域的起始地址的14~7位,保护区域的起始地址的最高位始终为1,而保护区域的起始地址的低7位(位6~0)始终为0。对FLBPR写入,可以设定被保护的Flash区域,它本身也是一个Flash字节。当Flash处于保护状态时,擦除和写入操作都是受限制的,HVEN将无法被正常置起。Flash块保护寄存器设定的只是保护区域的起始地址,保护区域的结束地址始终为Flash存储区的结束地址($FFFF)。例如,设定FLBPR的值为$02(%0000 0010),则保护区域为$8100~$FFFF(%1000 0001 0000 0000 ~ %1111 1111 1111 1111)。 null13.2 MC908GP32单片机Flash存储器编程方法 13.2.3 Flash存储器的编程过程 (1)页擦除操作 null13.2 MC908GP32单片机Flash存储器编程方法 13.2.3 Flash存储器的编程过程 (2)整体擦除操作 null13.2 MC908GP32单片机Flash存储器编程方法 13.2.3 Flash存储器的编程过程 (3)编程操作 null13.3 GP32单片机Flash在线编程汇编语言实例 13.3.1 Flash存储器的擦除及写入汇编子程序 (1) 擦除、写入子程序 nullnull13.3.1 Flash存储器的擦除及写入汇编子程序nullFlash页擦除程序null13.3.1 Flash存储器的擦除及写入汇编子程序nullnull13.3.1 Flash存储器的擦除及写入汇编子程序nullFlash写入执行程序nullFlash写入执行程序 null13.3 GP32单片机Flash在线编程汇编语言实例 13.3.1 Flash存储器的擦除及写入汇编子程序 (2) 擦除与写入子程序编程要点说明null13.3.2 Flash存储器在线编程汇编主程序及PC方程序null13.3.2 Flash存储器在线编程汇编主程序及PC方程序图13-2 Flash编程实验VB程序界面 13.4 GP32单片机Flash在线编程08C语言实例13.4 GP32单片机Flash在线编程08C语言实例 具体程序参见实例程序“MC08Ex2007\GP32\GP32C\C13_Flash”下的08C工程。 null*13.5 HCS08系列单片机Flash编程方法 13.5.1 Flash存储器的编程寄存器 (1) Flash时钟分频寄存器(FLash Clock Divider Register — FLCR) FLCR的地址:$1820,定义为:null13.5.1 Flash存储器的编程寄存器 (2) Flash选项寄存器(FLash Options Register — FOPT和NVOPT) MCU复位时,Flash中的非易失性的NVOPT值被赋给FOPT寄存器,FOPT可以读,但写操作是无效的。要改变FOPT寄存器的值,需要对Flash中NVOPT位擦除并重新写入新的数值。 FOPT的地址:$1821,定义为:null13.5.1 Flash存储器的编程寄存器 (3) Flash配置寄存器(FLash Configure Register — FCNFG) FCNFG的地址:$1823,定义为:null13.5.1 Flash存储器的编程寄存器 (4) Flash保护寄存器(FLash Protect Register — FPROT和NVPROT) FPROT的地址:$1824,定义为:null(5) Flash状态寄存器(FLash Status Register — FSTAT) FSTAT的地址:$1825,定义为: (6) Flash命令寄存器(FLash Command Register — FCMD) FCMD的地址:$1826,定义为:null *13.5 HCS08系列单片机Flash编程方法 13.5.2 Flash存储器的编程过程 (1) Flash命令的执行步骤 (2) Flash命令的执行流程 (3) Flash命令出错的情况null *13.5 HCS08系列单片机Flash编程方法 13.5.3 Flash存储器的安全性 HCS08系列MCU使用硬件电路机制来防止非法用户试图访问Flash和RAM存储器的数据。当设置保密性后,Flash和RAM都被看作保密资源,直接页寄存器、高端页寄存器、背景调试模块被认为是非保密资源。执行过程中,可以访问任何位置的内存数据,但通过背景调试接口或不安全的方式来访问保密资源是不允许的。
本文档为【第13章 FLASH存储器】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_273303
暂无简介~
格式:ppt
大小:1MB
软件:PowerPoint
页数:0
分类:互联网
上传时间:2011-09-22
浏览量:35