记:STM32F4参考手册-存储器和总线架构

news2024/11/20 10:28:48

STM32F4参考手册-存储器和总线架构

系统架构

主系统由32位多层AHB总线矩阵构成,可实现以下部分部分的互连:

        八条主控总线

                Cortex-M4F内核I总线、D总线和S总线

                DMA1存储器总线

                DMA2存储器总线

                DMA2外设总线

                以太网DMA总线

                USB OTG HS DMA总线

        七条被控总线

                内部Flash ICode总线

                内部Flash DCode总线

                主要部分SRAM1(112KB)

                主要部分SRAM2(16KB)

                主要部分SRAM2(64KB)(仅适用于STM32F42xxx和STM32F43xxx器件)

                AHB1外设(包括AHB-APB总线桥和APB外设)

                AHB2外设

                FSMC

借助总线矩阵,可以实现主控总线到被控总线的访问,这样即使在多个高速外设同时运行期间,系统也可以实现并发访问和高效运行。

总线矩阵:用于主控总线间的访问总裁管理。仲裁采用循环调度算法。

Tips:图中显示,64KB的CCM数据RAM(内核耦合存储器)不属于总线矩阵,只能通过CPU对其进行访问。

S0--I总线:

        用于将Cortex-M4F内核的指令总线连接到总线矩阵。内核通过此总线获取指令。

        此总线访问的对象是包含代码的存储器(内部Flash/SRAM或通过FSMC的外部存储器)。

S1--D总线:

        用于将Cortex-M4F内核的数据总线连接到总线矩阵。此总线用于访问位于外设或SRAM中的数据,也可通过此总线获取指令(效率低于ICode总线)。

        此总线访问的对象是内部SRAM、APB1外设、APB2外设以及通过FSMC的外部存储器。

S2--S总线:

        用于将Cortex-M4F内核的系统总线连接到总线矩阵。此总线用于访问位于外设或SRAM中的数据,也可通过此总线获取指令(效率低于ICode总线)。

        此总线访问的对象是内部SRAM、APB1外设、APB2外设以及通过FSMC的外部存储器。

S3、S4--DMA存储器总线:

        用于将DMA存储器总线主接口连接到总线矩阵。DMA通过此总线来执行存储器数据的传入和传出。

        此总线访问的对象是内部SRAM以及通过FSMC的外部存储器。

S5--DMA外设总线:

        用于将DMA外设主总线接口连接到总线矩阵。DMA通过此总线访问AHB外设或执行存储器间的数据传输。

        此总线访问的对象是内部SRAM、AHB外设、APB1外设、APB2外设以及通过FSMC的外部存储器。

S6--以太网DMA总线:

        用于将以太网DMA主总线接口连接到总线矩阵。以太网DMA通过此总线向存储器存取数据。

        此总线访问的对象是内部SRAM以及通过FSMC的外部存储器。

S7--USB OTG HS DMA总线:

        用于将USB OTG HS DMA主总线接口连接到总线矩阵。USB OTG HS DMA通过此总线向存储器加载/存储数据。

        此总线访问的对象是内部SRAM以及通过FSMC的外部存储器。

AHB/APB总线桥(APB):

借助两个AHB/APB总线桥,可在AHB总线与两个APB总线之间实现完全同步的连接,从而灵活选择外设频率。

每次芯片复位后,所有外设时钟都将关闭(SRAM和Flash接口除外)。使用外设前,必须在RCC_AHBxENR或RCC_APPBxENR寄存器中使能其时钟。

Tips:对APB寄存器执行16位或8位访问时,该访问将转换为32位访问(总线桥将16位或8位数据复制后提供给32位向量)

存储器组织结构

程序存储器、数据存储器、寄存器和I/O端口排列在同一顺序的4GB地址空间内。

各字节按小端格式在存储器中编码。字中编号最低的字节被视为该字的最低有效字节,而编号最高的字节被视为最高有效字节。

可寻址的存储空间分为8个主要块,每个块为512MB。

未分配给片上存储器和外设的所有存储区域均视为保留区。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1442533.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Python中Selenium元素定位的各种方法】

1、元素定位操作: 2、创建浏览器驱动操作,导入By模块: from selenium import webdriver # 用于界面与浏览器互动 from selenium.webdriver.common.by import By # 用于元素定位 driver webdriver.Chrome() # 调用Chrome类,创…

【Java EE初阶十一】文件操作(IO)

1. 认识文件 所谓的文件是一个广义的概念,可以代表很多东西;在操作系统里面,会把很多的硬件设备和软件设备都抽象成“文件”,统一进行管理;但是大部分情况下,我们读到的文件,都是指硬盘的文件&a…

计算机网络第6章(应用层)

6.1、应用层概述 我们在浏览器的地址中输入某个网站的域名后,就可以访问该网站的内容,这个就是万维网WWW应用,其相关的应用层协议为超文本传送协议HTTP 用户在浏览器地址栏中输入的是“见名知意”的域名,而TCP/IP的网际层使用IP地…

如何让内网client通过公网地址访问内网server?

第一步,实现任意公网用户访问内网server。按教育网规矩,公网过来的流量要访问校内网的server必须从教育专线(路由器接口G0/0/1)进入。 第二步,实现内网主机通过公网地址210.43.2.3能够访问内网server192.168.1.2,图中①…

动漫风博客介绍页面源码

动漫风博客介绍页面源码,HTML源码,图片背景有淡入切换特效 蓝奏云:https://wfr.lanzout.com/iIDZu1nrmjve

科研绘图-半小提琴图-

文章目录 前言1.软件安装-Origin 20222.绘制半小提琴图3.绘制径向条形图 前言 本文叙述记录的是一些科研绘图的实现方法,具体介绍从软件安装到实现图表绘制的详细过程。 1.软件安装-Origin 2022 Origin是一款具有丰富绘图功能的科研绘图软件,安装过程…

百卓Smart管理平台 uploadfile.php 文件上传漏洞(CVE-2024-0939)

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

基于opencv-python模板匹配的银行卡号识别(附源码)

目录 介绍 数字模板处理 银行卡图片处理 导入数字模板 模板匹配及结果 介绍 我们有若干个银行卡图片和一个数字模板图片,如下图 我们的目的就是通过对银行卡图片进行一系列图像操作使得我们可以用这个数字模板检测出银行卡号。 数字模板处理 首先我们先对数…

2024Node.js零基础教程(小白友好型),nodejs新手到高手,(六)NodeJS入门——http模块

047_http模块_获取请求行和请求头 hello,大家好,那第二节我们来介绍一下如何在这个服务当中来提取 HTT 请求报文的相关内容。首先先说一下关于报文的提取的方法,我在这个文档当中都已经记录好了,方便大家后续做一个快速的查阅。 …

Python速成篇(基础语法)下(新年快乐♥)

引言 一天不学编程手就痒,今天是除夕,学C艹vector的话就没时间出去玩了,所以就写写博客。今天要讲的内容是关于,list(列表),tuple(元组),字典(di…

C#,巴都万数列(Padonve Number)的算法与源代码

1 巴都万数列(Padovan Sequence) 巴都万数列(Padovan Sequence)是一个整数数列。 首数个值为1, 1, 1, 2, 2, 3, 4, 5, 7, 9, 12, 16, 21, 28, 37 ... 此数列以建筑师理察巴都万命名,他的论文Dom(1994年&a…

Select 选择器 el-option 回显错误 value

离谱 回显的内容不是 label 而是 value 的值 返回官方看说明: v-model的值为当前被选中的el-option的 value 属性值 value / v-model 绑定值有3种类型 boolean / string / number 根据自身代码猜测是:tableData.bookId 与 item.id 类型不一致导致 &…

C++入门学习(二十六)for循环

for (初始化; 条件; 递增/递减) { // 代码块 } 打印1~10&#xff1a; #include <iostream> using namespace std; int main() { for (int i 1; i < 10; i) { cout <<i<<endl; } return 0; } 打印九九乘法表&#xff1a; #include <iostream…

大模型基础架构的变革:剖析Transformer的挑战者(下)

上一篇文章中&#xff0c;我们介绍了UniRepLKNet、StripedHyena、PanGu-π等有可能会替代Transformer的模型架构&#xff0c;这一篇文章我们将要介绍另外三个有可能会替代Transformer的模型架构&#xff0c;它们分别是StreamingLLM、SeTformer、Lightning Attention-2&#xff…

1、学习 Eureka 注册中心

学习 Eureka 注册中心 一、创建 Eureka 微服务0、SpringBoot 和 SpringCloud 版本1、引入 Eureka 服务端依赖2、启动类加 EnableEurekaServer 注解3、配置 yaml 文件&#xff0c;把 Eureka 服务注册到 Eureka 注册中心4、访问 Eureka 服务端&#xff0c;查看注册中心的服务列表…

Blazor Wasm Gitee 码云登录

目录: OpenID 与 OAuth2 基础知识Blazor wasm Google 登录Blazor wasm Gitee 码云登录Blazor SSR/WASM IDS/OIDC 单点登录授权实例1-建立和配置IDS身份验证服务Blazor SSR/WASM IDS/OIDC 单点登录授权实例2-登录信息组件wasmBlazor SSR/WASM IDS/OIDC 单点登录授权实例3-服务端…

[神奇代码岛】皮肤功能使用

前言 最近有很多人在制作地图的时候&#xff0c;因该会用到皮肤的功能&#xff0c;但是皮肤操作只知道UI操作&#xff0c;但缺点是&#xff0c;只能设置地图默认皮肤&#xff0c;根本都做不到想要的什么皮肤购买功能&#xff0c;自主穿戴功能&#xff0c;而API官方又放在非常隐…

Blazor SSR/WASM IDS/OIDC 单点登录授权实例2-登录信息组件wasm

目录: OpenID 与 OAuth2 基础知识Blazor wasm Google 登录Blazor wasm Gitee 码云登录Blazor SSR/WASM IDS/OIDC 单点登录授权实例1-建立和配置IDS身份验证服务Blazor SSR/WASM IDS/OIDC 单点登录授权实例2-登录信息组件wasmBlazor SSR/WASM IDS/OIDC 单点登录授权实例3-服务端…

SpringCloud-Ribbon实现负载均衡

在微服务架构中&#xff0c;负载均衡是一项关键的技术&#xff0c;它可以确保各个服务节点间的负载分布均匀&#xff0c;提高整个系统的稳定性和性能。Spring Cloud 中的 Ribbon 就是一种负载均衡的解决方案&#xff0c;本文将深入探讨 Ribbon 的原理和在微服务中的应用。 一、…

12 ABC串口接收原理与思路

1. 串口接收原理 基本原理&#xff1a;通过数据起始位判断要是否要开始接收的数据&#xff0c;通过采样的方式确定每一位数据是0还是1。 如何判断数据起始位到来&#xff1a;通过边沿检测电路检测起始信号的下降沿 如何采样&#xff1a;一位数据采多次&#xff0c;统计得到高…