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

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

3天内不再提示

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

沈阳芯硕科技 来源:jetson024 作者:jetson024 2023-03-14 09:33 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

5.3.5User flash区擦除操作

User flash区支持以下擦除方式:

l页擦除(512字节)

l块擦除(16KB)

l批量擦除(128KB)

Flash存储器在执行擦除操作时,不能同时进行读取操作,需要等待存储器完成 擦除操作后,读取操作才能正常进行,擦除完成后的Flash数据为全1。

5.3.5.1User flash区页擦除步骤

对User flash区进行页擦除操作(512字节),可遵循以下步骤:

1) 检查Flash状态寄存器(FLASH_SR)中的BSY标志,以确认当前没有正在执行的Flash操作;

2) 检查FLASH_SR寄存器,确认错误标志均已清除;

3) 解锁Flash控制寄存器(FLASH_CR),使LOCK位清0;(详见:Flash控 制寄存器解锁)

4) 配置FLASH_CR寄存器中的ER_MODE[1:0]位域为01,进入页擦除模式;

5) 配置FLASH_CR寄存器中的PNB[7:0]位域,选择待擦除区域的页号;

6) 配置FLASH_CR寄存器中的ERASE位置1,启动Flash擦除,同时BSY标志将自动置1;

7) 查询并等待BSY标志清0,表明擦除操作已完成,此时ERASE位也将自 动清 0;

8) 如果要对多个页执行擦除操作,可重复执行步骤5到7;

9) 配置FLASH_CR寄存器中的ER_MODE[1:0]位域为00,退出擦除模式;

10) 配置FLASH_CR寄存器中的LOCK位置1,恢复FLASH_CR寄存器的写保护锁定状态。

5.3.5.2User flash区块擦除步骤

对User flash区进行块擦除操作(16KB),可遵循以下步骤:

1) 检查Flash状态寄存器(FLASH_SR)中的BSY标志,以确认当前没有正在执行的Flash操作;

2) 检查FLASH_SR寄存器,确认错误标志均已清除;

3) 解锁Flash控制寄存器(FLASH_CR),使LOCK位清0;(详见:Flash控制寄存器解锁);

4) 配置FLASH_CR寄存器中的ER_MODE[1:0]位域为10,进入块擦除模式;

5) 配置FLASH_CR寄存器中的PNB[2:0]位域,选择待擦除区域的块号;

6) 配置FLASH_CR寄存器中的ERASE位置1,启动Flash擦除,同时BSY标志将自动置1;7) 查询并等待BSY标志清0,表明擦除操作已完成,此时ERASE位也将自动清0;

8) 如果要对多个块执行擦除,可重复执行步骤5到7;

9) 配置FLASH_CR寄存器中的ER_MODE[1:0]位域为00,退出擦除模式;

10) 配置FLASH_CR寄存器中的LOCK位置1,恢复FLASH_CR寄存器的写保护锁定状态。

5.3.5.3User flash区批量擦除步骤

批量擦除用于擦除整个User flash区域(128KB),可遵循以下步骤:

1) 检查Flash状态寄存器(FLASH_SR)中的BSY标志,以确认当前没有正在执行的Flash操作;

2) 检查FLASH_SR寄存器,确认错误标志均已清除;

3) 解锁Flash控制寄存器(FLASH_CR),使LOCK位清0(详见:Flash控制寄存器解锁);

4) 配置FLASH_CR寄存器中的ER_MODE[1:0]位域为11,进入批量擦除模式;

5) 配置FLASH_CR寄存器中的ERASE位置1,启动Flash擦除,同时BSY标志将自动置1;

6) 查询并等待BSY标志清0,表明擦除操作已完成,此时ERASE位也将自动清 0;

7) 配置FLASH_CR寄存器中的ER_MODE[1:0]位域为00,退出擦除模式;

8) 配置FLASH_CR寄存器中的LOCK位置1,恢复FLASH_CR寄存器的写保护锁定状态。

5.3.5.4User flash区擦除错误

在对User flash区执行擦除操作的过程中,可能会出现以下错误标志:

lFlash操作序列错误标志PESERR:

-在ERASE位被置1的同时,如果ER_MODE[1:0]位域为00,则不会

启动擦除操作,错误标志PESERR将置1;

-在ERASE位被置1的同时,如果待擦除的区域(PNB[7:0])超出了

Flash的有效空间,则不会启动擦除操作,错误标志PESERR将置1;

-当有错误标志(PESERR、PROGERR、SIZERR、PGAERR、WRPERR)

未被清除时,配置ERASE位置1,则不会启动擦除操作,错误标志PESERR将置1;

-ERASE、OPTSTRT、OBL_LAUNCH中任意2个以上控制位同时置1,

则不会启动对应的操作,错误标志PESERR将置1。

l写保护错误标志WRPERR:

-如果要擦除的区域受到安全保护机制的影响,包含有受保护的区域,

则不会启动擦除操作,FLASH_SR寄存器中的WRPERR标志将置1。

5.3.6User flash区编程操作

对Flash存储器执行编程操作,每次能写入的数据长度固定为 32bits(字),不支持其他长度的数据写入。

FLASH存储器在执行编程操作时,不能同时进行读取操作,需要等待存储器完成编程操作后,读取操作才能正常进行。

与Flash擦除操作类似,编程操作也会受到安全保护机制的影响:

5.3.6.1User flash区编程操作步骤

对User flash区进行编程操作,可遵循以下步骤:

1) 检查Flash状态寄存器(FLASH_SR)中的BSY标志,以确认当前没有正在执行的Flash操作;

2) 检查FLASH_SR寄存器,确认错误标志均已清除;

3) 解锁Flash控制寄存器(FLASH_CR),使LOCK位清0(详见:Flash控制寄存器解锁);

4) 配置FLASH_CR寄存器中的PG_MODE为1,进入Flash编程模式;

5) 向Flash目标地址写入32bits数据,写入后BSY标志将自动置1;

6) 查询并等待BSY标志清0,表明编程操作已完成;7) 如果要对多个地址进行编程,可重复步骤5和6;

8) 配置FLASH_CR寄存器中的PG_MODE位为0,退出Flash编程模式;

9) 配置FLASH_CR寄存器中的LOCK位置1,恢复FLASH_CR寄存器的写保护锁定状态。

5.3.6.2User flash区编程错误

在对User flash区进行编程操作的过程中,可能会出现以下错误标志:

l编程错误标志PROGERR:

-当Flash地址内的数据不是 0xFFFF FFFF时,表明该地址已经执行过

编程操作,向该地址写入数据,则写入的数据会被忽略,不会启动编

程操作,错误标志PROGERR将置1;

-当PG_MODE位为0时,向Flash地址写入数据,则写入的数据会被

忽略,不会启动编程操作,错误标志PROGERR将置1;

-当有错误标志(PESERR、PROGERR、SIZERR、PGAERR、WRPERR)

未被清除时,向Flash地址写入数据,则写入的数据会被忽略,不会启动编程操作,错误标志 PROGERR将置1。

l编程位宽错误标志SIZERR:

-如果向Flash地址写入字节或半字,则写入的数据会被忽略,不会启

动编程操作,错误标志SIZERR将置1。

l编程地址未对齐错误标志PGAERR:

-如果编程操作的目标地址没有按字对齐(地址2位不为b00),则

写入的数据会被忽略,不会启动编程操作,错误标志PGAERR将置1。

l写保护错误标志WRPERR:

-如果要编程的区域受到安全保护机制的影响,处于受保护的状态,向

该区域中的地址写入数据,则写入的数据会被忽略,不会启动编程操

作,错误标志WRPERR将置1。

5.4Option bytes区操作说明

5.4.1选项字节组成

选项字节存放于Flash存储器的Option bytes区,用于保存与芯片硬件功能相关的配置项,用户可根据应用对选项字节进行配置,以实现特定的硬件功能。

为了校验选项字节的正确性,在Option bytes区的每个字(32bits)被拆分成两

部分,低16bits存放选项字节,高16bits存放选项字节的反码。

复位后,硬件会自动将Option bytes区中的内容,加载到寄存器里,这些寄存器被称为选项字节加载寄存器,选项字节中各控制位的作用,可查看以下寄存器的详细描述:

lFLASH_OPTR1:选项字节寄存器 1

lFLASH_OPTR2:选项字节寄存器 2

lFLASH_PCROP1AS:代码读出保护区 1A起始地址寄存器

lFLASH_PCROP1AE:代码读出保护区 1A结束地址寄存器

lFLASH_PCROP1BS:代码读出保护区 1B起始地址寄存器

lFLASH_PCROP1BE:代码读出保护区 1B结束地址寄存器

lFLASH_WRP1AS:写保护区A起始地址寄存器

lFLASH_WRP1AE:写保护区A结束地址寄存器

lFLASH_WRP1BS:写保护区B起始地址寄存器

lFLASH_WRP1BE:写保护区B结束地址寄存器

lFLASH_SECR:用户安全配置寄存器

5.4.2选项字节更新

Option bytes区与User flash区不同,用户不能直接对 Option bytes区执行擦除或编程操作,而是要通过对应的选项字节加载寄存器进行更新。

对选项字节的更新遵循以下步骤:

1) 检查Flash状态寄存器(FLASH_SR)中的BSY标志位,以确认当前没有正在执行的Flash操作;

2) 检查FLASH_SR寄存器,确认错误标志均已清除;

3) 解锁Flash选项字节的写保护,使Flash控制寄存器(FLASH_CR)中的

OPTLOCK位清0(详见:Flash选项字节解锁);

4) 配置FLASH_CR寄存器中的PG_MODE为1,进入Flash编程模式;

5) 配置选项字节加载寄存器;

6) 将FLASH_CR寄存器中的OPTSTRT位置1,启动选项字节的更新,同时BSY标志将自动置1;

7) 查询并等待BSY标志清0,表明选项字节已更新完成,此时OPTSTRT位也将被自动清 0;

8) 配置FLASH_CR寄存器中的PG_MODE位为0,退出Flash编程模式;

9) 配置FLASH_CR寄存器中的OPTLOCK位置1,恢复选项字节的写保护锁定状态;

10) 此时FLASH_CR寄存器处于解锁状态,可根据需要配置FLASH_CR寄存器中的LOCK位置1,将其恢复成写保护锁定状态。

在启动选项字节更新后,将对Option bytes区进行擦除,并自动生成选项字节的反码,随后会将选项字节及其反码更新到Option bytes区。

在完成对选项字节的更新后,直接读取Option bytes区,可获取更新后的选项字节值。但是更新后的选项字节此时并未生效,如果读取选项字节加载寄存器,获得的仍将是最近一次已加载生效的选项字节值。在对选项字节进行更新的过程中,可能会出现以下错误标志:

lFlash操作序列错误标志PESERR:

-在OPTSTRT位被置1的同时,如果PG_MODE位为0,则不会启动

选项字节更新,错误标志PESERR将置1;

-当有错误标志(PESERR、PROGERR、SIZERR、PGAERR、WRPERR)

未被清除时,配置OPTSTRT位置1,则不会启动选项字节更新,错误

标志PESERR将置1;

-ERASE、OPTSTRT、OBL_LAUNCH中任意2个以上控制位同时置1,

则不会启动对应的操作,错误标志PESERR将置1。

5.4.3选项字节加载

要使Option bytes区中选项字节生效,可通过以下方式对选项字节进行加载:

l以下复位将触发加载:

-POR/PDR复位

-退出Standby模式复位

l配置FLASH_CR寄存器中OBL_LAUNCH位为1启动加载,加载执行时BSY标志将自动置1,加载完成后该标志将自动清0并触发系统复位。

如果ERASE、OPTSTRT、OBL_LAUNCH中任意2个以上控制位同时置1,则不会启动对应的操作,错误标志PESERR将置1。

在选项字节加载过程中,将自动对选项字节及其反码进行校验,如果出现错误,将维持复位状态不再执行任何操作,直到发生POR/PDR复位。

当选项字节加载生效后,Option bytes区中的选项字节将被自动复制到对应的加载寄存器。读取选项字节加载寄存器,获得的总是加载生效后的选项字节值。

5.5Flash安全保护机制

Flash存储器支持以下安全保护机制:

lFlash读出保护(RDP):通过配置不同RDP保护等级,对存储器的操作权限进行限制。

lFlash代码读出保护(PCROP):禁止对受保护的区域执行读取、编程或擦

除操作,仅允许取指操作。

lFlash写入保护(WRP):禁止对受保护的区域执行编程或擦除操作,但允

许取指和读取操作。

lFlash用户安全区域:在复位后,用户安全区域处于未保护状态,可执行

取指、读取、编程和擦除操作。当安全区域使能后,该区域不可见,禁止

对该区域执行任何操作,直到重新复位。

5.5.1Flash读出保护

5.5.1.1RDP保护权限

Flash读出保护(RDP),共有三种保护等级:

RDP0:

l从User flash/SRAM启动

-User flash区:允许取指、读取、编程、擦除

-System memory区:仅允许取指

-Option bytes区:允许读取、更新(通过选项字节加载寄存器)

-OTP区:允许读取、编程(每个字仅可编程一次)

-备份寄存器:允许读取、写入

l从Bootloader启动

-User flash区:允许取指、读取、编程、擦除

-System memory区:允许取指、读取

-Option bytes区:允许读取、更新(通过选项字节加载寄存器)

-OTP区:禁止执行任何操作

-备份寄存器:禁止执行任何操作

l调试接口

-User flash区:允许取指、读取、编程、擦除

-System memory区:仅允许取指

-Option bytes区:允许读取、更新(通过选项字节加载寄存器)

-OTP区:允许读取、编程(每个字仅可编程一次)

-备份寄存器:允许读取、写入

注意:从Bootloader启动时,禁用调试接口。

RDP1:

l从User flash启动

-User flash区:允许取指、读取、编程、擦除

-System memory区:仅允许取指

-Option bytes区:允许读取、更新(通过选项字节加载寄存器)

-OTP区:允许读取、编程(每个字仅可编程一次)

-备份寄存器:允许读取、写入

l从Bootloader启动

-User flash区:仅允许取指

-System memory区:允许读取、取指

-Option bytes区:允许读取、更新(通过选项字节加载寄存器)

-OTP区:禁止执行任何操作

-备份寄存器:禁止执行任何操作

l禁止从SRAM启动

l禁用调试接口

RDP2:

l从User flash启动

-User flash区:允许取指、读取、编程、擦除

-System memory区:仅允许取指

-Option bytes区:仅允许读取-

OTP区:允许读取、编程(每个字仅可编程一次)

-备份寄存器:允许读取、写入

l禁止从Bootloader启动

l禁止从SRAM启动

l禁用调试接口

对于Flash存储器,当Flash控制器检测到无权限的非法操作时,FLASH_SR寄 存器中的 ACERR错误标志将立刻置1,非法操作会被立刻终止,并产生总线访 问错误,触发 HardFault中断。

对Option bytes区的更新,必须通过相应的选项字节加载寄存器来完成。当保护等级为 RDP2时,不允许更新该区域,此时如果FLASH_CR寄存器中的

OPTSTRT位被置1,则FLASH_SR寄存器中的ACERR错误标志将置1,wo对Option bytes区的操作将被终止,并产生总线访问错误,触发HardFault中断。

沈阳芯硕科技有限公司是华大电子专业代理商,有技术问题可咨询芯虎论坛.

审核编辑黄宇

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

    关注

    147

    文章

    18604

    浏览量

    386804
  • FlaSh
    +关注

    关注

    10

    文章

    1715

    浏览量

    154688
  • 存储器
    +关注

    关注

    39

    文章

    7714

    浏览量

    170831
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    CW32L052 FLASH存储器介绍

    概述CW32L052内部集成了64KB嵌入式FLASH供用户使用,可用来存储应用程序和用户数据。 芯片支持对 FLASH 存储器的读、擦除和
    发表于 12-05 08:22

    芯源的片上存储器介绍

    片上FLASH 闪存由两部分物理区域组成:主FLASH 存储器和启动程序存储器。 ●● 主 FLASH
    发表于 11-12 07:34

    CIU32D685x6数据手册

    CIU32D655x5数据手册CIU32D655x5数据手册CIU32D655x5数据手册CIU32D655x5数据手册CIU32D655x
    发表于 10-21 16:10 5次下载

    CIU32D695x8数据手册

    电子发烧友网站提供《CIU32D695x8数据手册.pdf》资料免费下载
    发表于 10-20 17:20 1次下载

    MCU芯片电子DS1012_CIU32D695x8数据手册

    CIU32D695x8 ARM Cortex-M0+ 32-bit MCU,64KB Flash ,6KB SRAM , DMA ,2x UART , I2C ,2
    的头像 发表于 10-20 11:37 735次阅读
    <b class='flag-5'>MCU</b>芯片<b class='flag-5'>华</b>大<b class='flag-5'>电子</b>DS1012_<b class='flag-5'>CIU32D695x8</b>数据手册

    电子MCU芯片DS1009_CIU32D655x5数据手册

    CIU32D655x5ARM Cortex-M0+ 32-bit MCU,24 KB Flash,3 KB SRAM,SPI,Timers,ADC, 2xCOMP,1.8-5.5V 数据手册 产品
    的头像 发表于 10-20 11:34 688次阅读
    <b class='flag-5'>华</b>大<b class='flag-5'>电子</b><b class='flag-5'>MCU</b>芯片DS1009_<b class='flag-5'>CIU32D655x</b>5数据手册

    昂科烧录支持HED电子的超低功耗微控制CIU32L051R8T

    昂科技术作为芯片烧录领域的领导者,在其新版烧录软件发布之际,宣布扩展了兼容芯片型号列表。新增型号包含了HED电子的超低功耗微控制CIU32L051R8T。目前,该芯片已获得昂科通
    的头像 发表于 07-22 13:38 479次阅读
    昂科烧录<b class='flag-5'>器</b>支持HED<b class='flag-5'>华</b>大<b class='flag-5'>电子</b>的超低功耗微控制<b class='flag-5'>器</b><b class='flag-5'>CIU32L051R8</b>T

    瑞萨RA8D1 MCU的OSPI Flash适配指南

    OSPI Flash(Octal SPI Flash)是一种基于SPI(串行外设接口)扩展的高速串行Flash存储器,采用8-bit数据总线
    的头像 发表于 07-17 11:24 2639次阅读
    瑞萨RA<b class='flag-5'>8</b>D1 <b class='flag-5'>MCU</b>的OSPI <b class='flag-5'>Flash</b>适配指南

    国产MCU的突围之战:电子CIU32F003全面评测与技术洞察

    CIU32F003进行全方位技术解析,探讨其在实际应用中的表现与价值。 一、产品定位与技术特性 CIU32F003是电子面向中端市场推出的32位通用
    的头像 发表于 06-12 10:14 1189次阅读

    如何评价电子CIU32F003开发板?国产32位MCU能否替代STM32?

    一、开篇:国产MCU的突围之战 "当STM32F103价格飙升至20元时,我们是否该给国产芯片一个机会?" 以2023年芯片缺货潮为引子,提出国产替代的必然性,列举大半导体在工控/消费电子领域
    的头像 发表于 06-05 10:22 1061次阅读

    国产MCU的性价比之选——电子CIU32F003深度评测

    在STM32价格飞涨、国产替代需求激增的背景下,电子(HDSC)的CIU32F003逐渐进入工程师的视野。作为一款32位ARM Cortex-M0+内核的MCU,它凭借超低价格和均
    的头像 发表于 06-03 10:42 2204次阅读
    国产<b class='flag-5'>MCU</b>的性价比之选——<b class='flag-5'>华</b>大<b class='flag-5'>电子</b><b class='flag-5'>CIU</b>32F003深度评测

    小巧身形,强大内核!电子CIU32F003双封装方案赋能高密度设计

    电子CIU32F003双封装
    的头像 发表于 05-26 14:47 696次阅读

    电子CIU32F003 MCU 全面评测与竞品对比,国产替代新选择?

    为什么关注CIU32F003? 最近国产MCU市场越发活跃,电子(HDSC)作为国内头部芯片厂商,推出的CIU32F003系列凭借高性价
    的头像 发表于 05-20 11:18 1724次阅读
    <b class='flag-5'>华</b>大<b class='flag-5'>电子</b><b class='flag-5'>CIU</b>32F003 <b class='flag-5'>MCU</b> 全面评测与竞品对比,国产替代新选择?

    MCU片上Flash

        MCU片上Flash是微控制内部集成的非易失性存储器,主要用于存储程序代码、常量数据及系统配置信息。其核心特性与功能如下: 一、定
    的头像 发表于 05-06 14:26 858次阅读

    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>的接口