嵌入式技术基础与实践ppt课件

上传人:资****亨 文档编号:145611001 上传时间:2020-09-22 格式:PPT 页数:32 大小:695KB
返回 下载 相关 举报
嵌入式技术基础与实践ppt课件_第1页
第1页 / 共32页
嵌入式技术基础与实践ppt课件_第2页
第2页 / 共32页
嵌入式技术基础与实践ppt课件_第3页
第3页 / 共32页
嵌入式技术基础与实践ppt课件_第4页
第4页 / 共32页
嵌入式技术基础与实践ppt课件_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《嵌入式技术基础与实践ppt课件》由会员分享,可在线阅读,更多相关《嵌入式技术基础与实践ppt课件(32页珍藏版)》请在金锄头文库上搜索。

1、第13章 FLASH存储器,嵌入式技术基础与实践,.,本章主要内容 Flash存储器概述与编程模式 MC908GP32单片机Flash存储器编程方法 GP32单片机Flash在线编程汇编语言实例 GP32单片机Flash在线编程08C语言实例 HCS08系列单片机Flash编程方法,.,13.1 Flash存储器概述与编程模式 13.1.1 Flash存储器的基本特点与编程模式 (1) Flash存储器的基本特点 固有不挥发性:Flash存储器不需要后备电源来保持数据。所以,它具有磁存储器无需电能保持数据的优点。 易更新性:Flash存储器具有电可擦除特点。相对于EPROM(电可编程只读存储器

2、)的紫外线擦除工艺,Flash存储器的电擦除功能为开发者节省了时间,也为最终用户更新存储器内容提供了可能。 成本低、密度高、可靠性好:与EEPROM(电可擦除可编程的只读存储器)相比较,Flash存储器的成本更低、密度更高、可靠性更好。,.,13.1 Flash存储器概述与编程模式 13.1.1 Flash存储器的基本特点与编程模式 (2) Flash存储器的两种编程模式 从Flash存储器的基本特点可以看出,在单片机中,可以利用Flash存储器固化程序,一般情况下通过编程器来完成,Flash存储器工作于这种情况,叫监控模式(Monitor Mode)或写入器模式,这与一般的EPROM、OTP

3、、EEPROM装入程序的含义相似。另一方面,由于Flash存储器具有电可擦除功能,因此,在程序运行过程中,有可能对Flash存储区的数据或程序进行更新,Flash存储器工作于这种情况,叫用户模式(User Mode)或在线编程模式。,.,13.1.2 HC08系列单片机Flash存储器的特点与编程模式 (1)MC908系列单片机Flash存储器的特点 第一,编程速度快及可靠性高。Freescale HC08系列单片机的片内Flash的整体擦除时间可以控制在5ms以内,对单字节的编程时间也在40ns以内。片内Flash的存储数据可以保持10年以上,可擦写次数也在1万次以上。 第二,单一电源电压供

4、电。Freescale HC08系列单片机通过在片内集成电荷泵,可由单一工作电压在片内产生出编程电压。这样,可实现单一电源供电的在线编程,不需要为Flash的编程而在目标板上增加多余的硬件模块。 第三,支持在线编程。Freescale HC08系列单片机的片内Flash支持在线编程(In-Circuit Program),允许单片机内部运行的程序去改写Flash存储内容,,.,13.1.2 HC08系列单片机Flash存储器的特点与编程模式 (2) MC908系列单片机Flash存储器的编程模式 在监控方式下,单片机内部的监控ROM程序开始工作,首先进行初始化,随后进入串行输入命令状态。监控R

5、OM通过一根I/O口线与主机进行串行通信,该I/O口线的指定与芯片型号有关,例如,对MC908GP32,它为PTA0; 对MC68HC908JL3,它为PTB0,该I/O口线在使用时需外接上拉电阻。主机程序可以利用监控ROM提供的少数几条指令对单片机内部地址进行读取、写入等基本操作,包括下载程序到RAM中并执行。在此基础上,主机可以通过主机程序或是下载到RAM中的程序完成对Flash存储器编程所需的一系列操作。监控模式常被仿真器和编程器采用,而在实际的工程应用中,开发者往往只需要考虑和实现用户模式下的Flash存储器在线编程。本章只讨论用户模式下的Flash存储器的编程方法,给出具体的实例。,

6、.,13.2 MC908GP32单片机Flash存储器编程方法 13.2.1 Flash存储器编程的基本概念 对Flash编程的基本操作有两种:擦除(Erase)和写入(Program)。 擦除操作的含义是将存储单元的内容由二进制的0变成1,而写入操作的含义,是将存储单元的内容由二进制的1变成0。擦除及写入操作都是通过设置或清除Flash存储器的控制寄存器(FLCR)中的某个或某些位来完成的。Flash存储器在片内是以页(Page)和行(Row)为单位组织的。.页和行的大小(字节数)随整个Flash存储器的大小变化而变化,但页的大小始终为行的两倍。对Flash存储器的擦除操作可以进行整体擦除也

7、可以仅擦除某一起始地址开始的一页(128字节)。,.,13.2 MC908GP32单片机Flash存储器编程方法 13.2.2 Flash存储器的编程寄存器 (1) Flash控制寄存器(FLash Control Register FLCR) FLCR的地址:$FE08,定义为: D7D4位:未定义。 D3 HVEN位:高压允许位(High-Voltage Enable Bit)。 HVEN=1,打开电荷泵并将高电平加到Flash阵列上;HVEN=0,撤除Flash阵列上的高电平并关闭电荷泵。 D2 MASS位:整体擦除控制位(Mass Erase Control Bit)。该位在ERASE

8、=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,不选择写入操作。,.,13.2 MC908GP32单片机Flash存储器编程方法 13.2.2 Fla

9、sh存储器的编程寄存器 (2) Flash块保护寄存器(FLash Block Protect Register FLBPR) FLBPR的地址:$FF7E,它的内容为Flash保护区域的起始地址的147位,保护区域的起始地址的最高位始终为1,而保护区域的起始地址的低7位(位60)始终为0。对FLBPR写入,可以设定被保护的Flash区域,它本身也是一个Flash字节。当Flash处于保护状态时,擦除和写入操作都是受限制的,HVEN将无法被正常置起。Flash块保护寄存器设定的只是保护区域的起始地址,保护区域的结束地址始终为Flash存储区的结束地址($FFFF)。例如,设定FLBPR的值为$

10、02(%0000 0010),则保护区域为$8100$FFFF(%1000 0001 0000 0000 %1111 1111 1111 1111)。,.,13.2 MC908GP32单片机Flash存储器编程方法 13.2.3 Flash存储器的编程过程 (1)页擦除操作,.,13.2 MC908GP32单片机Flash存储器编程方法 13.2.3 Flash存储器的编程过程 (2)整体擦除操作,.,13.2 MC908GP32单片机Flash存储器编程方法 13.2.3 Flash存储器的编程过程 (3)编程操作,.,13.3 GP32单片机Flash在线编程汇编语言实例 13.3.1 F

11、lash存储器的擦除及写入汇编子程序 (1) 擦除、写入子程序,.,.,13.3.1 Flash存储器的擦除及写入汇编子程序,.,Flash页擦除程序,.,13.3.1 Flash存储器的擦除及写入汇编子程序,.,.,13.3.1 Flash存储器的擦除及写入汇编子程序,.,Flash写入执行程序,.,Flash写入执行程序,.,13.3 GP32单片机Flash在线编程汇编语言实例 13.3.1 Flash存储器的擦除及写入汇编子程序 (2) 擦除与写入子程序编程要点说明,.,13.3.2 Flash存储器在线编程汇编主程序及PC方程序,.,13.3.2 Flash存储器在线编程汇编主程序及

12、PC方程序,图13-2 Flash编程实验VB程序界面,.,13.4 GP32单片机Flash在线编程08C语言实例,具体程序参见实例程序“MC08Ex2007GP32GP32CC13_Flash”下的08C工程。,.,*13.5 HCS08系列单片机Flash编程方法 13.5.1 Flash存储器的编程寄存器 (1) Flash时钟分频寄存器(FLash Clock Divider Register FLCR) FLCR的地址:$1820,定义为:,.,13.5.1 Flash存储器的编程寄存器 (2) Flash选项寄存器(FLash Options Register FOPT和NVOP

13、T) MCU复位时,Flash中的非易失性的NVOPT值被赋给FOPT寄存器,FOPT可以读,但写操作是无效的。要改变FOPT寄存器的值,需要对Flash中NVOPT位擦除并重新写入新的数值。 FOPT的地址:$1821,定义为:,.,13.5.1 Flash存储器的编程寄存器 (3) Flash配置寄存器(FLash Configure Register FCNFG) FCNFG的地址:$1823,定义为:,.,13.5.1 Flash存储器的编程寄存器 (4) Flash保护寄存器(FLash Protect Register FPROT和NVPROT) FPROT的地址:$1824,定义

14、为:,.,(5) Flash状态寄存器(FLash Status Register FSTAT) FSTAT的地址:$1825,定义为: (6) Flash命令寄存器(FLash Command Register FCMD) FCMD的地址:$1826,定义为:,.,*13.5 HCS08系列单片机Flash编程方法 13.5.2 Flash存储器的编程过程 (1) Flash命令的执行步骤 (2) Flash命令的执行流程 (3) Flash命令出错的情况,.,*13.5 HCS08系列单片机Flash编程方法 13.5.3 Flash存储器的安全性 HCS08系列MCU使用硬件电路机制来防止非法用户试图访问Flash和RAM存储器的数据。当设置保密性后,Flash和RAM都被看作保密资源,直接页寄存器、高端页寄存器、背景调试模块被认为是非保密资源。执行过程中,可以访问任何位置的内存数据,但通过背景调试接口或不安全的方式来访问保密资源是不允许的。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号