飞思卡尔8位单片机MC9S8Flash存储器的在线编程
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6
h
11.2.2 Flash存储器的编程寄存器
(1)Flash控制寄存器(Flash Control Register — FLCR)
FLCR的地址:$FE08,定义为:
数据位 D7 D6 D5 D4 D3 D2 D1 D0
定义
HVEN MASS ERASE PGM
复位
0
0
000
0
0
0
D7~D4位:未定义。 D3 — HVEN位:高压允许位(High-Voltage Enable Bit)。 D2 — MASS位:整体擦除控制位(Mass Erase Control Bit)。 D1 — ERASE位:擦除控制位(Erase Control Bit)。 D0 — PGM位:编程(写入)控制位(Program Control Bit)。
7 h
( 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)。
GP32
FLBPR内容 受保护的Flash区域
$00(%0000 0000) $8000 ~ $FFFF
$01(%0000 0001) $8080 ~ $FFFF
$02(%0000 0010) $8100 ~ $FFFF
……
……
$FE(%1111 1110) $FF(%1111 1111)
$FF00 ~ $FFFF Flash区不被保护
擦除及写入操作都是通过设置或清除Flash存储器的控制寄存器 (FLCR)中的某个或某些位来完成的。
5 h
(2)Flash片内单位:页(Page)和行(Row)
页和行的大小(字节数)随整个Flash存储器的大小变化而变化, 但页的大小始终为行的两倍。例如MC68HC908GP32内含32K的Flash 存储器(地址为$8000~$FDFF),每页的大小为128字节,每行的大 小为64字节;而MC68HC908JL3片内Flash存储器仅有4K,每页和每 行的大小也分别变为64字节和32字节。
11.1.1 Flash存储器的基本特点与编程模式
(1)Flash存储器的基本特点
① 固有不挥发性 ② 易更新性 ③ 成本低、密度高、可靠性好
(2)Flash存储器的两种编程模式
①监控模式(Monitor Mode)或写入器模式 ②用户模式(User Mode)或在线编程模式
2 h
11.1.2 M68HC08系列单片机Flash存储器的特点 与编程模式
(3)Flash的整体擦除和页擦除
对于GP32单片机来说,对Flash存储器的擦除操作可以进行整体擦 除也可以仅擦除某一起始地址开始的一页(128字节)。也就是说,不 能仅擦除某一字节或一次擦除小于128字节。注意这一特点,在数据安 排时尤为重要。GP32单片机的写入操作以行(64字节)为基础,一次 连续写入数据个数只能在一行之内。当然,不经过擦除的区域,不能 进行写入,这一点需特别注意。
特别情况是:FLBPR的存储内容为$00,整个Flash存储区都受到保护; 如果FLBPR的存储内容为$FF,则整个Flash存储区都可以被擦除或写入。
注:只有当单片机处于运行用户程序时,对FLBPR本身和Flash保护区域的擦
写操作保护才是有效的。复位不影响FLBPR。
8 h
GP32与JL3芯片Flash块保护寄存器设置比较
JL3
FLBPR内容 受保护的Flash区域
$00 ~ $60
$EC00 ~ $FFFF
ຫໍສະໝຸດ Baidu
$62(%0110 0010) $EC40 ~ $FFFF
$64(%0110 0100) $EC80 ~ $FFFF
$68(%0110 1000) $ECC0 ~ $FFFF
① 复位向量($FFFE~$FFFF)内容为“空”($FFFF)。 ② 单片机复位时在IRQ引脚上加上高电压(1.4~2Vdd),并给某些 I/O脚置适当值(与芯片型号有关,设计时,参考芯片手册)。 M68HC908系列单片机的Flash存储器工作于用户模式不需要特别的 条件,在单片机正常工作的过程中,程序可以随时转入对Flash存储器进 行编程操作。这种情况下对Flash存储器的擦除与写入,不需要用户提供 其它外部硬件条件。
第十一章 Flash存储器的在线编程
主要内容 ❖ Flash存储器概述与编程模式 ❖ MC68HC908GP32单片机Flash存储器编程方法 ❖ GP32单片机Flash在线编程汇编语言实例 ❖ GP32单片机Flash在线编程C语言实例 ❖ HCS08系列单片机Flash编程方法
1 h
11.1 Flash 存储器概述与编程模式
返回 4
h
11.2 MC68HC908GP32单片机Flash存储 器编程方法
11.2.1 Flash存储器编程的基本概念
(1)对Flash编程的两种基本操作:擦除(Erase)和写入 (Program)
擦除操作的含义是将存储单元的内容由二进制的0变成1, 写入操作的含义是将存储单元的内容由二进制的1变成0。
(1)M68HC08系列单片机Flash存储器的特点
第一,编程速度快及可靠性高。 第二,单一电源电压供电。 第三,支持在线编程。
3 h
(2)M68HC08系列单片机Flash存储器的编程模式
M68HC908系列单片机中绝大多数型号在其内部带有监控ROM,其地 址和大小取决于芯片型号。 Flash存储器工作于监控模式的条件是:
h
11.2.2 Flash存储器的编程寄存器
(1)Flash控制寄存器(Flash Control Register — FLCR)
FLCR的地址:$FE08,定义为:
数据位 D7 D6 D5 D4 D3 D2 D1 D0
定义
HVEN MASS ERASE PGM
复位
0
0
000
0
0
0
D7~D4位:未定义。 D3 — HVEN位:高压允许位(High-Voltage Enable Bit)。 D2 — MASS位:整体擦除控制位(Mass Erase Control Bit)。 D1 — ERASE位:擦除控制位(Erase Control Bit)。 D0 — PGM位:编程(写入)控制位(Program Control Bit)。
7 h
( 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)。
GP32
FLBPR内容 受保护的Flash区域
$00(%0000 0000) $8000 ~ $FFFF
$01(%0000 0001) $8080 ~ $FFFF
$02(%0000 0010) $8100 ~ $FFFF
……
……
$FE(%1111 1110) $FF(%1111 1111)
$FF00 ~ $FFFF Flash区不被保护
擦除及写入操作都是通过设置或清除Flash存储器的控制寄存器 (FLCR)中的某个或某些位来完成的。
5 h
(2)Flash片内单位:页(Page)和行(Row)
页和行的大小(字节数)随整个Flash存储器的大小变化而变化, 但页的大小始终为行的两倍。例如MC68HC908GP32内含32K的Flash 存储器(地址为$8000~$FDFF),每页的大小为128字节,每行的大 小为64字节;而MC68HC908JL3片内Flash存储器仅有4K,每页和每 行的大小也分别变为64字节和32字节。
11.1.1 Flash存储器的基本特点与编程模式
(1)Flash存储器的基本特点
① 固有不挥发性 ② 易更新性 ③ 成本低、密度高、可靠性好
(2)Flash存储器的两种编程模式
①监控模式(Monitor Mode)或写入器模式 ②用户模式(User Mode)或在线编程模式
2 h
11.1.2 M68HC08系列单片机Flash存储器的特点 与编程模式
(3)Flash的整体擦除和页擦除
对于GP32单片机来说,对Flash存储器的擦除操作可以进行整体擦 除也可以仅擦除某一起始地址开始的一页(128字节)。也就是说,不 能仅擦除某一字节或一次擦除小于128字节。注意这一特点,在数据安 排时尤为重要。GP32单片机的写入操作以行(64字节)为基础,一次 连续写入数据个数只能在一行之内。当然,不经过擦除的区域,不能 进行写入,这一点需特别注意。
特别情况是:FLBPR的存储内容为$00,整个Flash存储区都受到保护; 如果FLBPR的存储内容为$FF,则整个Flash存储区都可以被擦除或写入。
注:只有当单片机处于运行用户程序时,对FLBPR本身和Flash保护区域的擦
写操作保护才是有效的。复位不影响FLBPR。
8 h
GP32与JL3芯片Flash块保护寄存器设置比较
JL3
FLBPR内容 受保护的Flash区域
$00 ~ $60
$EC00 ~ $FFFF
ຫໍສະໝຸດ Baidu
$62(%0110 0010) $EC40 ~ $FFFF
$64(%0110 0100) $EC80 ~ $FFFF
$68(%0110 1000) $ECC0 ~ $FFFF
① 复位向量($FFFE~$FFFF)内容为“空”($FFFF)。 ② 单片机复位时在IRQ引脚上加上高电压(1.4~2Vdd),并给某些 I/O脚置适当值(与芯片型号有关,设计时,参考芯片手册)。 M68HC908系列单片机的Flash存储器工作于用户模式不需要特别的 条件,在单片机正常工作的过程中,程序可以随时转入对Flash存储器进 行编程操作。这种情况下对Flash存储器的擦除与写入,不需要用户提供 其它外部硬件条件。
第十一章 Flash存储器的在线编程
主要内容 ❖ Flash存储器概述与编程模式 ❖ MC68HC908GP32单片机Flash存储器编程方法 ❖ GP32单片机Flash在线编程汇编语言实例 ❖ GP32单片机Flash在线编程C语言实例 ❖ HCS08系列单片机Flash编程方法
1 h
11.1 Flash 存储器概述与编程模式
返回 4
h
11.2 MC68HC908GP32单片机Flash存储 器编程方法
11.2.1 Flash存储器编程的基本概念
(1)对Flash编程的两种基本操作:擦除(Erase)和写入 (Program)
擦除操作的含义是将存储单元的内容由二进制的0变成1, 写入操作的含义是将存储单元的内容由二进制的1变成0。
(1)M68HC08系列单片机Flash存储器的特点
第一,编程速度快及可靠性高。 第二,单一电源电压供电。 第三,支持在线编程。
3 h
(2)M68HC08系列单片机Flash存储器的编程模式
M68HC908系列单片机中绝大多数型号在其内部带有监控ROM,其地 址和大小取决于芯片型号。 Flash存储器工作于监控模式的条件是: