记:STM32F4参考手册-嵌入式Flash接口、CRC计算单元

2024-02-12 23:20

本文主要是介绍记: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计算单元的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/703886

相关文章

MySQL中C接口的实现

《MySQL中C接口的实现》本节内容介绍使用C/C++访问数据库,包括对数据库的增删查改操作,主要是学习一些接口的调用,具有一定的参考价值,感兴趣的可以了解一下... 目录准备mysql库使用mysql库编译文件官方API文档对象的创建和关闭链接数据库下达sql指令select语句前言:本节内容介绍使用C/

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

SpringBoot实现不同接口指定上传文件大小的具体步骤

《SpringBoot实现不同接口指定上传文件大小的具体步骤》:本文主要介绍在SpringBoot中通过自定义注解、AOP拦截和配置文件实现不同接口上传文件大小限制的方法,强调需设置全局阈值远大于... 目录一  springboot实现不同接口指定文件大小1.1 思路说明1.2 工程启动说明二 具体实施2

Python实现精确小数计算的完全指南

《Python实现精确小数计算的完全指南》在金融计算、科学实验和工程领域,浮点数精度问题一直是开发者面临的重大挑战,本文将深入解析Python精确小数计算技术体系,感兴趣的小伙伴可以了解一下... 目录引言:小数精度问题的核心挑战一、浮点数精度问题分析1.1 浮点数精度陷阱1.2 浮点数误差来源二、基础解决

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

Python文本相似度计算的方法大全

《Python文本相似度计算的方法大全》文本相似度是指两个文本在内容、结构或语义上的相近程度,通常用0到1之间的数值表示,0表示完全不同,1表示完全相同,本文将深入解析多种文本相似度计算方法,帮助您选... 目录前言什么是文本相似度?1. Levenshtein 距离(编辑距离)核心公式实现示例2. Jac

Python中经纬度距离计算的实现方式

《Python中经纬度距离计算的实现方式》文章介绍Python中计算经纬度距离的方法及中国加密坐标系转换工具,主要方法包括geopy(Vincenty/Karney)、Haversine、pyproj... 目录一、基本方法1. 使用geopy库(推荐)2. 手动实现 Haversine 公式3. 使用py

基于Redisson实现分布式系统下的接口限流

《基于Redisson实现分布式系统下的接口限流》在高并发场景下,接口限流是保障系统稳定性的重要手段,本文将介绍利用Redisson结合Redis实现分布式环境下的接口限流,具有一定的参考价值,感兴趣... 目录分布式限流的核心挑战基于 Redisson 的分布式限流设计思路实现步骤引入依赖定义限流注解实现

SpringBoot实现RSA+AES自动接口解密的实战指南

《SpringBoot实现RSA+AES自动接口解密的实战指南》在当今数据泄露频发的网络环境中,接口安全已成为开发者不可忽视的核心议题,RSA+AES混合加密方案因其安全性高、性能优越而被广泛采用,本... 目录一、项目依赖与环境准备1.1 Maven依赖配置1.2 密钥生成与配置二、加密工具类实现2.1

使用Python的requests库调用API接口的详细步骤

《使用Python的requests库调用API接口的详细步骤》使用Python的requests库调用API接口是开发中最常用的方式之一,它简化了HTTP请求的处理流程,以下是详细步骤和实战示例,涵... 目录一、准备工作:安装 requests 库二、基本调用流程(以 RESTful API 为例)1.