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 在擦除/烧写过程中会让总线停顿,
直到完成后才能继续运行。
关键字:华大电子 MCU 嵌入式闪存
引用地址:
华大电子MCU-CIU32F011x3、CIU32F031x5嵌入式闪存
推荐阅读最新更新时间:2024-11-17 03:12
protues仿真实现DHT11以及51单片机源程序
protues仿真DHT11显示温湿度 仿真原理图如下 DHT11单片机源程序如下: #include reg51.h #include intrins.h #define uchar unsigned char #define uint unsigned int sbit Data=P3^6; //定义数据线 uchar rec_dat ; //用于显示的接收数据数组 sbit lcdrs=P3^0; sbit lcdrw=P3^1; sbit lcden=P3^2; void delay(uint n) { uint x,y; for(x=n;x 0;x--) for(y=110;y 0
[单片机]
51单片机C语言教程(七) 表达式1
上课到这一课相隔了好长一段时间,这些日子里收到不少网友的来信支持和鼓励,要求尽快完成余下的部分。出门在外的人不得不先为吃饭而努力,似乎这也成为我的借口,以后每晚抽空打一些吧这样大家也就可以不用隔太久就能看到一些新东西。或许我的笔记并不是很正确,但我尽量的保证每课的实验都会亲自做一次,包括硬件的部分,已求不会误人子弟。 随着访问量不断的增加,网站已启用了www.cdle.net的国际域名,在这里我感谢各位一直支持磁动力工作室的朋友,更要感激身在远方一直默默支持我的女友。 明浩 2003-7-14 晚 呵,费话少说了。上两课说了常量和变量,先来补充一个用以重新定义数据类型的的语句吧。这个语句
[单片机]
AM30L V0064D在单片机系统中的典型应用
摘要:AM30LV0064D是AMD公司生产的一种新型超与非(U1traNAND)结构的闪速存储器(Flash)。本文介绍它的工作原理,以及它与AT89LS8252单片机的硬件接口电路和PLD内部逻辑控制设计的代码,并对编程操作的软件流程进行了描述。
关键词:AM30LV0064D U1traNAND 闪速存储器
1 概述
AM30LV0064D是AMD公司生产的一种新型非易失性闪速存储器。或非(NOR)结构的Flash具有高速的随机存取功能,但成本较高;新的UltraNAND结构的Flash相对于NOR结构的Flash,具有价格低,容量特别大的优势,支持对存储器高速地连续存取。谝芯片工作电压范围在2.7~3.6V,特别适
[应用]
51单片机STC89C52 红外解码
/******************************** **For:Car mp3 IrControler **Author:YWZ **Date:2013/10/16 ********************************/ #include reg52.h typedef unsigned char U8; typedef unsigned int U16; U8 code aHexIndex ={ '0','1','2','3', '4','5','6',
[单片机]
8051单片机教程第二十二课:串行口应用编程实例
1.串口方式0应用编程8051单片机串行口方式0为移位寄存器方式,外接一个串入并出的移位寄存器,就可以扩展一个并行口。 例:用8051串行口外接CD4094扩展8位并行输出口,如图所示,8位并行口的各位都接一个发光二极管,要求发光管呈流水灯状态。串行口方式0的数据传送可采用中断方式,也可采用查询方式,无论哪种方式,都要借助于TI或RI标志。串行发送时,可以靠TI置位(发完一帧数据后)引起中断申请,在中断服务程序中发送下一帧数据,或者通过查询TI的状态,只要TI为0就继续查询,TI为1就结束查询,发送下一帧数据。在串行接收时,则由RI引起中断或对RI查询来确定何时接收下一帧数据。无论采用什么方式,在开始通讯之前,都要先对控制寄存
[单片机]
MCU是否会从ADAS域控制器消失呢?
ADAS的装机量和渗透率再提升,尤其L2及L2+级;那么随着ADAS域控制器主控芯片的增强,未来,MCU是否还会存在? 1 ADAS架构概览 如下图,ADAS一般由功能安全MCU和大算力SoC组成,SoC负责传感器数据融合,跑算法模型,执行计算; MCU负责系统的安全,对供电/通信/其他芯片工作状态进行监控,当监测到自动驾驶系统发生故障时,切换至安全状态; 2 未来ADAS架构的两种方案 一种是算力SoC把MCU给吃掉了,如下图Renesas的R-CAR-V3H,内部集成了LockStep的Cortex-R7@800MHz (2DMIPS),可以通过Real-Time CPU完成之前外部功能安全MCU的功能 另外一
[嵌入式]
keil中GD32 MCU IAP中APP的存储地址如何设置?
前面和大家聊过什么是IAP(有不懂的小伙伴请看下前面的视频哦),那么IAP中APP的存储地址该如何设置呢 以keil为例,打开工程的option选项卡: 将IROM1中的地址改为你想要保存的位置,比如0x08008000开始的位置: 这样通过keil烧录,程序就自动下载到从0x08008000起始的flash区域哦。 如果你想要通过IAP烧录APP,也一定要烧录到0x08008000起始的flash区域哦,否则跳转到APP中执行程序就会出错的。
[单片机]