Cortex M内核 & 芯片

F407系统架构


注:64KB CCM(内核耦合存储器)数据 RAM不属于总线矩阵,只能存数据,不支持DMA,但访问速度快
总线矩阵:总线矩阵用于主控总线之间的访问仲裁管理。仲裁采用循环调度算法。


8条主控总线

1. S0: I-BUS
此总线用于将 Cortex™-M4F 内核的指令总线连接到总线矩阵。内核通过此总线获取指令。 此总线访问的对象是包含代码的存储器(内部 Flash/SRAM 或通过 FSMC 的外部存储器)。

2. S1: D-BUS
此总线用于将 Cortex™-M4F 数据总线和 64 KB CCM 数据 RAM 连接到总线矩阵。内核通过此总线进行立即数加载和调试访问。此总线访问的对象是包含代码或数据的存储器(内部Flash 或通过 FSMC 的外部存储器)。

3. S2: S-BUS
此总线用于将 Cortex™-M4F 内核的系统总线连接到总线矩阵。此总线用于访问位于外设 或 SRAM 中的数据。也可通过此总线获取指令(效率低于ICode)。此总线访问的对象是 112 KB、64 KB 和 16 KB 的内部 SRAM、包括 APB 外设在内的 AHB1 外设、AHB2 外设以 及通过 FSMC 的外部存储器。

4. S3\S4: DMA存储器总线
此总线用于将 DMA 存储器总线主接口连接到总线矩阵。DMA 通过此总线来执行存储器数据的传入和传出。此总线访问的对象是数据存储器:内部 SRAM(112 KB、64 KB、16 KB) 以及通过 FSMC 的外部存储器。

5. S5: DMA外设总线
此总线用于将 DMA 外设主总线接口连接到总线矩阵。DMA 通过此总线访问 AHB 外设或执 行存储器间的数据传输。此总线访问的对象是 AHB 和 APB 外设以及数据存储器:内部 SRAM 以及通过 FSMC 的外部存储器。

6. S6: 以太网总线
此总线用于将以太网 DMA 主接口连接到总线矩阵。以太网 DMA 通过此总线向存储器存取 数据。此总线访问的对象是数据存储器:内部 SRAM(112 KB、64 KB 和 16 KB)以及通过 FSMC 的外部存储器。

7. S7: USB\OTG\HS\DMA总线
此总线用于将 USB OTG HS DMA 主接口连接到总线矩阵。USB OTG DMA 通过此总线向存储 器加载/存储数据。此总线访问的对象是数据存储器:内部 SRAM(112 KB、64 KB 和 16 KB) 以及通过 FSMC 的外部存储器。


AHB/APB 总线桥:借助两个 AHB/APB 总线桥 APB1 和 APB2,可在 AHB 总线与两个 APB 总线之间实现完全 同步的连接,从而灵活选择外设频率。
总线时钟频率
AHB1/2: 168MHz
APB1: 42MHz
APB2: 84MHz

F407存储器映射

寻址范围

  1. 32位的单片机有32根地址线,每根地址线有两种状态(导通1/不导通0)
  2. 单片机单片机内存地址访问的存储单元是按字节编址的(而不是bit)
    STM32寻址大小:2^32 = 4G
    STM32寻址范围:0x0000 0000 ~ 0xFFFF FFFF

存储器映射

存储器本身没有地址信息,对存储器分配地址的过程称为存储器映射。
ST将4GB(2^32)地址空间分成8个块,每个块512M

F407寄存器映射

寄存器是单片机内部一种特殊的内存,可以实现对单片机各个功能的可控制。给寄存器地址命名的过程,就叫寄存器映射。

STM32寄存器分类

寄存器描述解读


①寄存器名字
②偏移量及复位值
偏移量针对外设的基地址
③寄存器位表
④位功能描述

寄存器操作举例

*(unsighed int*)(0x4001 080C) = 0xFFFF;
/* 定义一个名字后再操作 */
#define GPIOA_ODR       *(unsighed int*)(0x4001 080C)
GPIOA_ODR = 0xFFFF;

如何计算寄存器地址
首先将寄存器地址分为三个部分

  1. 总线基地址(BUS_BASE_ADDR)

APB1总线基地址也叫做外设基地址(PERIPH_BASE)
2. 外设基于总线基地址的偏移量(PERIPH_OFFSET)
3. 寄存器相对于外设基地址的偏移量(REG_OFFSET)
寄存器地址 = BUS_BASE_ADDR + PERIPH_OFFSET + REG_OFFSET

使用结构体对寄存器进行映射

typedef struct
{__IO uint32_t CRL;__IO uint32_t CRH;__IO uint32_t IDR;__IO uint32_t ODR;__IO uint32_t BSRR;__IO uint32_t BRR;__IO uint32_t LCKR;
} GPIO_TypeDef;#define  GPIOA   ((GPIO_TypeDef*)GPIOA_BASE)
GPIOA-> ODR = 0xFFFF;

STM32 第7讲 STM32F407系列系统架构及映射相关推荐

  1. 深入分析 iBATIS 框架之系统架构与映射原理【转】

    深入分析 iBATIS 框架之系统架构与映射原理 许 令波 (xulingbo0201@163.com), Java 工程师, 淘宝网 简介: iBATIS 通过 SQL Map 将 Java 对象映 ...

  2. 【STM32】标准外设库,系统架构,时钟系统

    文章目录 标准外设库 系统架构 时钟系统 标准外设库 官方库目录列表如下:STM32 标准外设库 工程结构:STM32 不完全手册中新建出来的工程模板 系统架构 STM32 系统架构的知识可以在< ...

  3. 架构师的 36 项修炼第07讲:高性能系统架构设计

    本课时讲解大家常听到的高性能系统架构. 高性能系统架构,主要包括两部分内容,性能测试与性能优化.性能优化又可以细分为硬件优化.中间件优化.架构优化及代码优化,知识架构图如下. 性能测试 先看系统的性能 ...

  4. 第十五章 深入分析iBatis框架之系统架构与映射原理(待续)

    iBatis框架主要的类层次结构 iBatis框架的设计策略 iBatis框架的运行原理 iBatis框架对SQL语句的解析 数据库字段映射到Java对象 示例运行的结果 设计模式解析之简单工厂模式 ...

  5. 深入分析 iBATIS 框架之系统架构与映射原理--转载

    http://www.ibm.com/developerworks/cn/java/j-lo-ibatis-principle/ iBATIS 通过 SQL Map 将 Java 对象映射成 SQL ...

  6. 系统架构师大会推荐的10本云计算图书

    本文讲的是系统架构师大会推荐的10本云计算图书 [IT168 资讯]2010年系统架构师大会于8月28日在北京落下帷幕."云计算"成为此次大会的一大焦点,IT168企业级编辑部总编 ...

  7. 微型计算机工业控制技术,基于ARM的微机原理与接口技术(STM32嵌入式系统架构编程与应用嵌入式与工业控制技术高等学校电子信息类专业系列教材)...

    导语 内容提要 本书首先介绍微型计算机的相关概念及嵌入式系统的应用,接着介绍Cortex M3微处理器架构及开发方法,介绍汇编语言及其程序设计.在开发应用方面,以STM32F103VET6为背景,介绍 ...

  8. 【STM32】STM32F4系统架构

    00. 目录 文章目录 00. 目录 01. 系统架构 02. 总线架构图 03. 总线详解 05. 参考手册 06. 附录 01. 系统架构 主系统由 32 位多层 AHB 总线矩阵构成,可实现以下 ...

  9. 软考高级之系统架构设计师系列【2】考试说明及考点分析

    有道无术,术尚可求,有术无道,止于术. 本系列参考系统架构设计师教程[清华大学出版社] 文章目录 考试要求 科目一考点 第1章 操作系统(3分) 第2章 数据库系统(5分) 第3章 嵌入式系统(2分) ...

最新文章

  1. 揭示生命的奥秘——生物信息学
  2. 深度强化学习入门到精通--资料综述
  3. Eclipse 快捷键(转载)
  4. MTK6515 android打版软件配置(DrvGen.exe 使用)
  5. neo4j 4.1.8版本安装图算法包
  6. 英伟达jetson tx1开发套件配置tensorflow
  7. 我的Python成长之路---第一天---Python基础(5)---2015年12月26日(雾霾)
  8. 常见单元测试工具介绍
  9. SpringBoot—JPA和JDBC常用配置说明
  10. 菜单黑暗模式UI动画素材模板
  11. glog 编译报错 ERROR macro is defined. Define GLOG_NO_ABBREVIATED_SEVERITIES before including logging.h.
  12. 项目开发版本控制----Git
  13. 海康VisionMaster与西门子Smart 200进行S7通信
  14. easy-scratch3源码分析
  15. Android阿里云推送
  16. codeforces920 C. Swap Adjacent Elements【连通块 + 前缀和】
  17. LSUN数据集读取和解压,mdb格式转换为jpg格式(保姆教程)
  18. 【github】论怎么去写一个高大上的ReadMe
  19. 基于springboot的租房网站
  20. 教女朋友用Python快速绘制图表

热门文章

  1. 桌面日历软件——让每天过得有目标
  2. python运行按钮灰色_关于Android Studio中Run按钮是灰色的解决
  3. 微信公众号掉粉原因分析,公众号运营者请对照排查
  4. 大写的1到10字怎么写?
  5. 个人计算机称为pc属于,个人计算机缩写为PC,这种计算机属于().
  6. python爬取标题和作者时间的小程序
  7. 软件工程考研复试速成 - 知识点精炼 - 背诵版
  8. image 图片生产XPS文件
  9. word文档转html
  10. 阿里云高新技术企业认定介绍及常见问题