5.嵌入式闪存(FLASH)
5.1.模块介绍
华大电子MCUCIU32F011x3、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在擦除/烧写过程中会让总线停顿,
直到完成后才能继续运行。
审核编辑:汤梓红
-
mcu
+关注
关注
146文章
17141浏览量
351053 -
嵌入式
+关注
关注
5082文章
19115浏览量
304911 -
华大电子
+关注
关注
0文章
35浏览量
11789
发布评论请先 登录
相关推荐
评论