本文主要是介绍记:STM32F4参考手册-嵌入式Flash接口、CRC计算单元,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
嵌入式Flash接口
前言
主要特性
嵌入式Flash主要特性
Flash存储器结构分区(重要查询)
CRC计算单元
CRC简介
CRC主要特性
CRC功能说明
CRC寄存器
嵌入式Flash接口
前言
Flash接口可管理CPU通过AHB-ICode和D-Code对Flash进行访问。该接口可针对Flash执行擦除和编程操作,并实施读写保护机制。
Flash接口通过指令预取和缓存机制加速代码执行。
主要特性
Flash读操作
Flash编程/擦除操作
读/写保护
I-Code上的预取操作
I-Code上的64个缓存(128位宽)
D-Code上的8个缓存(128位宽)
嵌入式Flash主要特性
对于STM32F40x和STM32F41x,容量高达1MB;对于STM32F42x和STM32F43x,容量高达2MB。
128位宽数据读取
字节、半字、字和双字数据写入
扇区擦除和全部擦除
存储器组织结构
低功耗模式(请参考电源控制PWR部分)
Flash结构如下:
主存储器块,分为4个16KB扇区、1个64KB扇区和7个128KB扇区
系统存储器,器件在系统存储器自举模式下从该存储器启动
512字节OTP(一次性可编程),用于存储用户数据。OTP区域还有16个额外字节,用于额定对应的OTP数据块。
选项字节,用于配置读写保护、BOR级别、软件/硬件看门狗以及器件处于待机或停止模式下的复位。
Flash存储器结构分区(重要查询)
CRC计算单元
除非特别说明,否则本部分适用于整个STM32F4xx系列。
CRC简介
CRC(循环冗余校验)计算单元使用一个固定的多项式发生器从一个32位的数据字中产生CRC码。
在众多的应用中,基于CRC技术还常用来验证数据传输或存储的完整性。根据EN/IEC60335-1标准的规定,这些技术提供了验证Flash完整性的方法。CRC计算单元有助于在运行期间计算软件的签名,并将该签名与链接时生成并存储在指定存储单元的参考签名加以比较。
CRC主要特性
CRC功能说明
CRC计算单元主要由单个32位数据寄存器组成,该寄存器:
用作输入寄存器,向CRC计算器中输入新数据(向寄存器写入数据时)
可保存之前的CRC计算结果(读取寄存器时)
对数据寄存器的每个写操作都会把当前新输入的数值和之前生成在数据寄存器中的CRC值再做一次CRC计算(CRC计算针对整个32位数据字完成,而非逐字节进行)。
CRC计算时,写操作被阻塞,因此允许执行背靠背写访问或连续的写读访问。
使用CRC_CR寄存器中的RESET控制位即可将CRC计算器复位为0xFFFF FFFF。此操作不影响CRC_IDR寄存器的内容。
CRC寄存器
寄存器名称 | 英文名称 |
数据寄存器 | CRC_DR |
独立数据寄存器 | CRC_IDR |
控制寄存器 | CRC_CR |
这篇关于记:STM32F4参考手册-嵌入式Flash接口、CRC计算单元的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!