原创 华大电子MCU CIU32M010、CIU32M030嵌入式闪存及中断和事件

2023-6-19 14:54 450 4 4 分类: MCU/ 嵌入式

1.嵌入式闪存

1.1模块介绍

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

1.2功能特点

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

• 存储器结构

– 主闪存空间 64K 字节

– 副闪存空间 4.5K 字节

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

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

• 支持低功耗模式

1.3功能说明

1.3.1.闪存读保护

读操作在整个芯片工作电压范围内都可以完成,用于存放指令或者数据。

NVR8 用户配置区经过自定义的保护配置后,SWD 连接时会对 FLASH 的代码数据执行保护机制

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

1.3.2.闪存擦除和烧写操作

烧写和擦除操作在整个芯片工作电压范围内都可以完成。

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

烧写操作相关寄存器

• 时序寄存器 1 :TIME_REG1

• 密码寄存器 :NVR_PASSWORD/MAIN_PASSWORD

• 编程地址寄存器:PROG_ADDR

• 编程数据寄存器:PROG_DATA

• 状态寄存器 :DONE

擦除操作相关寄存器:

• 擦除控制寄存器:ERASE_CTRL

注:需要注意的是,FLASH 在擦除/烧写的同时不可以从 FLASH 取数据,所以 FLASH 在擦除/烧写过程中会让总线停顿,直到完成后才能继续运行

1.4模块框图

1.5NVR8 闪存用户配置区

副闪存 NVR8 最后 64byte 为用户配置区,逻辑地址区间:0x0001_11C0-0x0001_11FF,该区域的配置数据需要在程序烧写阶段烧写,芯片正常上电后这些信息为只读。

2.中断和事件(INT/EVT)

2.1嵌套向量中断控制器

• 中断都可屏蔽(除了 NMI)

• 4 个可编程的优先等级

• 低延迟的异常和中断处理

• 电源管理控制

• 系统控制寄存器的实现 

嵌套向量中断控制器(NVIC)和处理器核的接口紧密相连,可以实现低延迟的中断处理和高效地处理晚到的中断。

2.2系统滴答(SysTick)校准值寄存器

本芯片支持系统滴答计时。

2.3中断功能描述

处理器和嵌套式矢量型中断控制器(NVIC)在处理(Handler)模式下对所有异常进行优先级区分以及处理。当异常发生时,系统自动将当前处理器工作状态压栈,在执行完中断服务子程序 (ISR)后自动将其出栈。

取向量是和当前工作态压栈并行进行的,从而提高了中断入口效率。处理器支持咬尾中断,可实现背靠背中断,大大削减了反复切换工作态所带来的开销。

2.4外部中断/事件控制器(EXTI)

外部中断/事件控制器包含 44 个产生中断/事件触发的边沿检测电路,每条输入线可以独立地配置触发事件类型(上升沿或下降沿或者双边沿都触发)。每条输入线都可以独立地被屏蔽,挂起寄存器保持着状态线的中断请求,可通过对挂起的寄存器对应位写“1”清除中断请求。

2.4.1主要特征

EXTI 控制器的主要特性如下

• 每个中断/事件都有独立的触发和屏蔽

• 每个中断线都有专用的状态位

• 支持多达 44 个软件中断/事件请求

• 支持上升沿、下降沿和双边沿 3 种触发事件类型

2.4.2唤醒事件管理

CIU32M010、CIU32M030 可以处理外部或内部事件来唤醒内核(WFE)。唤醒事件可以通过下述配置产生:

外设的控制寄存器使能一个中断,但不在 NVIC 中使能,同时在 CPU 的系统控制寄存器中使能SEVONPEND 位。当 CPU 从 WFE 恢复后,需要清除相应外设的中断挂起位和外设 NVIC 中断通道挂起位(在 NVIC 中断清除挂起寄存器中)。

配置一个外部或内部 EXTI 线为事件模式,当 CPU 从 WFE 恢复后,因为对应事件线的挂起位没有被置位,不必清除相应外设的中断挂起位或 NVIC 中断通道挂起位。

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

 

文章评论0条评论)

登录后参与讨论
我要评论
0
4
关闭 站长推荐上一条 /2 下一条