Flash存储器在线编程

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

受保护的 Flash 区域 $8000 ~ $FFFF(整个 Flash 区域) $8080 ~ $FFFF $8100 ~ $FFFF „„ $FF00 ~ $FFFF 整个 Flash 区域都不被保护
9.2.3 Flash存储器的编程过程

MC68HC908GP32的Flash编程的基本操作: 1.页擦除操作 下面过程可以擦除 GP32 的 Flash 存储器的一页 (128字节): ⑴ $2→FLCR(1→ERASE位,0→MASS位):进行 页面擦除; ⑵ 读Flash块保护寄存器FLBPR; ⑶ 向被擦除的Flash页内任意一个地址写入 任意值,为方便起见,一般向待擦除页首地址 写入0;

9.2.2 Flash存储器的编程寄存器


1.Flash控制寄存器(FLash Control Register — FLCR)-$FE08
D7~D4位:未定义。 D3 — HVEN 位 :高压允许位( High-Voltage Enable Bit)。 D2 — MASS位:整体擦除控制位(Mass Erase Control Bit)。 D1 — ERASE位:擦除控制位(Erase Control Bit)。 D0 — PGM 位 : 编 程 ( 写 入 ) 控 制 位 (Program Control Bit)。

1.单片机方程程序流程图

2.单片机方主程序 3.PC机方界面及程序

9.2.2 Flash存储器的编程寄 存器

2.Flash块保护寄存器(FLash Block Protect Register — FLBPR)-$FF7E
表 9-1 MC68HC908GP32 Flash 块保护寄存器设置
FLBPR 内容 $00(%0000 0000) $01(%0000 0001) $02(%0000 0010) „„ $FE(%1111 1110) $FF(%1111 1111)
9.2.1 Flash存储器编程的基 本概念

Flash存储器在片内是以页(Page)和行 (Row)为单位组织的。页和行的大小 (字节数)随整个Flash存储器的大小变 化而变化,但页的大小始终为行的两倍。

MC68HC908GP32内含32K的Flash存储器 (地址为$8000~$FFFF),每页的大小 为128字节,每行的大小为64字节;

第九章 Flash存储器在线编程

9.1 Flash存储器概述与编程模式 9.2 MC68HC908GP32单片机存储器编程 方法 9.3 MC68HC908GP32单片机flash在线编 程实例

9.1 Flash存储器概述与编程模式
9.1.1 Flash存储器的基本特点与编程模 式 9.1.2 M68HC08系列单片机Flash存储器 的特点与编程模式

9.3 MC68HC908GP32单片机 flash在线编程实例

9.3.1 Flash存储器的擦除及写入子程 序 9.3.2 Flash存储器的在线编程实例

9.3.1 Flash存储器的擦除及 写入子程序
1.擦除子程序 2.写入子程序 3.擦除与写入子程序编程要点说明

9.3.2 Flash存储器的在线编 程实例
9.2.3 Flash存储器的编程过 程





⑷ 延时tnvs(>10μ s),; ⑸ $A→FLCR(1→HVEN位); ⑹ 延时terase(>1ms); ⑺ $8→FLCR(0→ERASE位); ⑻ 延时tnvh(>5μ s); ⑼ $0→FLCR(0→HVEN位); (10)延时trcv(>1μ s),完成一页的擦除操作。

9.1.1 Flash存储器的基本特点 与编程模式
1.Flash存储器的基本特点 (1)固有不挥发性

(2)易更新性 (3)成本低、密度高、可靠性好

9.1.1 Flash存储器的基本特点 与编程模式


2.Flash存储器的两种编程模式 在单片机中,可以利用Flash存储器固化程序, 一般情况下通过编程器来完成,Flash存储器工 作于这种情况,叫监控模式(Monitor Mode); Flash存储器具有电可擦除功能,因此,在程 序运行过程中,有可能对Flash存储器区的数据 或程序进行更新,Flash存储器工作于这种情况, 叫用户模式(User Mode)或在线编程模式。


3.编程操作 ⑴ $1→FLCR(1→PGM位); ⑵ 读Flash块保护寄存器FLBPR; ⑶ 向将要写入的Flash行内任意一个地址写 入任意值,为方便起见,一般向行首地址写入 0 ,这一步选定了所要编程的行,以下的目标 地址必需在这一行中; ⑷ 延时tnvs(>10μ s); ⑸ $9→FLCR(1→HVEN位); ⑹ 延时tpgs(>5μ s);
9.2.3 Flash存储器的编程过 程
⑹ 延时tMerase(>4ms); ⑺ $C→FLCR(0→ERASE位); ⑻ 延时tnvhl(>100μ s); ⑼ $0→FLCR(0→HVEN位、MASS位); (10)延时trcv(>1μ s),完成整体擦除操作。

9.2.3 Flash存储器的编程过 程
9.1.2 M68HC08系列单片机 Flash存储器的特点与编程模式
1.M68HC08系列单片机Flash存储器的 特点 (1)编程速度快及可靠性高 (2)单一电源电压供电 (3)支持在线编程

9.1.2 M68HC08系列单片机 Flash存储器的特点与编程模式
Flash 存储器工作于监控模式的条件之一 是: ( 1 )复位向量( $FFFE ~ $FFFF )内容 为“空”($FFFF)。 ( 2 )在单片机复位时在 IRQ 引脚上加上 高电压(1.4~2Vdd), 并给某些I/O脚置 适当值。

9.1.2 M68HC08系列单片机 Flash存储器的特点与编程模式

两种模式各有优缺点:
监控模式需要外部硬件支持,但不需要单片机 内部程序的存在,所以适合对新出厂芯片进行 编程写入,或是对芯片进行整体擦除与写入; 用户模式可以在单片机正常工作时进入,所以 常用在程序运行过程中对部分Flash存储器的一 些单元内容进行修改,特别适合于目标系统的 动态程序更新和运行数据的存储。

9.2 MC68HC908GP32单片机存 储器编程方法

9.2.1 Flash存储器编程的基本概念

9.2.2 Flash存储器的编程寄存器 9.2.3 Flash存储器的编程过程
ຫໍສະໝຸດ Baidu

9.2.1 Flash存储器编程的基本概念
对Flash编程的基本操作有两种: 1、擦除(Erase) 擦除操作的含义是将存储单元的内容由 二进制的0变成1; 2、写入(Program) 而写入操作的含义,是将存储单元的内 容由二进制的1变成0
9.2.3 Flash存储器的编程过 程
⑺ 待写数据写入对应的Flash地址; ⑻ 延时tprog(>30μ s),完成一个字节的写入 (编程)工作; ⑼ 重复⑺、⑻,直至同一行内各字节写入完 毕; ⑽ $8→FLCR(0→PGM位); ⑾ 延时tnvh(>5μ s); ⑿ $0→FLCR(0→HVEN位); (10) 延时trcv(>1μ s)以后,完成本行写入工作, 可以读出校验
9.2.1 Flash存储器编程的基 本概念
注意: 1、GP32的Flash存储器的擦除操作可以 进行整体擦除也可以仅擦除某一起始地 址开始的一页(128字节)。 2、GP32单片机的写入操作以行(64字 节)基础,一次连续写入数据个数只能 在一行之内。 3、不经过擦除的区域,不能进行写入 。
知识回顾

单片机
硬件结构
寻址方式 指令系统
程序设计
PTA PTB PTC PTD PTE
键盘 A/D 无
SCI SPI T/C
综合实验一
键盘输入(PTA口)、两个端口开关量输 入(PTE0、1)、显示输出(PTB口) 通过键盘输入一个字符,可以通过液晶 显示出来; 端口开关量的状态(0或者1),通过 LCD显示出来
9.2.3 Flash存储器的编程过 程

2.整体擦除操作 ⑴ $6→FLCR(1→ERASE位,1→MASS位):进行 整体擦除; ⑵ 读Flash块保护寄存器FLBPR; ⑶ 向被擦除的Flash任意一个地址写入任意 值,为方便起见,一般向首地址写入0; ⑷ 延时tnvs(>10μ s); ⑸ $E→FLCR(1→HVEN位、MASS位、ERASE位);
相关文档
最新文档