0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

华大电子MCU CIU32L061x8存储器(Flash)一

沈阳芯硕科技 来源:jetson024 作者:jetson024 2023-02-13 09:23 次阅读

5、Flash存储器(Flash)

5.1简介

Flash存储器连接在AHB总线上,由Flash控制器统一管理,可对存储器执行取指、读取、编程和擦除操作,并具有安全访问机制和读写保护等功能。

沈阳芯硕科技有限公司是华大电子代理商,有技术问题可咨询我们。

5.2Flash主要特性

l高达128 KB的用户存储空间

-块大小:16 KB

-页大小:512字节

l32-bits位宽读取/写入

l支持页擦除、块擦除、批量擦除

l可配置3种读出保护等级(RDP)

l2块可配置的代码读出保护区域(PCROP)

l2块可配置的写入保护区域(WRP)

l可配置大小的用户安全存储区域

5.3Flash功能描述

5.3.1Flash存储器组成

Flash存储器按32-bits位宽执行读写访问,可存储指令和数据。

Flash存储器的组成如下:

lUser flash区:用于存储用户程序和数据,存储空间为 128KB,分成8个

块(Block),每个块包含32个页(Page),每页512字节;

lSystem memory区:用于存储 Bootloader和算法API,存储空间为14KB;

lOption bytes区:用于存储外设和存储器保护配置的选项字节;

lEngineer区:用于存储UID、TS/BGR校准值;

lOTP区:一次性可编程区域,共512字节。

poYBAGPpjvaAGcXoAAEPdk1vxdQ542.png

5.3.2Flash读取访问等待周期

Flash存储器连接在AHB总线上,读取Flash时使用HCLK时钟。当HCLK的 时钟频率超出Flash存储器的工作频率时,就会造成数据读取错误,此时需要插入等待周期。 Flash访问控制寄存器(FLASH_ACR)中的LATENCY[1:0]位域,用于配置Flash读取访问的等待周期,HCLK时钟频率与Flash读取访问等待周期的对应关系见 下表。

pYYBAGPpjvaAfbE-AABPtPXX6Mw653.png

为保证Flash读取访问不出现异常或错误,当要改变HCLK的时钟频率时,必须按照特定步骤进行配置。

l提高HCLK频率的配置步骤:

1) 通过配置FLASH_ACR寄存器中的LATENCY[1:0]位域,增大Flash

读取访问的等待周期;

2) 读取LATENCY[1:0]位域,检查等待周期已配置成功;

3) 提高HCLK频率,可通过配置RCC时钟配置寄存器(RCC_CFG)

中的SYSW[2:0]位域,切换更高频率的时钟源,或通过配置HPRE[2:0]

位域,减小系统时钟的分频值;

4) 配置SYSW[2:0]位域后,必须对RCC_CFG寄存器中的SYSWS[2:0]

位域进行检查,确认系统时钟已切换完成。

l降低HCLK频率的配置步骤:

1) 降低HCLK频率,可通过配置RCC时钟配置寄存器(RCC_CFG)

中的SYSW[2:0]位域,切换更低频率的时钟源,或通过配置HPRE[2:0]

位域,增大系统时钟的分频值;

2) 配置SYSW[2:0]位域后,必须对RCC_CFG寄存器中的SYSWS[2:0]

位域进行检查,确认系统时钟已切换完成;

3) 通过FLASH_ACR寄存器中的LATENCY[1:0]位域,减小Flash读取

访问的等待周期;

4) 读取LATENCY[1:0]位域,检查等待周期已配置成功。

5.3.3Flash解锁

为防止Flash被意外修改,增加了保护措施,必须向特定寄存器写入密钥,才能解锁相关功能的配置权限。

5.3.3.1Flash控制寄存器解锁

复位后,Flash控制寄存器(FLASH_CR)将处于写保护锁定状态。要配置

FLASH_CR寄存器,需首先进行解锁操作。

FLASH_CR寄存器的解锁操作,必须严格按照以下步骤顺序执行:

1) 向FLASH_CRKEY寄存器写入密钥 1:0xE57A 1A85;

2) 向FLASH_CRKEY寄存器写入密钥 2:0x7C6E 8391;

3) 检查FLASH_CR寄存器中的LOCK位,当该位清0时,表明FLASH_CR寄存器已解锁。解锁完成后,才能对FLASH_CR寄存器进行配置。

注意:FLASH_CR寄存器中与选项字节相关的控制位(OBL_LAUNCH和OPTSTRT), 必须在 Flash选项字节解锁后才能进行配置。密钥必须严格按照顺序写入,如果出现以下情况,将产生总线错误同时触发 HardFault中断,直到再次复位后,才能重新对FLASH_CR寄存器进行解锁:

l向FLASH_CRKEY寄存器写入错误的密钥值;

l解锁顺序错误,先向FLASH_CRKEY寄存器写入密钥2:0x7C6E 8391;

l解锁后继续向FLASH_CRKEY寄存器写入任意值(包括密钥)。

将FLASH_CR寄存器中的LOCK位重新置1,能恢复FLASH_CR寄存器的写 保护锁定状态。通过复位,也能使FLASH_CR寄存器恢复成写保护锁定状态。

注意:当FLASH_SR寄存器中的BSY位为1时,对FLASH_CR寄存器的写入将无效,FLASH_SR寄存器中的PESERR标志将置1,Flash当前操作将继续正常执行。

5.3.3.2Flash选项字节解锁

复位后,Flash选项字节处于写保护锁定状态,所有的选项字节加载寄存器、

FLASH_CR寄存器中的OBL_LAUNCH位和OPTSTRT位,都会被写保护。要对选项字节进行更新,就先要进行解锁操作。

Flash选项字节的解锁操作,必须严格按照以下步骤顺序执行:

1) 先解锁Flash控制寄存器FLASH_CR(详见:Flash控制寄存器解锁);

2) 向FLASH_OPTKEY寄存器写入密钥 1:0x6A89 4D7B;

3) 向FLASH_OPTKEY寄存器写入密钥 2:0x7C31 1F5A;

4) 检查FLASH_CR寄存器中的OPTLOCK位,当该位清0时,表明Flash选项字节已解锁。解锁完成后,才能对选项字节加载寄存器及其控制位(OBL_LAUNCH和OPTSTRT)进行配置。

密钥必须严格按照顺序写入,如果出现以下情况,将产生总线错误同时触发

HardFault中断,直到再次复位后,才能重新对Flash选项字节进行解锁:

l向FLASH_OPTKEY寄存器写入错误的密钥值;

l解锁顺序错误,先向FLASH_OPTKEY寄存器写入密钥2:0x7C31 1F5A;

l解锁后继续向FLASH_OPTKEY寄存器写入任意值(包括密钥);

l在对FLASH_CR寄存器解锁前,向FLASH_OPTKEY寄存器写入任意值

(包括密钥)。 将FLASH_CR寄存器中的OPTLOCK位重新置1,能恢复Flash选项字节的写保护锁定状态。通过复位,也能使Flash选项字节恢复成写保护锁定状态。当 FLASH_CR寄存器恢复成写保护锁定状态时(LOCK位置1),Flash选项字节也会被恢复成写保护锁定状态,OPTLOCK位将自动置1。

5.3.3.3Flash掉电控制位解锁

复位后,Flash访问控制寄存器(FLASH_ACR)中的PDEN位将处于写保护锁定状态,该位用于控制Flash的掉电。要配置 PDEN位,就要先进行解锁操作。PDEN位的解锁操作,必须严格按照以下步骤顺序执行:

1) 先解锁FLASH控制寄存器FLASH_CR(详见:Flash控制寄存器解锁);

2) 向FLASH_PDKEY寄存器写入密钥 1:0x57D9 3AB6;

3) 向FLASH_PDKEY寄存器写入密钥 2:0x9A2D 827C;

4) 检查FLASH_CR寄存器中的PDLOCK位,当该位清0时,表明PDEN位已解锁。解锁完成后,可对PDEN位进行配置。密钥必须严格按照顺序写入,如果出现以下情况,将产生总线错误同时触发 HardFault中断,直到再次复位后,才能重新对PDEN位进行解锁操作:

l向FLASH_PDKEY寄存器写入错误的密钥值;

l解锁顺序错误,先向FLASH_PDKEY寄存器写入密钥2:0x9A2D 827C;

l解锁后继续向FLASH_PDKEY寄存器写入任意值(包括密钥);

l在对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进入Power Down状态。在配置PDEN位前,要先进行解锁操作,解锁步骤详见:Flash掉电控制位解锁。Flash处于Power Down状态时,可通过配置PDEN位清0,使Flash从Power Down状态恢复成上电状态。

注意: Flash恢复成上电状态后,需等待 10μs才允许对Flash进行操作。

当进入Stop或Standby模式时,Flash将自动进入Power Down状态。如果在进入低功耗模式前,Flash处于上电状态,则在唤醒后 Flash将自动上电。

审核编辑黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    17370

    浏览量

    352997
  • 寄存器
    +关注

    关注

    31

    文章

    5377

    浏览量

    121398
  • FlaSh
    +关注

    关注

    10

    文章

    1644

    浏览量

    148868
  • 存储器
    +关注

    关注

    38

    文章

    7534

    浏览量

    164489
收藏 人收藏

    评论

    相关推荐

    闪速存储器属于RAM还是ROM,闪速存储器般用来做什么的

    在数字存储技术的快速发展中,闪速存储器Flash Memory)以其独特的性能和广泛的应用领域,成为了连接随机存取存储器(RAM)与只读存储器
    的头像 发表于 01-29 16:53 211次阅读

    SK海力士计划减产NAND Flash存储器以应对市场下滑

    近日,据韩媒最新报道,全球NAND Flash存储器市场正面临供过于求的严峻挑战,导致价格连续四个月呈现下滑趋势。为应对这不利局面,各大存储器厂商纷纷采取减产措施,旨在平衡市场供求关
    的头像 发表于 01-20 14:43 278次阅读

    AN-881: 通过LIN—协议4进行Flash/EE存储器编程

    电子发烧友网站提供《AN-881: 通过LIN—协议4进行Flash/EE存储器编程.pdf》资料免费下载
    发表于 01-14 16:12 0次下载
    AN-881: 通过LIN—协议4进行<b class='flag-5'>Flash</b>/EE<b class='flag-5'>存储器</b>编程

    EE-302:ADSP-BF53x Blackfin处理与NAND FLASH存储器的接口

    电子发烧友网站提供《EE-302:ADSP-BF53x Blackfin处理与NAND FLASH存储器的接口.pdf》资料免费下载
    发表于 01-07 14:03 0次下载
    EE-302:ADSP-BF53<b class='flag-5'>x</b> Blackfin处理<b class='flag-5'>器</b>与NAND <b class='flag-5'>FLASH</b><b class='flag-5'>存储器</b>的接口

    MX60LF8G18AC-XKI 3V, 8G-bit NAND Flash 存储器 IC

    类型:非易失 存储器格式:闪存 技术:FLASH - NAND(SLC) 存储容量:8Gb 存储器组织:1G
    发表于 12-30 15:54

    使用SD Flash为TMS320C28x器件编程外部非易失性存储器

    电子发烧友网站提供《使用SD Flash为TMS320C28x器件编程外部非易失性存储器.pdf》资料免费下载
    发表于 10-15 11:48 0次下载
    使用SD <b class='flag-5'>Flash</b>为TMS320C28<b class='flag-5'>x</b>器件编程外部非易失性<b class='flag-5'>存储器</b>

    使用低内存MSP430™ MCU的带备份存储器的外部RTC

    电子发烧友网站提供《使用低内存MSP430™ MCU的带备份存储器的外部RTC.pdf》资料免费下载
    发表于 10-09 11:43 0次下载
    使用低内存MSP430™ <b class='flag-5'>MCU</b>的带备份<b class='flag-5'>存储器</b>的外部RTC

    铁电存储器Flash的区别

    铁电存储器(Ferroelectric RAM, FRAM)与闪存(Flash)是两种不同类型的非易失性存储器,它们在工作原理、性能特点、应用场景等方面存在显著的差异。
    的头像 发表于 09-29 15:25 1729次阅读

    带备份存储器的独立RTC,带低成本MSP430 MCU应用说明

    电子发烧友网站提供《带备份存储器的独立RTC,带低成本MSP430 MCU应用说明.pdf》资料免费下载
    发表于 09-14 09:49 0次下载
    带备份<b class='flag-5'>存储器</b>的独立RTC,带低成本MSP430 <b class='flag-5'>MCU</b>应用说明

    NAND Flash与其他类型存储器的区别

    NAND Flash作为种基于NAND技术的非易失性存储器,具有多个显著优点,这些优点使其在数据存储领域得到了广泛应用。以下是对NAND Flas
    的头像 发表于 08-20 10:24 895次阅读

    飞凌嵌入式-ELFBOARD 硬件分享之-存储器及其分类

    只读存储器?——这些存储器都是在ROM的基础上发展而来的,名称属于历史遗留问题。 1980年,Flash Memory被发明出来,也就是我们说的闪存,1980年又个日本科学家发明了N
    发表于 07-30 10:06

    EEPROM与Flash存储器的区别

    电子技术和计算机系统中,存储器是不可或缺的组成部分,其类型和功能繁多。EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦除
    的头像 发表于 05-23 16:35 6919次阅读

    STM32L053如何在FLASH程序存储器模式下将程序烧录成功?

    用的是STM32L053芯片,自举模式为FLASH程序存储器模式,此时如何烧录程序?
    发表于 03-25 06:09

    CW32L052 FLASH存储器

    CW32L052内部集成了64KB嵌入式FLASH供用户使用,可用来存储应用程序和用户数据。芯片支持对 FLASH 存储器的读、擦除和写操作
    的头像 发表于 02-28 17:43 797次阅读
    CW32<b class='flag-5'>L</b>052 <b class='flag-5'>FLASH</b><b class='flag-5'>存储器</b>

    浅谈flash存储器的特点和优缺点

    Flash存储器的写操作具有特殊性,它只能将数据位从1写成0,而不能从0写成1。因此,在对存储器进行写入操作之前,必须先执行擦除操作,将预写入的数据位初始化为1。
    的头像 发表于 02-19 11:37 4105次阅读
    浅谈<b class='flag-5'>flash</b><b class='flag-5'>存储器</b>的特点和优缺点