华大电子MCU-CIU32F011x3、CIU32F031x5嵌入式闪存

电子说

1.3w人已加入

描述

5. 嵌入式闪存(FLASH) 

5.1. 模块介绍 

华大电子MCU CIU32F011x3、CIU32F031x5 集成了嵌入式 FLASH 控制模块,该模块控制 FLASH 的擦除、编程以及读取数据。上电时会从 FLASH 中读取相关数据进行校验以及初始化配置,保证芯片程序在正确且安全的情况下运行。

5.2. 功能特点 

• 支持高达 64K 主闪存空间的 FLASH 

• 存储器结构

– 主闪存空间 64K 字节 

– 副闪存空间 4.5K 字节 

• 指出对闪存空间的擦写、编程和读操作

• 支持对闪存空间访问限制和擦写保护

• 支持低功耗模式

5.3. 功能说明 

5.3.1. 闪存结构 

闪存空间由 32 位宽的存储单元组成,既可以存代码又可以存数据。主闪存块按 32 页(每页 1K 字节)分块,以页为单位设置写保护(参见存储保护相关内容)。

嵌入式

注:当主闪存空间 64KB 不够存放用户程序时,可把副闪存空间的扇区 0 至扇区 7 扩展为程序存放空间,即支持 68KB的程序存放空间。 

5.3.2. 闪存读保护 

读操作在整个芯片工作电压范围内都可以完成,用于存放指令或者数据。当 NVR8 用户配置区经过自定义的保护配置后,SWD 连接时会对 FLASH 的代码数据执行保护机制。 

注:FLASH 运行在 24MHz 工作频率,当系统时钟超过 30MHz 时,需要配置 TIMER_REG0 的 RC 参数,增加时钟周期数再把 FLASH 接口的数据写到寄存器。 

5.3.3. 闪存擦除和烧写操作

烧写和擦除操作在整个芯片工作电压范围内都可以完成。烧写和擦除操作由下列 6 个寄存器完成,先根据烧写的时钟配置好烧写时序(TIME_REG1),再配置烧写密码,配置好编程地址,最后配置好编程数据,即可开始执行烧写,然后等待操作结束。

烧写操作相关寄存器

• 时序寄存器 1 :TIME_REG1 

• 密码寄存器 :NVR_PASSWORD/MAIN_PASSWORD 

• 编程地址寄存器:PROG_ADDR 

• 编程数据寄存器:PROG_DATA 

• 状态寄存器 :DONE 

擦除操作相关寄存器:

• 擦除控制寄存器:ERASE_CTRL 

注:需要注意的是,FLASH 在擦除/烧写的同时不可以从 FLASH 取数据,所以 FLASH 在擦除/烧写过程中会让总线停顿,

直到完成后才能继续运行。

  审核编辑:汤梓红

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分