飞思卡尔8位单片机MC9S8Flash存储器的在线编程

合集下载

MC9S08系列单片机FLASH存储器的在线编程

MC9S08系列单片机FLASH存储器的在线编程

Flash保护寄存器
地址0x1824,FPROT与NVPROT FPROT只读, NVPROT可写,复位后 MCU自动将NVPROT的值给FPROT 第1位Flash保护禁止位,=1Flash不保 护 前7位在FPDIS=0时设置保护的区域
Flash状态寄存器 FSTAT
地址0x1825,使用最频繁 第7位,Flash命令缓冲区空标志位,=1可以接受 新命令。 第6位只读,Flash命令完成标志位 第5位侵害保护标志位,=1表示试图对保护区域 进行擦写操作。 第4位访问出错标志位。 第2位只读,Flash空白标志位,执行空白检测命 令后有意义。
我们需要的是用户模式 (例程见FlashProgram,内有源代码)
与Flash相关的寄存器
1、HCS08系列MCU的Flash存储器 编程方式与HC08有很大差异 2、S08与Flash相关的寄存器有6个 3、普通08与Flash相关的寄存器只 有2个
Flash时钟分频寄存器 FCDIV
地址0x1820。 第7位只读,=1表示复位后FCDIV已被改写, 可以对Flash进行擦写。 第6位设置Flash分频,=1时钟为总线时钟的 1/8,=0Flash分频器时钟输入就是总线时钟。 低5位设置Flash时钟分频器的分频因子。
在线编程的作用
1、在程序运行过程中改变非易失 存储器Flash的数据,可实现在线 标定。 2、可重复擦写十万次以上 3、掉电后数据仍然存在,用来保 存一些参数或重要数据,可靠性好。
Flash存储器的两种编程模式
1、写入器模式,需要硬件支持,让 单片机进入背景调试(BDM)状态, 编程器常采用这种方式。 2、用户模式,在用户程序运行的过 程中对Flash进行擦写。
Flash擦写例程基本框架

飞思卡尔8位单片机MC9S0813程序LCD编程C语言程序例

飞思卡尔8位单片机MC9S0813程序LCD编程C语言程序例
*功 能:初始化Lcd(HD44780),设置显示方式,清屏,AC自动+1 *
*参 数:无 *
*返 回:无 *
*-----------------------------------------------------*/
void LcdInit(void)
{
unsigned char i;
LcdData_D=0b11111111; //数据口为输出
Lcd_Command(0b00010100); //光标右移一个字符位,AC自动加1
Lcd_Command(0b00001100); //开显示,关光标显示,不闪烁
}
/*Lcd_Command:执行给定的cmd命令------------------------*
*功 能:执行给定的cmd命令,且延时 *
LcdCtrl&=~(1<<LcdRS); //RS、R/W=00,写指令
LcdCtrl&=~(1<<LcdRW);
Lcd_Command(0b10000000); //后7位为DDRAM地址0x00
LcdCtrl|=1<<LcdRS;//RS、R/W=10,写数据到DDRAM中
LcdCtrl&=~(1<<LcdRW);
LcdData=cmd;//把指令码送到Lcd数据传送口
LcdCtrl|=(1<<LcdE); //Lcd开始接收数据
asm("NOP");
asm("NOP");
asm("NOP");
LcdCtrl&=~(1<<LcdE); //Lcd结束接收数据

飞思卡尔8位单片机MC9S08第5章 HC08 CPU与汇编基础

飞思卡尔8位单片机MC9S08第5章  HC08 CPU与汇编基础
LDA ,X ;从变址寄存器HX指向的存储器单元中取数到累加器A中 COM ,X ;将变址寄存器HX指向的存储单元数据取反
5.2 寻址方式
(6)八位偏移量变址方式(IX1,Indexed,8-bit offset addressing mode)
8位偏移量变址是双字节指令,CPU把变址寄存器HX的内容和指令 第二个字节内容相加,其和便是操作数地址。下述指令属于IX1寻址方 式。
5.1 HC08 CPU基本构成
(4)程序计数器PC(Program Counter)
程序计数器PC也是16位的,可寻址范围达64KB。PC存放下一 条指令的地址,在执行转移指令时存放转移地址,在执行中断指令时 存放中断子程序入口地址。复位时,程序计数器PC装入地址$FFFE 和$FFFF中的内容。一般地,地址$FFFE和$FFFF中的内容是复位的 入口地址,这样,复位后,程序能够从复位入口地址开始执行程序。 复位入口地址也称复位向量地址或复位矢量地址(Reset vector address),意味着复位状态过后,PC指向该处,从这里执行程序。
(9)存储器:直接地址—直接地址寻址方式(DD, Direct to direct addressing Mode)
在存储器的四种数据直接传送的寻址方式中,欲传送的数据直接从 源存储单元送向目的存储单元,勿需寄存器中转。在本寻址方式中,源 地址与目标地址由指令直接给出。只有一条指令为DD寻址方式:
CBEQ addr8,X+,rel ;若A=(HX+addr8)则转移,HX+1→HX
(2)立即寻址方式(IMM,Immediate addressing mode)
立即寻址,是在指令中直接给出操作数。这种指令是双字节指令, 第一个字节是操作码,第二个字节是参与操作的立即数。立即寻址指令 通常是对立即数和累加器内容或变址寄存器内进行操作。下述指令属于 IMM寻址方式。

1飞思卡尔8位单片机MC9S08JM60开发板实践教程-60页word资料

1飞思卡尔8位单片机MC9S08JM60开发板实践教程-60页word资料

第一章搭建实验环境1、实验电路板及下载器实物图片2、实验电路图本实验图包含两大部分,分别是CPU.SCH和实验资源.SCH。

CPU采用飞思卡尔8位单片机MC9S08JM60CLD,(电路图介绍)图1-3实验资源部分电路图1-4LCD串口1602液晶电路图1-5RS232接口电路图1-6数码管显示电路图1-7发光管、ad转换以及按键电路图1-83、集成开发软件环境的建立1〉运行文件CW_MCU_V6_3_SE.EXE,在电脑C盘安装飞思卡尔8位(及简化32位)单片机集成开发环境codewarrior6.3版本2〉运行USBDM_4_7_0i_Win,这个程序会在c盘的程序文件夹下增加一个目录C:\Program Files\pgo\USBDM 4.7.0,在这个目录下a>C:\Program Files\pgo\USBDM 4.7.0\FlashImages\JMxx下的文件USBDM_JMxxCLD_V4.sx是下载器的固件文件;b>C:\Program Files\pgo\USBDM4.7.0\USBDM_Drivers\Drivers下有下载器的usb驱动.因此在插入usb下载器,电脑提示发现新的usb硬件的时候,选择手动指定驱动安装位置到以上目录即可。

3〉运行USBDM_4_7_0i_Win之后,还会在目录:C:\Program Files\Freescale\CodeWarrior for Microcontrollers V6.3\prog\gdi下增加一些文件,从修改时间上来看,增加了6个文件,这些文件是为了在codewarrior集成开发环境下对usb下载器的调试、下载的支持。

4、C语言编程基础第二章 LED闪烁程序编写过程1、新建工程运行单片机集成开发环境codewarrior IDE出现如下界面●Create New Project :创建一个新项目工程●Load Example Project :加载一个示例工程●Load Previous Project :加载以前创建过的工程●Run Getting started Tutorial:运行CodeWarrior软件帮助文档●Start Using CodeWarrior:立刻使用CodeWarrior点击Create New project按钮,以创建一个新的工程,出现选择CPU的界面如下,请选择HCS08/HCS08JM Family/MC9S08JM60,在右边的Connection窗口可以选择最后一个开源下载器HCS08 Open Source BDM。

飞思卡尔MC9S08及MC9S12 单片机通过SCI口更新程序的一种方法

飞思卡尔MC9S08及MC9S12 单片机通过SCI口更新程序的一种方法

通过SCI口单片机通过飞思卡尔MC9S08及MC9S12 单片机更新程序的一种方法王佚(Freescale 8/16bit MCU FAE) 飞思卡尔的8/16 Bit 单片机内置FLASH可以通过单片机编程来进行擦除与编程,所以,理论上就可以通过SCI口接口实现软件的自我升级.在实际工作中,我们也遇到不少客户询问相关的实现方法,而我们也给了一些参考代码,但还是有不少工程师不能很好地理解,基于这些原因,我写了点东西来介绍一种比较简单的实现方法,供大家参考,如有不周,敬请批评与谅解.一,飞思卡尔MC9S08单片机内部存储器介绍MC9S08有很多系列单片机,一般程序空间均在64K以下,为了介绍方便,我们以MC9S08AW60一种为例进行介绍.上图为MC9S08AW60的数据空间分布图,对于大于64K空间的MC9S08单片机,其结构与MC9S12单片机类似,故先不做介绍.从图中我们不难看出,由于飞思卡尔单片机的数据存储器(RAM)与程序存储器(FLASH)是统一编址,所以,我们可以将程序引导到RAM里运行.二,飞思卡尔 8位单片机内部中断相量地址介绍飞思卡尔 8位单片机对中断处理是通过判断中断相量表的地址来判断程序的入口地址的.飞思卡尔 8位单片机的中断相量为16位,其放置在从0xFFFF地址向下按照中断号以此排放.三, 飞思卡尔MC9S08单片机FLASH操作简介飞思卡尔MC908及MC9S08系列单片机的FLASH都可以通过软件进行擦除与编程,不同的是MC908有相应的程序内置在单片机的ROM空间,而MC9S08没有,其需要用户自己编写.飞思卡尔的CodeWarrior for MC9(S)08软件在安装后,在\freescale\CodeWarrior for Microcontrollers V6.0\(CodeWarrior_Examples)\HCS08\Device Initialization C Examples\GB60_Modules\Sources\Flash_GB60目录下有响应的参考代码.MC9S08系列单片机的Flash有四种操作模式:Byte program, Byte program (burst), Page erase及Mass erase,其操作时间见下表.需要说明的是,在此操作其间,不可以使能任何中断.下图为操作流程图.需要说明的是,用来实现”Write a data value to an address in the FLASH array”的语句代码,表面上看是将一个数据写到一个Flash数据区去,但实际上是将所需要编程的Flash地址或是擦除的Flash的块地址及数据分别写入到单片机内类似地址积存器及数据寄存器里.CodeWarrior里自带的代码,是用机器码的方式来做的,其也给出了相应的代码,大家可以对应着看看,一般来说,只做Flash模拟EEPROM,该代码即可满足大家使用.在此,本文就不详细描述代码实现的方法.四,实现程序自我更新的两种常见方法及各自特点一般说来,我们有两种方法来,我们有两种常见方法实现程序自我更新.一种是将实现程序更新的部分的程序与应用程序融合在一起,系统在更新程序时甚至可以将整个程序包括更新程序一起更新掉,其优点是可以花费少的程序空间,缺点是数据及主程序空间分配比较麻烦,且在做更新程序时一旦掉电或是其它什么原因,可能无法进行程序的再次更新.另外一种是,将实现程序更新的程序写成是一个独立的程序,其缺点是要浪费部分程序空间,且中断相量无法更新所以要做程序的映射,类似引导(bootload)的概念.其优点是在编写应用程序时不用考虑数据空间地址分配的问题,同时不用担心下载过程出现任何异常情况.本文后面所涉及的内容,均以第二种方法为例,为描述方便,我们定义其为下载程序.五, 下载程序如何实现中断相量的映射由于我们无法预知究竟系统会用多少中断,所以对于应用程序的中断,都必须在更新程序中做映射,即,我们在单片机的某个程序空间建立一个程序跳转表,更新程序的中断相量表做一个固定的表,对应固定地址,我们只需在固定地址放相应的跳转指令,就可以实现中断相量的映射.例题如下:地址A: JMP 地址B. JMP地址B其实是个引导程序.中断相量<1>: 地址A.其中, “中断相量<1>”地址放的”地址A”由更新程序确定,而”地址A” 地址放的” JMP地址B”,JMP由计算机来添加,”地址B”则由应用程序确定.对于复位中断,其处理方法有点不同,其实现方法如下:中断相量<1>: Main.地址A:JMP 地址B.Main:If (a>b){goto地址B }中断相量表的定义参考方法如下:void (* const _vect[])() @0xFFCC = { /* Interrupt vector table */0xf998, /* Int.no. 25 Vrti (at FFCC) Unassigned */0xf99c, /* Int.no. 24 Viic1 (at FFCE) Unassigned */…_Startup /* Int.no. 0 Vreset (at FFFE) Reset vector */};六,单片机程序注意事项1,程序空间分配下载程序的空间应该从0xfff地址向下排放,具体大小需要根据实际的大小及单片机Flash的Block大小来同时决定.空间的安排,一定是Block的倍数.应用程序的空间是从程序的最低段开始排放,除了中断向量外,不可以有任何代码地址与下载程序重叠.在用CodeWarrior来写程序时,我们可以修改PRM文件来控制程序排放地址.下面是下载程序的PRM参考代码.NAMES ENDSEGMENTSROM = READ_ONLY 0xfA00 TO 0xFFAF;Z_RAM = READ_WRITE 0x0070 TO 0x00FF;RAM = READ_WRITE 0x0200 TO 0x086F;ROM2 = READ_ONLY 0xFFC0 TO 0xFFCB;ENDPLACEMENTDEFAULT_RAM INTO RAM;DEFAULT_ROM, ROM_VAR, STRINGS INTO ROM;_DATA_ZEROPAGE, MY_ZEROPAGE INTO Z_RAM;ENDSTACKSIZE 0x802,程序代码保护为了使下载程序在任何异常情况下不会被改写,其除了放置引导程序的空间外,均要做代码保护.其在C语言种的参考代码如下.const unsigned char NVPROT_INIT @0x0000FFBD = 0xFA;.3,计算机应用程序如何处理单片机应用程序的中断相量表计算机在应用程序处理该中断相量表时,应根据下载程序的映射关系,将两个字节的相量数据自动计算到对应引导地址,并变为JMP+地址(相量)的模式.下面是参考转变模式.单片机应用程序复位相量为0x8000,其变为跳转后的代码则为0xCC8000.如本文参考代码,其对应引导地址为0xf9fc,则计算机应用程序则应通知下载程序在0Xf9fc后写0XCC8000三个字节数据,运行完成后,反编译的代码如下:F9FC: JMP 0x80003,其它建议为保证应用程序的正确性,可以在下载程序里判断程序的校验码,可以用16位CRC码等.七,S19文件格式简介S-记录实际上是由五个部分组成的字符串的集合。

飞思卡尔8位单片机-第3章 单片机最小系统设计

飞思卡尔8位单片机-第3章 单片机最小系统设计
• 计算机正确运行(COP) 看门狗可选择从专用的1 kHz 内部时钟源或总线时钟运行
3.2.1 MC9S08QG8内部时钟源
时钟源模块内部结构
31.25kHz 1分频
2分频 16MHz
8MHz
FLL
内部时钟源工作模式
FEI: FLL engaged internal mode; FEE: FLL engaged external mode; FBI: FLL bypassed internal mode; FBILP: FLL bypassed internal low power mode; FBE: FLL bypassed external mode FBELP: FLL bypassed external low power mode stop:
内部参考时钟ICSIRCLK的使能控制 1-ICSIRCLK允许;0-ICSIRCLK停止
控制当ICS进入停止状态时内部参考时钟是否保持使能. 1-如果IRCLKEN设置或者ICS在进入停止前为FEI,FBI或者FBILP模式时,内部参考时钟 保持使能. 0-ICS进入停止状态时,内部参考时钟也禁止。
(1 MHz to 40 MHz for external clock source) 0 Low frequency range selected for the external oscillator of 32 kHz to 100 kHz
(32 kHz to 1 MHz for external clock source)
extern volatile byte NVICSTRM @0x0000FFAF;
if (NVICSTRM != 0xFF) {
ICSTRM = NVICSTRM; // load trim value if location not blank

飞思卡尔8位单片机MC9S08JM60开发板实践教程

飞思卡尔8位单片机MC9S08JM60开发板实践教程

第一章搭建实验环境系统时钟设置#include "App\Include\App.h"#ifndef _MCG_C#define _MCG_C//oscillator 12MHZ 倍频为24MHZ()先8分频后16倍频void S_MCGInit(void){/* the MCG is default set to FEI mode, it should be change to FBE mode*//************************************************************************** ***********MCGC2[7:6] BDIV总线频率分频因子–选择由MCGC1寄存器中CLKS位决定的时钟源的分频。

这控制总线频率。

00 编码0 –时钟1分频01 编码1 –时钟2分频(复位后默认)10 编码2 –时钟4分频11 编码3 –时钟8分频[5] RANGE频率范围选择–选择外部振荡器或者外部时钟源的频率范围。

1 选择1MHz到16MHz外部振荡器的频率范围。

(1MHz到40MHz的外部时钟电源)的高频率范围0 选择32kHz到100kHz外部振荡器的频率范围。

(32kHz到1MHz的外部时钟电源)的低频率范围[4] HGO高增益振荡器选择–控制外部振荡器操作模式。

1 配置外部振荡器为高增益运行0 配置外部振荡器为低功耗运行[3] LP低功耗选择–控制在忽略模式中FLL(或者PLL)是否为无效1 FLL(或PLL)在忽略模式(低功耗)中为无效的。

0 FLL(或PLL)在忽略模式中为无效的。

[2] EREFS外部参考时钟选择–为外部参考选择时钟源1 选择振荡器0 选择外部时钟源[1] ERCLKEN外部参考时钟使能–使能外部参考时钟作为MCGERCLK1 MCGERCLK激活0 MCGERCLK 无效[0] EREFSTEN外部参考时钟停止使能MCGC2 0b0011 0110 激发外部时钟(晶振)(没有使能)*************************************************************************** ***********/MCGC2=MCGC2_RANGE_MASK|MCGC2_HGO_MASK|MCGC2_EREFS_MASK|MCGC2_ERCLK EN_MASK;while(!MCGSC_OSCINIT);//MCGSC寄存器中OSCINIT(第1位)为1,表示由EREFS位选择的晶振被初始化。

flash存储器在线编程

flash存储器在线编程

flash存储器在线编程Flash存储器技术趋于成熟,应用广泛,它结合了OTP存储器的成本优势和EEPROM的可再编程性能,是目前比较理想的存储器。

Flash存储器具有电可擦除、无需后备电源来保护数据、可在线编程、存储密度高、低功耗、成本较低等特点。

一般我们都认为Flash储存器具备固有不挥发性、易更新性,可靠性好的基本特性。

从Flash储存器的基本特点可以看出,在单片机中,可以利用F1ash存储器固化程序,一般情况下通过編程器来究成F1ash存储器工作于这种情况,叫监控模式(Monitor mode)或写入器棋式,这与一般的EPROM、0TP、EEPROM装入程序的含义相似。

另一方面,由于Flash存储器具有电可擦除功能,因此,在程序运行过程中,有可能对F1ash存储区的教据或程序进行更新,Flash存储器工作于这种情况,叫用户模式式(User mode)或在线编程模式。

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

一般来说,两种模式对Flash存储器的编程操作的程序是一致的,差别在于调用这些程序的方式和环境。

下面我们来详细讲解下Flash储存器在线编程模式对Flash编程的基本操作有两种:擦除(Erase)和写入(Program)。

擦除操作的含义是将存储单元的内容由二进制的0变成1,而写入操作的含义,是将存储单元的内容由二进制的1变成0。

擦除及写入操作都是通过设置或清除Flash存储器的控制寄存器(FLCR)中的某个或某些位来完成的。

Flash命令的执行流程GP32单片机Flash存储器在线编程汇编语言实例首先给出GP32单片机的Flash编程子程序,随后给出在用户模式下进行Flash在线编程的实例,并通过与PC机串行通信方式进。

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