电子说
在电子工程领域,微控制器(MCU)的闪存(Flash Memory)是至关重要的组成部分,它不仅存储着程序代码,还能保存关键数据。今天,我们将深入探讨Renesas的RX64M Group和RX71M Group闪存的硬件接口,为电子工程师们提供全面的技术指导。
文件下载:R5F571MGCDLK#20.pdf
RX64M和RX71M Group的闪存具有多种特性,包括编程/擦除功能、安全功能、保护功能以及中断支持。其专用的闪存序列器(Flash Sequencer)通过内部外设总线6执行编程和擦除操作,还支持编程或擦除的暂停、恢复以及后台操作(BGO)。同时,闪存具备硬件安全功能,可防止数据被非法篡改或读取,以及硬件保护功能,避免错误编程。此外,它还支持序列器处理完成中断和错误中断。
闪存相关模块主要由闪存序列器构成,该序列器由闪存控制单元(FCU)和闪存应用命令接口(FACI)组成。FCU负责闪存的基本控制,FCURAM用于存储控制FCU执行的固件,FACI通过内部外设总线6接收FACI命令并相应地控制FCU操作。在复位时,FACI会将数据从闪存传输到选项设置内存。
| 使用闪存硬件接口需要访问多个区域,包括硬件寄存器区域、FACI命令发布区域、FCU固件存储区域和FCURAM区域。具体地址和容量信息如下表所示: | 区域 | 地址 | 容量 |
|---|---|---|---|
| 硬件寄存器区域 | 见第4节寄存器部分 | 见第4节寄存器部分 | |
| FACI命令发布区域 | 007E 0000h | 4字节 | |
| FCU固件存储区域 | FEFF F000h - FEFF FFFFh | 4 K字节 | |
| FCURAM区域 | 007F 8000h - 007F 8FFFh | 4 K字节 | |
| 配置设置区域 | 0012 0040h - 0012 007Fh | 64字节 |
文档中详细介绍了多个寄存器,这些寄存器在使用闪存硬件接口时起着关键作用。以下是部分重要寄存器的介绍:
闪存序列器有三种操作模式,通过改变FENTRYR寄存器的值来实现模式转换:
| FACI命令用于控制闪存的各种操作,包括编程、块擦除、暂停/恢复编程或擦除、清除状态、强制停止、空白检查、配置设置、锁定位读取等。具体命令及其描述如下表所示: | FACI命令 | 描述 |
|---|---|---|
| 编程(Programming) | 用于对用户区域和数据区域进行编程,用户区域编程单位为256字节,数据区域编程单位为4字节。 | |
| 块擦除(Block erase) | 用于擦除用户区域、锁定位或数据区域,擦除单位为一个块。 | |
| 编程/擦除暂停(P/E suspend) | 暂停编程或擦除处理。 | |
| 编程/擦除恢复(P/E resume) | 恢复暂停的编程或擦除处理。 | |
| 状态清除(Status clear) | 初始化FSTATR寄存器中的ILGLERR、ERSERR和PRGERR标志,并将闪存序列器从命令锁定状态释放。 | |
| 强制停止(Forced stop) | 强制停止FACI命令处理,并初始化FSTATR寄存器。 | |
| 空白检查(Blank check) | 用于检查数据区域是否为空,空白检查单位为4字节至64 K字节(以4字节为单位指定)。 | |
| 配置设置(Configuration setting) | 用于设置ID、安全功能、选项设置内存和可信内存(TM)功能,设置单位为16字节。 | |
| 锁定位读取(Lock-bit read) | 读取用户区域的锁定位,并将结果存储在FLKSTAT寄存器中,编程单位为1位(一个块的锁定位)。 |
不同模式下可使用的FACI命令不同,使用前需检查闪存序列器的状态。在代码闪存编程/擦除模式和数据闪存编程/擦除模式下,可使用的命令有所差异。例如,在代码闪存编程/擦除模式下,可使用编程、块擦除、锁定位编程和读取等命令;在数据闪存编程/擦除模式下,可使用编程、块擦除、空白检查和配置设置等命令。
软件保护通过控制寄存器和锁定位设置来禁用代码闪存的编程和擦除。具体包括:
错误保护用于检测非法FACI命令、非法访问和闪存序列器故障。一旦检测到这些错误,闪存序列器将进入命令锁定状态,禁止接受FACI命令。要从命令锁定状态释放,需在FASTAT寄存器中的CFAE和DFAE标志为0时发出状态清除或强制停止命令。
用户引导区域通常在正常操作模式和用户引导模式下受到写保护,只有在编程模式(引导模式,适用于SCI或USB接口)下才能被覆盖,可用于安全存储引导程序等程序。
在使用RX64M和RX71M Group闪存时,需要注意以下几点:
文档还提供了闪存的电气特性,包括FCURAM数据传输时间、FACI命令设置时间、FACI命令处理时间和强制停止命令时间等。这些特性在特定的电压和时钟频率条件下给出,为工程师在设计电路时提供了重要参考。
总之,Renesas的RX64M和RX71M Group闪存具有丰富的功能和特性,但在使用过程中需要严格遵循相关的操作规范和注意事项。希望本文能为电子工程师们在使用该闪存时提供有益的帮助。你在实际应用中是否遇到过相关问题呢?欢迎在评论区分享你的经验和见解。
全部0条评论
快来发表一下你的评论吧 !