华大电子MCU CIU32L061x8存储器(Flash)一_第1页
华大电子MCU CIU32L061x8存储器(Flash)一_第2页
华大电子MCU CIU32L061x8存储器(Flash)一_第3页
华大电子MCU CIU32L061x8存储器(Flash)一_第4页
华大电子MCU CIU32L061x8存储器(Flash)一_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华大电子MCUCIU32L061x8存储器(Flash)一5、Flash存储器(Flash)5.1简介Flash存储器连接在AHB总线上,由Flash控制器统一管理,可对存储器执行取指、读取、编程和擦除操作,并具有安全访问机制和读写保护等功能。Flash主要特性高达128KB的用户存储空间一块大小:16KB一页大小:512字节32-bits位宽读取/写入支持页擦除、块擦除、批量擦除可配置3种读出保护等级(RDP)2块可配置的代码读出保护区域(PCROP)2块可配置的写入保护区域(WRP)可配置大小的用户安全存储区域Flash功能描述Flash存储器组成Flash存储器按32-bits位宽执行读写访问,可存储指令和数据。Flash存储器的组成如下:Userflash区:用于存储用户程序和数据,存储空间为128KB,分成8个块(Block),每个块包含32个页(Page),每页512字节;Systemmemory区:用于存储Bootloader和算法APL存储空间为14KB;Optionbytes区:用于存储外设和存储器保护配置的选项字节;Engineer区:用于存储UID、TS/BGR校准值;OTP区:一次性可编程区域,共512字节。表S・lFhsh存慵器组成区域地址空间大小(字节)说明Userflash0x08000000-0x080001FF512Paee0Block0♦••♦••0x080031:00-0x08003FFF512Page310x08004000—0x080041FF512Page12Block1♦••••♦♦・♦0x08007E00-0x08007FFI512P<kge630x08008000-0x080081FF512Page64Block2♦・♦♦・♦・•♦0x0800BEOO-0x0800BFFF512Page950x0800C000-0x0800C1FF512Page96Block3♦••♦・♦♦••0x0800FEOO-0x0800FFFF5121270x08010000-0x080101FF512Pagr128Block4♦・♦♦•••・♦0x08013E00-0x08013FFI512Pilix1590x08014000-0x1)8014IFF512Page160Block5♦•・♦•・♦・♦0x08017EOO-(M)8017FFF512Page1910x08018000-0x08018IFF512P畔192Block6♦・♦♦・♦♦••0x0801BEOO-0x0801BFFF512Page2230x0801C000-0x0801ClFF512Page224Block7♦••♦••••♦512Page255SystemmemoryOxlFFDOOOO-0xlFFD37FF14K心..\P【存储<Optionbytes1 1(KlM64选项字节存储区Er^meer0x1FFF(B40-0x1FFF(BFF192UD、TS/BGR校准值存储<OTPOx1FFF0400-0x1FFFOSH512一次性可娘程区Flash读取访问等待周期Flash存储器连接在AHB总线上,读取Flash时使用HCLK时钟。当HCLK的时钟频率超出Flash存储器的工作频率时,就会造成数据读取错误,此时需要插入等待周期。Flash访问控制寄存器(FLASH_ACR)中的LATENCY[1:0]位域,用于配置Flash读取访问的等待周期,HCLK时钟频率与Flash读取访问等待周期的对应关系见下表。表5-2HCLK时钟频率与Flash读取访问等待周期的对应关系疹率范国等待周期LA1INC\|1:O|配JtHCLK224MHz0HCLKLATENCY(IO]=0xHCLK>24MHz1HCLKLATENCY(1:0]=10为保证Flash读取访问不出现异常或错误,当要改变HCLK的时钟频率时,必须按照特定步骤进行配置。•提高HCLK频率的配置步骤:1)通过配置FLASH_ACR寄存器中的LATENCY[1:0]位域,增大Flash读取访问的等待周期;2)读取LATENCY[1:O]位域,检查等待周期已配置成功;3)提高HCLK频率,可通过配置RCC时钟配置寄存器(RCC_CFG)中的SYSW[2:0]位域,切换更高频率的时钟源,或通过配置HPRE[2:0]位域,减小系统时钟的分频值;4)配置SYSW[2:0]位域后,必须对RCC_CFG寄存器中的SYSWS[2:0]位域进行检查,确认系统时钟已切换完成。•降低HCLK频率的配置步骤:1)降低HCLK频率,可通过配置RCC时钟配置寄存器(RCC_CFG)中的SYSW[2:0]位域,切换更低频率的时钟源,或通过配置HPRE[2:0]位域,增大系统时钟的分频值;2)配置SYSW[2:0]位域后,必须对RCC_CFG寄存器中的SYSWS[2:0]位域进行检查,确认系统时钟已切换完成;通过FLASH_ACR寄存器中的LATENCY[1:0]位域,减小Flash读取访问的等待周期;4)读取LATENCY[1:O]位域,检查等待周期已配置成功。5.3.3Flash解锁为防止Flash被意外修改,增加了保护措施,必须向特定寄存器写入密钥,才能解锁相关功能的配置权限。Flash控制寄存器解锁复位后,Flash控制寄存器(FLASH_CR)将处于写保护锁定状态。要配置FLASH_CR寄存器,需首先进行解锁操作。FLASH_CR寄存器的解锁操作,必须严格按照以下步骤顺序执行:)向FLASH_CRKEY寄存器写入密钥1:0xE57A1A85;2)向FLASH_CRKEY寄存器写入密钥2:0x7C6E8391;3)检查FLASH_CR寄存器中的LOCK位,当该位清0时,表明FLASH.CR寄存器已解锁。解锁完成后,才能对FLASH_CR寄存器进行配置。注意:FLASH_CR寄存器中与选项字节相关的控制位(OBL_LAUNCH和OPTSTRT),必须在Flash选项字节解锁后才能进行配置。密钥必须严格按照顺序写入,如果出现以下情况,将产生总线错误同时触发HardFault中断,直到再次复位后,才能重新对FLASH.CR寄存器进行解锁:向FLASH_CRKEY寄存器写入错误的密钥值;解锁顺序错误,先向FLASH_CRKEY寄存器写入密钥2:0x7C6E8391;解锁后继续向FLASH_CRKEY寄存器写入任意值(包括密钥)。将FLASH_CR寄存器中的LOCK位重新置1,能恢复FLASH_CR寄存器的写保护赖定状态。通过复位,也能使FLASH_CR寄存器恢复注写保护锁定状态。注意:当FLASH_SR寄存器中的BSY位为1时,对FLASH_CR寄存器的写入将无效,FLASH_SR寄存器中的PESERR标志将置1,Flash当前操作将继续正常执行。Flash选项字节解锁复位后,Flash选项字节处于写保护锁定状态,所有的选项字节加载寄存器、FLASH_CR寄存器中的OBL_LAUNCH位和OPTSTRT位,都会被写保护。要对选血字节进行更新,就先毒进行解锁操作。Flash选项字节的解锁操作,必须严格按照以下步骤顺序执行:1)先解锁Flash控制寄存器FLASH_CR(详见:Flash控制寄存器解的;向FLASH_OPTKEY寄存器写入密钥1:0x6A894D7B;向FLASH.OPTKEY寄存器写入密钥2:0x7C311F5A;4)检查FLASH_CR寄存器中的OPTLOCK位,当该位清0时,表明Flash选项字节已M锁。解锁完成后,才能对选项字节加载寄存器及其控制位(OBL_LAUNCH和OPTSTRT)进行酉己置。密钥必须严格按照顺序写入,如果出现以下情况,将产生总线错误同时触发HardFault中断,直到再次复位后,才能重新对Flash选项字节进行解锁:向FLASHJDPTKEY寄存器写入错误的密钥值;解锁顺序错误,先向FLASH.OPTKEY寄存器写入密钥2:0x7C311F5A;解锁后继续向FLASH_OPTKEY寄存器写入任意值(包括密钥);在对FLASH_CR寄存器解锁前,向FLASH_OPTKEY寄存器写入任意值(包括密钥)。将FLASH_CR寄存器中的OPTLOCK位重新置1,能恢复Flash选项字节的写保护锁定状态。通过复位,也能使Flash选项字节恢复成写保护锁定状态。当FLASH_CR寄存器恢复成写保护锁定状态时(LOCK位置1),Flash选项字节也会被恢复成写保护锁定状态,OPTLOCK位将自动置lo53.3.3Flash掉电控制位解锁复位后,Flash访问控制寄存器(FLASH_ACR)中的PDEN位将处于写保护锁定状态,该位用于控制Flash的掉电。要配置PDEN位,就要先进行解锁操作。PDEN位的解锁操作,必须严格按照以下步骤顺序执行:1)先解锁FLASH控制寄存器FLASH.CR(详见:Flash控制寄存器解锁);向FLASH_PDKEY寄存器写入密钥1:Ox57D93AB6;向FLASH_PDKEY寄存器写入密钥2:0x9A2D827C;4)检查FLASH.CR寄存器中的PDLOCK位,当该位清0时、表明PDEN位已解锁。解锁完成后,可对PDEN位进行配置。密钥必须严格按照顺序写入,如果出现以下情况,将产生总线错误同时触发HardFault中断,直到再次复位后,才能重新对PDEN位进行解锁操作:向FLASH.PDKEY寄存器写入错误的密钥值;解锁顺序错误,先向FLASH.PDKEY寄存器写入密钥2:0x9A2D827C;解锁后继续向FLASH_PDKEY寄存器写入任意值(包括密钥);在对FLASH.CR寄存器解锁前,向FLASH_PDKEY寄存器写入任意值(包括密钥)。将FLASH_CR寄存器中的PDLOCK位重新置1,能恢复PDEN位的写保护锁定状态。另外通过复位,也能使PDEN位恢复成写保护锁定状态。当FLASH_CR寄存器恢复成写保护锁定状态时(LOCK位置1),PDEN位也会被恢复成写保护锁定状态,PDLOCK位将自动置1。5.3.4Flash功耗管理为进一步降低系统功耗,当程序仅在SRAM中运行时,通过将Flash访问控制寄存器(FLASH_ACR)中的PDEN位置1,能使Flash进入PowerDown状态。在配置PDEN位前,要先进行解锁操作

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论