S0814Freescale HCS08单片机FLASH编程应用 (2)培训教材.ppt

S0814Freescale HCS08单片机FLASH编程应用 (2)培训教材.ppt

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Freescale 单片机原理及应用 ;Slide *;S08系列单片机内部的的擦除和写入工作不需要外部 特殊高电压,支持两种编程功能: ——在电路编程(ICP,In-circuit programming) ——在应用编程(IAP,In-application programming) 对FLASH的擦除操作都是以页(512B)为单位的,而写入 操作则以字节为单位,且支持标准和突发两种模式。擦除操 作是将存储单元的0变成1,而写入操作恰好相反,是将存储 单元的1变成0。 ;块保护: FLASH 块保护功能使得FLASH 可以按页(512字节)被保护,被保护的页不会被误擦除或者误编程。 通过寄存器FPROT控制 复位期间,地址为$FFBD的非易失性保护寄存器NVPROT中的内容被自动复制到FLASH保护寄存器FPROT中;块保护: 当允许块保护时,块保护区域从任意一个512字节边界到FLASH的最末地址处$FFFF。 FPS位用来设定未保护区域最末地址的高位地址,此最末地址值由FPS7:FPS1后接9位1构成 把NVPROT设置为保护FLASH的$F000~$FFFF区域的汇编代码如下: ORG $FFBD ; NVPROT寄存器地址 DC.B $EE ; FLASH的$F000~$FFFF空间设为保护区域 ;加密: S08系列MCU内部含有加密电路,用于防止对Flash和RAM存储空间未经授权的非法访问。 在保密的存储器内执行的程序能够正常访问任何MCU存储器空间和资源。通过非加密存储空间或背景调试接口执行的程序去访问加密存储空间,都会被阻止(写操作被忽略,读操作返回全0)。 通过寄存器FOPT控制 复位期间,地址为$FFBF的非易失性保护寄存器NVOPT中的内容被自动复制到FLASH选项寄存器FOPT中;加密: 通过寄存器FOPT控制 复位期间,地址为$FFBF的非易失性保护寄存器NVOPT中的内容被自动复制到FLASH选项寄存器FOPT中;向量重定位: 通过寄存器FOPT控制 可以通过编程FOPT寄存器中的FNORED位为0来允许向量重定位功能;FLASH的擦写 擦除和写入时间 在对FLASH进行任何擦除或编程之前,必须写FLASH时钟分频寄存器FCDIV,使得FLASH模块的内部时钟FCLK的频率(fFCLK)范围落在200KHz~150KHz范围。 fFCLK = fBUS ÷ (8PRDIV8×(DIV[5:0] + 1)) ;FLASH的擦写 擦除和写入时间 在对FLASH进行任何擦除或编程之前,必须写FLASH时钟分频寄存器FCDIV,使得FLASH模块的内部时钟FCLK的频率(fFCLK)范围落在200KHz~150KHz范围。 fFCLK = fBUS ÷ (8PRDIV8×(DIV[5:0] + 1)) ;FLASH的擦写 擦除和编程命令 FLASH 存储器的编程和擦除操作都由内建的算法逻辑完成,用户程序只要向FLASH命令寄存器写入相应的命令即可调用这些算法逻辑。 和FLASH擦除、写入相关的寄存器有FLASH配置寄存器FCNFG、FLASH命令寄存器FCMD和FLASH状态寄存器FSTAT。;FLASH的擦写 擦除和编程命令 在普通用户模式下,仅有5种FLASH命令。这5种命令通过设定FLASH命令寄存器FCMD来产生。;FLASH的擦写 擦除和编程命令 5种FLASH命令的产生还需要结合FLASH模块当前的工作状态来产生。;FLASH的擦写 擦除和编程命令 5种FLASH命令的产生还需要结合FLASH模块当前的工作状态来产生。;FLASH的擦写 流程 ;FLASH的擦写 流程 ;若MC9S08AW60的总线时钟为4 MHz。写出对Flash模块时钟FCLK进行初始化的子程序。 分析: Flash时钟频率必须落在200~150?kHz。根据表14-5可知,总线频率为4 MHz时,PRDIV8=0,DIV[5:0]=19=010011B,能够满足FCLK时钟要求。另外,FCDIV寄存器属于在MCU复位后只能写一次的寄存器。 ;MC9S08AW60通过SCI从PC的COM口接收4Byte数据并存储到内部RAM空间,一旦4Byte数据接收完毕就把它们存入起始地址为$6000的FLASH空间保存。 参考代码: ;MC9S08AW60通过SCI从PC的COM口接收4Byte数据并存储到内部RAM空间,一旦4Byte数据接收完毕就把它们存入起始地址为$6000的FLASH空间保存。 参考代码: ;MC9S08AW60通过SCI从PC的COM口接收4Byte数据并存储到内部RAM空间,一旦4Byte数据接收完毕就把它们存入起始地址为$6000的F

文档评论(0)

youngyu0329 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档