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

上传人:公**** 文档编号:567434661 上传时间:2024-07-20 格式:PPT 页数:32 大小:315KB
返回 下载 相关 举报
飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件_第1页
第1页 / 共32页
飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件_第2页
第2页 / 共32页
飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件_第3页
第3页 / 共32页
飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件_第4页
第4页 / 共32页
飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件》由会员分享,可在线阅读,更多相关《飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件(32页珍藏版)》请在金锄头文库上搜索。

1、第十一章第十一章 Flash存储器的在线编程存储器的在线编程主要内容v Flash存储器概述与编程模式 v MC68HC908GP32单片机Flash存储器编程方法 v GP32单片机Flash在线编程汇编语言实例 v GP32单片机Flash在线编程C语言实例v HCS08系列单片机Flash编程方法 鹃翔皑哈博槐否应烷是居肄杏溪庐笛卒焙花介雷碎挺负黍青吓卷原瘴划镍飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件11.1 Flash 存储器概述与编程模式存储器概述与编程模式11.1.1 Flash存储器的基本特点

2、与编程模式存储器的基本特点与编程模式 (1)Flash存储器的基本特点存储器的基本特点 固有不挥发性固有不挥发性 易更新性易更新性 成本低、密度高、可靠性好成本低、密度高、可靠性好 (2)Flash存储器的两种编程模式存储器的两种编程模式 监控模式(监控模式(Monitor Mode)或写入器模式)或写入器模式 用户模式(用户模式(User Mode)或在线编程模式)或在线编程模式 珠溉眼限留半舀澡夹邻铺特看井雕霉茬旋异沥躇辊恐诛共蛾眺课壁佰狠淖飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件11.1 Flash存

3、储器概述与编程模式 (1)M68HC08系列单片机系列单片机Flash存储器的特点存储器的特点 第一,编程速度快及可靠性高。第一,编程速度快及可靠性高。 第二,单一电源电压供电。第二,单一电源电压供电。 第三,支持在线编程。第三,支持在线编程。 11.1.2 M68HC08系列单片机系列单片机Flash存储器的特点存储器的特点与编程模式与编程模式蜡坠圃嚣赖猎殉坤困叉倚邦融密茶谚峭寸盯腐赦芝包逾爷量镊洒诞墅帛舆飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件11.1 Flash存储器概述与编程模式M68HC908系列

4、单片机中绝大多数型号在其内部带有监控系列单片机中绝大多数型号在其内部带有监控ROM,其地其地址和大小取决于芯片型号。址和大小取决于芯片型号。Flash存储器工作于监控模式的条件是:存储器工作于监控模式的条件是: 复位向量(复位向量($FFFE$FFFF)内容为)内容为“空空”($FFFF)。)。 单片机复位时在单片机复位时在IRQ引脚上加上高电压(引脚上加上高电压(1.42Vdd),并给某些并给某些I/O脚置适当值(与芯片型号有关,设计时,参考芯片手册)。脚置适当值(与芯片型号有关,设计时,参考芯片手册)。 M68HC908系列单片机的系列单片机的Flash存储器工作于用户模式不需要特别的存储

5、器工作于用户模式不需要特别的条件,在单片机正常工作的过程中,程序可以随时转入对条件,在单片机正常工作的过程中,程序可以随时转入对Flash存储器进存储器进行编程操作。这种情况下对行编程操作。这种情况下对Flash存储器的擦除与写入,不需要用户提供存储器的擦除与写入,不需要用户提供其它外部硬件条件。其它外部硬件条件。 (2)M68HC08系列单片机系列单片机Flash存储器的编程模式存储器的编程模式返回返回犁酮壶匝睬炮诡割貉扎蒜飘坷崭享紊赁蜜疡墙卉碳胯旱看剧驼愉纲枉综凸飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件

6、11.1 Flash存储器概述与编程模式 11.2 MC68HC908GP32单片机单片机Flash存储存储器编程方法器编程方法11.2.1 Flash存储器编程的基本概念存储器编程的基本概念(1)对)对Flash编程的两种基本操作:擦除(编程的两种基本操作:擦除(Erase)和写入)和写入(Program) 擦除操作擦除操作的含义是将存储单元的内容由二进制的的含义是将存储单元的内容由二进制的0变成变成1, 写入操作写入操作的含义是将存储单元的内容由二进制的的含义是将存储单元的内容由二进制的1变成变成0。 擦除及写入操作都是通过设置或清除擦除及写入操作都是通过设置或清除Flash存储器的控制寄

7、存器存储器的控制寄存器(FLCR)中的某个或某些位来完成的。)中的某个或某些位来完成的。 嫂分截啄遮师赘乌冲易痢腆舞婪缔架铀杉青异更蝎宇往熏压邪休拷凶舵夯飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件11.2 GP32 Flash存储器编程方法 页和行的大小(字节数)随整个页和行的大小(字节数)随整个Flash存储器的大小变化而变化,存储器的大小变化而变化,但页的大小始终为行的两倍。例如但页的大小始终为行的两倍。例如MC68HC908GP32内含内含32K的的Flash存储器(地址为存储器(地址为$8000$FD

8、FF),每页的大小为),每页的大小为128字节,每行的大字节,每行的大小为小为64字节;而字节;而MC68HC908JL3片内片内Flash存储器仅有存储器仅有4K,每页和每行,每页和每行的大小也分别变为的大小也分别变为64字节和字节和32字节。字节。 (3)Flash的整体擦除和页擦除的整体擦除和页擦除 对于对于GP32单片机来说,对单片机来说,对Flash存储器的擦除操作可以进行整体擦存储器的擦除操作可以进行整体擦除也可以仅擦除某一起始地址开始的一页(除也可以仅擦除某一起始地址开始的一页(128字节)。也就是说,不字节)。也就是说,不能仅擦除某一字节或一次擦除小于能仅擦除某一字节或一次擦除

9、小于128字节。注意这一特点,在数据安字节。注意这一特点,在数据安排时尤为重要。排时尤为重要。GP32单片机的写入操作以行(单片机的写入操作以行(64字节)为基础,一次字节)为基础,一次连续写入数据个数只能在一行之内。当然,不经过擦除的区域,不能进连续写入数据个数只能在一行之内。当然,不经过擦除的区域,不能进行写入,这一点需特别注意。行写入,这一点需特别注意。 (2)Flash片内单位:页(片内单位:页(Page)和行()和行(Row)激兑人扒谣就坟柞蔽俊啸绣伞约蛹赏艘叙实寂成黎欣领捡漆胶赂甘于沛耪飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件飞思卡尔8位单片机MC9S8Fl

10、ash存储器的在线编程ppt课件11.2 GP32 Flash存储器编程方法(1)Flash控制寄存器(控制寄存器(Flash Control Register FLCR) FLCR的地址:的地址:$FE08,定义为:,定义为: 11.2.2 Flash存储器的编程寄存器存储器的编程寄存器数据位数据位 D7 D6 D5 D4 D3 D2 D1 D0定义定义 HVEN MASS ERASE PGM复位复位 0 0 0 0 0 0 0 0D7D4位:未定义。位:未定义。D3HVEN位:高压允许位(位:高压允许位(High-VoltageEnableBit)。)。D2MASS位:整体擦除控制位(位:

11、整体擦除控制位(MassEraseControlBit)。)。D1ERASE位:擦除控制位(位:擦除控制位(EraseControlBit)。)。D0PGM位:编程(写入)控制位(位:编程(写入)控制位(ProgramControlBit)。)。 陷镜嘉杀墩群臂移兴丝帮稠珠愉辫瞪膀寻嘲佯卡愁鲸翼莲壁朵鳃圃涸趋登飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件11.2 GP32 Flash存储器编程方法FLBPR的的地地址址:$FF7E,它它的的内内容容为为Flash保保护护区区域域的的起起始始地地址址的的147位位

12、,保保护护区区域域的的起起始始地地址址的的最最高高位位始始终终为为1,而而保保护护区区域域的的起起始始地地址址的的低低7位位(位位60)始始终终为为0。对对FLBPR写写入入,可可以以设设定定被被保保护护的的Flash区区域域,它它本本身身也也是是一一个个Flash字字节节。当当Flash处处于于保保护护状状态态时时,擦擦除除和和写写入入操操作作都都是是受受限限制制的的,HVEN将将无无法法被被正正常常置置起起。Flash块块保保护护寄寄存存器器设设定定的的只只是是保保护护区区域域的的起起始始地地址址,保保护护区区域域的的结结束束地地址址始始终终为为Flash存存储储区区的的结结束束地地址址(

13、$FFFF)。例例如如,设设定定FLBPR的的值值为为$02(%00000010),则则保保护护区区域域为为$8100$FFFF(%1000000100000000%1111111111111111)。 特特别别情情况况是是: :FLBPR的的存存储储内内容容为为$00,整整个个Flash存存储储区区都都受受到到保保护护;如果如果FLBPR的存储内容为的存储内容为$FF,则整个,则整个Flash存储区都可以被擦除或写入。存储区都可以被擦除或写入。 注:注:只有当单片机处于运行用户程序时,对只有当单片机处于运行用户程序时,对FLBPRFLBPR本身和本身和Flash保护区域的擦保护区域的擦写操作

14、保护才是有效的。复位不影响写操作保护才是有效的。复位不影响FLBPR。 (2)Flash块块保保护护寄寄存存器器(Flash Block Protect Register FLBPR)莱喊镶晦秋狰凸留鸳圾桃杭后日越和锗辣嗅辨衅翱相讣趁梢沙条拯增虫徒飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件11.2 GP32 Flash存储器编程方法注:注:对MC68HC908GP32而言的,而言的,FLBPRFLBPR设定的是定的是1616位起始地址的位起始地址的第第14147 7位(第位(第1515位恒位恒为1 1);而)

15、;而对MC68HC908JL3而言,它而言,它们设定的是定的是1616位起始地址的第位起始地址的第12125 5位(第位(第15151313位恒位恒为1)1) 。 GP32JL3FLBPR内容内容受保护的受保护的Flash区域区域FLBPR内容内容受保护的受保护的Flash区域区域$00(%0000 0000)$8000 $FFFF$00 $60$EC00 $FFFF$01(%0000 0001)$8080 $FFFF$62(%0110 0010)$EC40 $FFFF$02(%0000 0010)$8100 $FFFF$64(%0110 0100)$EC80 $FFFF$68(%0110 1

16、000)$ECC0 $FFFF$FE(%1111 1110)$FF00 $FFFF$FF(%1111 1111)Flash区不被保护$FE(%1111 1110)$FFC0 $FFFFGP32与与JL3芯片芯片Flash块保护寄存器设置比较块保护寄存器设置比较翘拽液捕庇淳涅淖丝略叔宴中桂犀失输途谁令黄毛撑傀驴硅徊绅确沉暗瞒飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件11.2 GP32 Flash存储器编程方法MC68HC908GP32的的Flash编程的基本操作程的基本操作: (1)页擦除操作)页擦除操作 下面

17、过程可以擦除下面过程可以擦除GP32的的Flash存储器的一页存储器的一页(128字节字节):$2FLCR(1ERASE位,位,0MASS位位):进行页面擦除;进行页面擦除; 读读Flash块保护寄存器块保护寄存器FLBPR; 向被擦除的向被擦除的Flash页内任意一个地址写入任意值,一般向待擦除页页内任意一个地址写入任意值,一般向待擦除页首地址写入首地址写入0; 延时延时tnvs(10s);$AFLCR(1HVEN位位); 延时延时terase(1ms); $8FLCR(0ERASE位位); 延时延时tnvh(5s); $0FLCR(0HVEN位位); 延时延时trcv(1s),完成一页的擦

18、除操作。,完成一页的擦除操作。 11.2.3 Flash存储器的编程过程存储器的编程过程谣孰烦佑榆汗瑰守垂克吁咸初颂暴楔照梗拓泄玲虞彰弱菩硅选丙撼碳纳碾飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件11.2 GP32 Flash存储器编程方法下面下面过程擦除程擦除GP32的整个的整个Flash区域,以便把新的程序装入区域,以便把新的程序装入Flash存存储器:器:$6FLCR(1ERASE位,位,1MASS位位): :进行整体擦除;进行整体擦除;读读Flash块保护寄存器块保护寄存器FLBPR;向被擦除的向被擦除

19、的Flash任意一个地址写入任意值,为方便起见,一般任意一个地址写入任意值,为方便起见,一般向首地址写入向首地址写入0 0;延时延时tnvs(10s) );$EFLCR(1HVEN位、位、MASS位、位、ERASE位位);延时延时tMerase(4ms);$CFLCR(0ERASE位位);延时延时tnvhl(100s);$0FLCR(0HVEN位、位、MASS位位);延时延时trcv(1s),完成整体擦除操作。,完成整体擦除操作。 (2)整体擦除操作)整体擦除操作驯坚幂乙颅俺隘配浑佑谣郭藕斡有巍珐戌宾厉赦尖纂摘数走劈贞彰洞铱生飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件飞思

20、卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件11.2 GP32 Flash存储器编程方法MC68HC908GP32的的Flash编程操作以行程操作以行(64字字节)为单位位进行的。写入行的。写入过程如下程如下:$1FLCR(1PGM位位);读读Flash块保护寄存器块保护寄存器FLBPR;向将要写入的向将要写入的Flash行内任意一个地址写入任意值,为方便起见,一般向行行内任意一个地址写入任意值,为方便起见,一般向行首地址写入首地址写入0,这一步选定了所要编程的行,以下的目标地址必需在这一行中;,这一步选定了所要编程的行,以下的目标地址必需在这一行中;延时延时tnvs(10s)

21、;$9FLCR(1HVEN位位);延时延时tpgs(5s);待写数据写入对应的待写数据写入对应的Flash地址;地址;延时延时tprog(30s),完成一个字节的写入,完成一个字节的写入(编程编程)工作;工作;重复重复、,直至同一行内各字节写入完毕;,直至同一行内各字节写入完毕;$8FLCR(0PGM位位);延时延时tnvh(5s);$0FLCR(0HVEN位位); 延时延时trcv(1s)以后,完成本行写入工作,可以读出校验。以后,完成本行写入工作,可以读出校验。 (3)编程操作)编程操作尽傍疥誓奎影驼轴洁吁磨玫叮朽纬部猜键癣误稼皆宠蹦劳映羚量抨谓筑杀飞思卡尔8位单片机MC9S8Flash存

22、储器的在线编程ppt课件飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件11.2 GP32 Flash存储器编程方法参数参数符号符号最小值最小值最大值最大值单位单位FlashFlash行大小行大小64646464字节字节FlashFlash页大小页大小128128128128字节字节FlashFlash读写周期读写周期t treadread 32K32K8.4M8.4MHzHzFlashFlash页擦除时间页擦除时间t teraseerase 1 1msmsFlashFlash整体擦除时间整体擦除时间t tmerasemerase 4 4msmsFlashFlash从设置从设置

23、PGMPGM或或ERASEERASE位到位到HVENHVEN建立时间建立时间t tnvsnvs 1010s s FlashFlash高电平维持时间高电平维持时间( (页擦除时页擦除时) )t tnvsnvs 5 5ssFlashFlash高电平维持时间高电平维持时间( (整体擦除时整体擦除时) )t tnvhlnvhl 100100ssFlashFlash写入编程维持时间写入编程维持时间t tpgspgs 5 5nsnsFlashFlash写入编程时间写入编程时间t tprogprog 30304040ssFlashFlash返回只读状态时间返回只读状态时间t trcvrcv 1 1ssFla

24、shFlash累积高电平时间累积高电平时间t thvhv 2525msmsFlashFlash行擦除次数行擦除次数10K10K次数次数FlashFlash行写入次数行写入次数10K10K次数次数FlashFlash数据保持时间数据保持时间1010年年MC68HC908GP32的的Flash编程参数编程参数返回返回哉磁过揖轧酋网灯兹夯捡咏轧楼固跃桩梢赊瞪戎凰队秦擅佳土咬隧路彭彩飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件11.2 GP32 Flash存储器编程方法11.3 GP32单片机单片机Flash在线编程汇

25、编语言实例在线编程汇编语言实例11.3.1 Flash存储器的擦除及写入汇编子程序存储器的擦除及写入汇编子程序(1)擦除子程序擦除子程序(2)写入子程序写入子程序(3)擦除与写入子程序编程要点说明)擦除与写入子程序编程要点说明 RAM中中要要留留有有足足够够的的缓缓冲冲区区,以以便便存存放放复复制制到到RAM中中的的子子程程序,具体值是取擦除与写入子程序中的大者即可。序,具体值是取擦除与写入子程序中的大者即可。 擦擦除除及及写写入入子子程程序序中中要要调调用用的的延延时时子子程程序序均均随随其其后后,以以便便同同时时复制到复制到RAMRAM中,最后一个标号是为复制方便而加入中,最后一个标号是为

26、复制方便而加入. . 擦除及写入子程序中对延时子程序的调用必需使用擦除及写入子程序中对延时子程序的调用必需使用“BSR子程子程序名序名”,而不能使用,而不能使用 “ “JSR 子程序名子程序名”,因为这里的子程序是复制到,因为这里的子程序是复制到RAM中执行,程序地址已经发生了变化,只能用相对调用。中执行,程序地址已经发生了变化,只能用相对调用。 荔线袭豁丁耘骚越篇注旺瞪舱傻姐崖择靳脐鞍奇牧晶券抛彩涡刑吐堑魔盟飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件11.3 GP32 Flash在线编程汇编语言实例 擦擦除

27、除子子程程序序与与写写入入子子程程序序及及其其中中的的延延时时子子程程序序,若若含含有有跳跳转转语语句句,不能使用,不能使用“JMP地址地址”,只能使用,只能使用“BRA 地址地址”。原因同上。原因同上。 使使用用不不同同型型号号芯芯片片时时,上上述述子子程程序序中中延延时时时时间间应应根根据据芯芯片片手手册册予予以以变变动动。延延时时子子程程序序也也应应根根据据不不同同的的总总线线频频率率加加以以变变化化,确确保保时时间间满满足足时序要求。时序要求。 一一次次擦擦除除后后未未被被写写入入过过的的区区域域可可以以再再次次调调用用写写入入子子程程序序写写入入,但但写入过的区域,未经擦除不能重写。

28、写入过的区域,未经擦除不能重写。 由由于于擦擦除除是是每每次次擦擦除除一一页页(128(128字字节节) ),所所以以数数据据应应合合理理安安排排,避避免误擦。免误擦。 页页首首地地址址的的定定义义须须遵遵照照保保护护寄寄存存器器FLBPRFLBPR定定义义的的规规则则,即即对对GP32来说,页地址的低来说,页地址的低6 6位为位为0 0。 在线编程时使在线编程时使用的用的Flash存存储区域应在程序储区域应在程序FlashFlash存储区域之前,存储区域之前,因为因为Flash保护区为保护区为FLBPR决定的地址至末尾。决定的地址至末尾。 澈宰假卫硷随粕的礼矿登禽恢绎扶与酿觉散互赛铬尸酶施燕

29、啦歼撕绘西杜飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件11.3 GP32 Flash在线编程汇编语言实例 (1)单片机方程序流程图)单片机方程序流程图 单片机方程序的主要功能是单片机方程序的主要功能是: : 不不断断地地向向PC机机发发出出握握手手信信号号,并并监监测测PC机机返返回回的的握握手手信信号号。可可以看到串行通信指示灯闪烁,表明以看到串行通信指示灯闪烁,表明MCU在向在向PC机发送握手信号。机发送握手信号。 若若收收到到握握手手信信号号,表表明明PC机机可可以以发发送送数数据据,设设要要写写入入数

30、数据据的的个个数数为为N,则则单单片片机机首首先先将将接接收收数数据据个个数数N放放入入内内存存(接接收收的的数数据据在在一一行行之之内,内,N小于等于小于等于64),随后接收,随后接收N个数据,放入内存缓冲区。个数据,放入内存缓冲区。 擦除指定擦除指定Flash区域,将收到的区域,将收到的N个数据写入个数据写入Flash区。区。 读出该读出该Flash区的数据,并发送到区的数据,并发送到PC机。机。 11.3.2 Flash存储器在线编程汇编主程序及存储器在线编程汇编主程序及PC方程序方程序对藐厅完踌痢陵病瘴绥势扰濒反缝氏骇缝丘琳押菌察秉回唬垮需诈惋嫌群飞思卡尔8位单片机MC9S8Flash

31、存储器的在线编程ppt课件飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件11.3 GP32 Flash在线编程汇编语言实例单单片片机机方方程程序序流流程程图图进行通信握手,发握手信号进行通信握手,发握手信号接收接收N(=64)内存内存接收接收N个数据放入内存缓冲区个数据放入内存缓冲区给擦除子程序给擦除子程序EraseSub的入口赋值的入口赋值,调用调用EraseSub,擦除擦除Flash区区$8000开始的一页开始的一页给给 写写 入入 子子 程程 序序 WriteSub的的 入入 口口 赋赋 值值 ,调调 用用WriteSub,将将N个数据写入个数据写入$8000开始的开始

32、的Flash区区从从地地址址$8000开开始始的的Flash区区读读取取N个个数数据据,同同时时从从串行口发送出去串行口发送出去NYHX赋初值赋初值$00HX+1=设定数设定数?A中是约定的握手信号吗中是约定的握手信号吗?串行口有串行口有数据吗数据吗?接收一个数据接收一个数据ANNY YY主循环开始处主循环开始处躯衡促效掷隙狰食沥权反戏抡钳痹页篆佳麦焦阴登碘萧晚介闷呐罚乖斑比飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件11.3 GP32 Flash在线编程汇编语言实例(3)PC机方程序机方程序及界面及界面(2)

33、单片机方主程序单片机方主程序返回返回阵逛卜闻坡喊丰庄操定车靠陪嘎陶烩蓄株娱飞绞处原隆画石通间闽仿逼省飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件11.3 GP32 Flash在线编程汇编语言实例11.4 GP32单片机单片机Flash在线编程在线编程C语言实例语言实例v Flash存储器的擦除及写入存储器的擦除及写入C语言子程序语言子程序v Flash存储器在线编程存储器在线编程C语言主函数语言主函数返回返回碟温呛廓爆耘陛礁业肇跑囱荷椅促渭施蝎编竣恫赘腥探挝子娶脱逊朝砾兹飞思卡尔8位单片机MC9S8Flash存

34、储器的在线编程ppt课件飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件11.4 GP32 Flash在线编程C语言实例11.5 HCS08系列单片机系列单片机Flash编程方法编程方法11.5.1 Flash存储器的编程寄存器存储器的编程寄存器 在在MC9S08GB60单片机中,与单片机中,与Flash编程有关的寄存器有编程有关的寄存器有6个,它个,它们是们是Flash时钟分频寄存器(时钟分频寄存器(FCDIV)、)、Flash选项寄存器(选项寄存器(FOPT和和NVOPT)、)、Flash配置寄存器(配置寄存器(FCNFG)、)、Flash保护寄存器保护寄存器(FPROT和

35、和NVPROT)、)、Flash状态寄存器(状态寄存器(FSTAT)和)和Flash命令寄命令寄存器(存器(FCMD),对应的地址分别为),对应的地址分别为$1820、$1821、$1823、$1824、$1825和和$1826。下面分别阐述这些寄存器的功能及用法。下面分别阐述这些寄存器的功能及用法。聚铁讯副痒懒绅甜淘疼却宿郊红堑嵌吩圆惕掠混题乔誉鸥榴嘎挟咋仍制芹飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件11.5 HC08系列单片机 Flash编程方法(1)Flash时钟分频寄存器(时钟分频寄存器(FLash

36、 Clock Divider Register FLCR)数据位数据位 D7D6D5D4D3D2D1D0定义定义DIVLDPRDIV8DIV5DIV4DIV3DIV2DIV1DIV0复位复位 00000000D7DIVLD位:分频设置状态标志位位:分频设置状态标志位(DivisorLoadedStatusFlag),只读位。,只读位。D6PRDIV8位:位:Flash预分频设置位预分频设置位(PrescaleFlashClockby8)。D5D0位:位:DIV5DIV0位,位,Flash时钟分频器的分频因子。时钟分频器的分频因子。Flash的内部工作时钟的内部工作时钟fFCLK的计算方法如下:

37、的计算方法如下:如果如果PRDIV8=0,fFCLK=fbus(DIV5:DIV0+1)如果如果PRDIV8=1,fFCLK=fbus(8DIV5:DIV0+1) FLCR的地址:的地址:$1820,定义为:,定义为:疾氮昭碟巢巾摸缠篮焕湘帮丸狠钓囚釜科宏并次危啊戍邹滇垂炎毒颈盒斜飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件11.5 HC08系列单片机 Flash编程方法(2)Flash选项寄存器(选项寄存器(Flash Options Register FOPT和和NVOPT)数据位数据位 D7D6D5D4D

38、3D2D1D0定义定义KEYENFNORED-SEC01SEC00复位复位 将将NVOPT中的内容装载到该寄存器中中的内容装载到该寄存器中D7KEYEN位位:后后门门锁锁机机构构允允许许位位(Backdoor Key MechanismEnable)。KEYEN=0,表表示示不不能能用用后后门门锁锁机机构构来来解解除除存存储储器器的的保保密密性性;KEYEN=1,如如果果用用户户使使用用固固件件,写写入入8个个字字节节的的值值,并并且且和和后后门门钥钥匙匙NVBACKKEYNVBACKKEY+7相相匹匹配配,在在MCU复复位位前前,存存储储器器的的保保密密性会暂时解除。性会暂时解除。D6FNO

39、RED位位:矢矢量量重重定定向向禁禁止止位位(VectorRedirectionDisable)。FNORED=1,矢量重定向禁止;反之允许。,矢量重定向禁止;反之允许。D5D2位:未定义。位:未定义。D1D0位位SEC01SEC00位:安全状态码。位:安全状态码。 FOPT的地址:的地址:$1821,定义为:,定义为: 沧灸统患厘洼淳狼钩藏迎真亩稽秋砾潍卓烯哗夷廷洁缺藐达绩带哨蚁越套飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件11.5 HC08系列单片机 Flash编程方法(3)Flash配置寄存器(配置寄存

40、器(Flash Configure Register FCNFG)数据位数据位 D7D6D5D4D3D2D1D0定义定义KEYACC复位复位 0 0 0 0 0 0 0 0D7D6位、位、D4D0位:未定位:未定义。D5KEYACC位:写位:写访问钥匙允匙允许位位(EnableWritingofAccessKey)。KEYACC=1,表示写表示写BVBACKKEY($FFB0-$FFB7)被被认为是是进行密行密码比比较;KEYACC=0,表示写表示写BVBACKKEY($FFB0-$FFB7)被解被解释为Flash擦写命令的开始。擦写命令的开始。 FOPT的地址:的地址:$1823,定义为:,

41、定义为: 届摇绩犬札脱励里全庙讨柔拽贪戈氛石擞匈胰洱粤矩赔袱异恤诣繁案舅援飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件11.5 HC08系列单片机 Flash编程方法(4)Flash保护寄存器(保护寄存器(Flash Protect Register FPORT和和NVPROT)数据位数据位 D7D6D5D4D3D2D1D0定义定义FPOPENFPDISFPS2FPS1FPS0复位复位 将将NVOPT中的内容装载到该寄存器中中的内容装载到该寄存器中D7FPOPEN位:打开位:打开Flash中的非保中的非保护区域

42、位区域位(OpenUnprotectedFlashforProgram/Ease),打开的,打开的这些区域可以些区域可以进行擦写。行擦写。FPOPEN=1,Flash中非保中非保护区域可以区域可以进行擦写操作;行擦写操作;FPOPEN=0,整,整个个Flash区域都不可区域都不可进行擦写操作。行擦写操作。D6FPDIS位:位:Flash保保护设置位置位(FlashProtectionDisable)。FPDIS=1,Flash不不进行保行保护;FPDIS=0,Flash保保护FPS2:FPS0所所设置置的区域。的区域。D5D3FPS2FPS0位:位:Flash保保护区域区域设置。置。FPDIS

43、=0时,这3位决定了保位决定了保护区域的大小。区域的大小。D2D0位:未定位:未定义。 FPROT的地址:的地址:$1824,定义为:,定义为:媳逊跪雹功叔驶狡泞植耘完击聚勤层茶疟突亮榜畦巩歹奄搪缅骨力挚钠垒飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件11.5 HC08系列单片机 Flash编程方法(5)Flash状态寄存器(状态寄存器(Flash Status Register FSTAT) 数据位数据位 D7D6D5D4D3D2D1D0定义定义FCBEFFCCFFPVIOLFACCERFBLANK复位复位

44、1 1 0 0 0 0 0 0D7FCBEF位:位:Flash命令命令缓冲区空冲区空标志位志位(FlashCommandBufferEmptyFlag)。D6FCCF位:位:Flash命令完成命令完成标志位志位(FlashCommandCompleteFlag)。D5FPVIO位:侵害保位:侵害保护标志位志位(ProtectionViolationFlag)。D4FACCER位:位:访问出出错标志位志位(AccessErrorFlag)。D2FBLANK位:位:Flash空白空白标志位志位(FlashVerifiedAllBlankFlag)。D3,D1D0位:未定位:未定义。 FSTAT的地

45、址:的地址:$1825,定义为:,定义为:苞术童使期伐妖飘兴晓糟咐漠歪浆掩瘤魏么夺质萧瞥撬捻摩壬徒尉矩利帐飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件11.5 HC08系列单片机 Flash编程方法(6)Flash命令寄存器(命令寄存器(Flash Command Register FCMD)数据位数据位 D7D6D5D4D3D2D1D0定义定义FCMD7FCMD6FCMD5FCMD4FCMD3FCMD2FCMD1FCMD0复位复位 0 0 0 0 0 0 0 0D7D0位:对位:对Flash进行访问的命令字节

46、。进行访问的命令字节。Flash访问命令表访问命令表命令命令命令字节命令字节空白检测空白检测$05写一个字节写一个字节$20写一个字节(批量模式)写一个字节(批量模式)$25页擦除页擦除$40整体擦除整体擦除$41FCMD的地址:的地址:$1826,定义为:,定义为:现洒够寿华碧跃侠萍费汝注端谋炎糊牧待沁傅饿窝炕渴钮爆先瑶琴完瓮吴飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件11.5 HC08系列单片机 Flash编程方法(1)Flash命令的执行步骤命令的执行步骤 向向Flash地址中写入一个数据地址中写入一个

47、数据。地址和数据信息都会被锁定到。地址和数据信息都会被锁定到Flash接接口中。对于空白检测和擦除命令,数据信息是一个任意值;对于页擦除命令,口中。对于空白检测和擦除命令,数据信息是一个任意值;对于页擦除命令,地址信息是擦除页地址信息是擦除页(512字节字节)地址中的任意一个地址;对于空白检测和整体擦地址中的任意一个地址;对于空白检测和整体擦除命令,地址信息是除命令,地址信息是Flash中的任意一个地址。中的任意一个地址。 向向Flash命令寄存器命令寄存器FCMD中写入需要执行的命令中写入需要执行的命令。 执行命令执行命令。将。将Flash状态寄存器状态寄存器FSTAT的的FCBEF位置位置

48、1,同时开始执行,同时开始执行命令寄存器中的命令。命令寄存器中的命令。 11.5.2 Flash存储器的编程过程存储器的编程过程忍饶冗受腹辜铸绣淳商昔嘻弘国荔唾素勒阑祭靶埋霸炔幂锄伊冷溯搭铃咐飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件11.5 HC08系列单片机 Flash编程方法GB60Flash编编程程例例程程图图0开始开始FACCERR?清错误标志清错误标志0设置设置FCDIV1向向FLASH地址中写入数地址中写入数据据向向FCMD中写入命令字中写入命令字FCBEF位置位置1,开始执,开始执行命令行命令

49、FPVIO或或FACCEER?出错出错退出退出FCCF?101结束结束(2)Flash命令的执行流程命令的执行流程薛种胳王滁解巴婶波呻漂辅墨例陨箩掸死巾瑰画表抄转竹锑妖掂羊博黎宗飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件11.5 HC08系列单片机 Flash编程方法1开始开始FACCERR?清错误标志清错误标志0设置设置FCDIV10向向FLASH地址中写入地址中写入数据数据向向FCMD中写入命令中写入命令字字FCBEF位置位置1,开始,开始执行命令执行命令2FPVIO或或FACCEER?出错出错退出退出F

50、CCF?101结束结束FCCF?10新的批量写入新的批量写入指令吗?指令吗?0GB60 Flash批量写入流程图批量写入流程图伦轨犬驼肆负裁撮毋蓝藩特腮缴伸撼愉衷漫毁搽钞贩柬蕴霞红嘎愚粪锌泽飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件11.5 HC08系列单片机 Flash编程方法在执行以下操作时,会导致出错,在执行以下操作时,会导致出错,FACCERR自动置自动置1 1: 在向在向Flash地址写入信息前没有进行地址写入信息前没有进行FCDIV寄存器设置;寄存器设置;在向在向Flash地址写入信息前地址写入信

51、息前FCBEF没有置没有置1;在执行命令前,执行两次向在执行命令前,执行两次向Flash地址写入信息操作;地址写入信息操作;在向在向Flash地址写入信息后,设置除地址写入信息后,设置除FCMD外的其他外的其他Flash控制寄控制寄存器;存器;向向FCMD中写入表中写入表11-6以外的命令字;以外的命令字;向向FCMD中写入命令字后,试图读写除中写入命令字后,试图读写除FSTAT外的寄存器;外的寄存器;在执行命令时,在执行命令时,MCU进入进入STOP模式;模式;MCU处于保密处于保密状态时,使用背景调试接口进状态时,使用背景调试接口进行页擦除或写行页擦除或写Flash操作操作(MCU处于保密

52、状态时,使用背景调试接口只能进行空白测试或整体处于保密状态时,使用背景调试接口只能进行空白测试或整体擦除擦除);向向FCBEF位写位写0取消一个命令的执行。取消一个命令的执行。 (3)Flash命令出错情况命令出错情况能饶乒碱捉凉丽浙筏妈须涂枫诣缎蛹划脚辗榷几衷援浑糖善核佩蛹否乐饰飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件11.5 HC08系列单片机 Flash编程方法HCS08系列系列MCU使用硬件电路机制来防止非法用户试图访问使用硬件电路机制来防止非法用户试图访问Flash和和RAM存储器的数据。当设置保

53、密性后,存储器的数据。当设置保密性后,Flash和和RAM都被看作保密资都被看作保密资源,直接页寄存器、高端页寄存器、背景调试模块被认为是非保密资源。源,直接页寄存器、高端页寄存器、背景调试模块被认为是非保密资源。执行过程中,可以访问任何位置的内存数据,但通过背景调试接口或不执行过程中,可以访问任何位置的内存数据,但通过背景调试接口或不安全的方式来访问保密资源是不允许的。安全的方式来访问保密资源是不允许的。保密性设置依赖于保密性设置依赖于FOPTFOPT中非易失性的数据位中非易失性的数据位SEC01SEC01:SEC00SEC00来实现。来实现。 11.5.3 Flash存储器的安全性存储器的

54、安全性返回返回倪迄霞聘痒萌雌澳醇哀涕询浴锰萎家镀磺痞监煌痒缅撬亦肢亡真星瓣歇免飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件11.5 HC08系列单片机 Flash编程方法本章主要以本章主要以HC08系列中的系列中的GP32为例阐述为例阐述Flash存储器的在线编存储器的在线编程方法,也简要阐述了程方法,也简要阐述了HCS08系列中系列中GB60的在线编程方法。本章首的在线编程方法。本章首先概述了先概述了Flash存储器的基本特点,并介绍其编程模式,随后给出存储器的基本特点,并介绍其编程模式,随后给出M68HC908GP32的的Flash存储器编程的基本操作及汇编语言和存储器编程的基本操作及汇编语言和C语言语言的在线编程实例。最后讨论的在线编程实例。最后讨论MC9S08GB60的的Flash存储器编程方法。存储器编程方法。本章小结本章小结返回返回酷致侧移音窗劈休屉熙夹惯掖娶靖赐芯世坝瘸互论刑堪剑构傀紧良尿拆辟飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件飞思卡尔8位单片机MC9S8Flash存储器的在线编程ppt课件

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

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