电子说
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条评论
快来发表一下你的评论吧 !