前言 7 R+ h3 G: Y# X7 v 本参考手册面向应用开发人员, 提供有关使用 STM32F413/423 微控制器存储器与外设的完整信息。: B. b& |$ Q1 J6 K STM32F413/423 构成一个微控制器系列,各产品具有不同的存储器大小、封装和外设。 Q/ f \2 ?2 R3 ?3 `" R 有关订购信息以及器件的机械与电气特性,请参见数据手册。; N% c3 L9 U# i2 j2 l6 T 有关 Arm® 带 FPU 的 Cortex®-M4 内核的信息,请参见Cortex®-M4 技术参考手册。6 G; W6 @0 r7 m6 S; |6 s 0 E+ G3 |( k8 [. ^4 ` 7 Y# q& \5 ^; I 相关文档5 q9 V, z' d: q8 L. ]$ ? 意法半导体网站提供以下文档:/ H9 x7 I8 _% F5 I2 T: N - STM32F413/423xG/xH 数据手册4 ^3 I" d" F9 x' F" H& I" ~4 @, Z/ ~$ Z - STM32F3 和 STM32F4 系列带 FPU 的 Cortex®-M4 编程手册 (PM0214),提供关于 Arm带 FPU 的 Cortex®-M4 的信息。: X3 y @, ]8 S0 Q 8 V% n& L. `# t e" w. Q 1 文档约定 6 A8 ]8 `' B" [" r Y" s# e- t, g 1.1 一般信息 STM32F413/423 器件具有 Arm®(a) Cortex®-M4 with FPU 内核 1.2 寄存器相关缩写词列表 寄存器说明中使用以下缩写词 - Q* @1 f: M. V+ V# ? / W4 t& U) m, [1 D 8 y9 C7 _7 r1 Y; K5 B 2 系统和存储器概述( B& S& S+ P- H1 ~ 2.1 系统架构 STM32F413/423 的主系统由 32 位多层 AHB 总线矩阵构成,可实现以下部分的互连:) @: t4 q, p) C& q) I 六条主控总线:6 D, H; g( g: z6 ]+ e8 E& U8 C/ n – 带 FPU 的 Cortex®-M4内核 I 总线、D 总线和 S 总线 – DMA1 存储器总线 – DMA2 存储器总线9 H; N7 _ z- V, m# S) G – DMA2 外设总线2 l# D0 ^' T9 D6 N* s2 d 七条被控总线: e% f3 b7 P" l w- T& r – 内部 Flash ICode 总线- g; {5 L/ k/ z – 内部 Flash DCode 总线 – 主内部 SRAM1 (256 KB) – 辅助内部 SRAM2 (64 KB)* s. R' s/ i0 `6 O; q2 S/ O – AHB1 外设(包括 AHB-APB 总线桥和 APB 外设)% Q; D1 s0 H- k& Q/ s1 t – AHB2 外设" P! J& t# ?# F# a0 X – FSMC/QuadSPI 借助总线矩阵,可以实现主控总线到被控总线的访问,这样即使在多个高速外设同时运行期 间,系统也可以实现并发访问和高效运行。此架构如图 1 所示。 2.1.1 I 总线 此总线用于将带 FPU 的 Cortex®-M4 内核的指令总线连接到总线矩阵。内核通过此总线获取2 v8 q5 ]1 ?& l c 指令。此总线访问的对象是包含代码的存储器(内部 Flash/SRAM1/SRAM2)。 # r2 B9 a8 k6 B d, Y 2.1.2 D 总线 此总线用于将带 FPU 的 Cortex®-M4 的数据总线连接到总线矩阵。内核通过此总线进行立 即数加载和调试访问。此总线访问的对象是包含代码或数据的存储器(内部 Flash/SRAM1/0 N( A; j+ ?/ v3 t( p4 n6 Q SRAM2)。 2.1.3 S 总线3 z5 l* D7 F8 l 此总线用于将带 FPU 的 Cortex®-M4 内核的系统总线连接到总线矩阵。此总线用于访问位 于外设、SRAM1 或 SRAM2 中的数据。也可通过此总线获取指令(效率低于 ICode)。此 总线访问的对象是内部 SRAM1/SRAM2、包括 APB 外设在内的 AHB1 外设、AHB2 外设和 外部存储器(通过外设接口 FSMC 和 QUADSPI)。9 p& L/ A6 K/ a8 ? 2.1.4 DMA 存储器总线" z& h( @% b# `' \+ E 此总线用于将 DMA 存储器总线主接口连接到总线矩阵。DMA 通过此总线来执行存储器数据 的传入和传出。此总线访问的对象是数据存储器:内部 Flash、内部 SRAM1/SRAM2 以及 S4 中包括 APB 外设在内的 AHB1/AHB2 外设。 % t( S/ u! A0 e! s 2.1.5 DMA 外设总线6 b, X' |) u* ~1 e 此总线用于将 DMA 外设主总线接口连接到总线矩阵。DMA 通过此总线访问 AHB 外设或执: N8 i4 M9 F6 M" _6 h+ [' c 行存储器间的数据传输。此总线的访问对象是 AHB 和 APB 外设以及数据存储器:Flash 和) ^) j) J; ~ Y$ U+ ^3 m8 i 内部 SRAM1/SRAM2。 ( F* L2 _# d0 b U L* x7 D' G 2.1.6 总线矩阵 总线矩阵用于主控总线之间的访问仲裁管理。仲裁采用循环调度算法。 - T1 ~0 w) A, F$ F% W 2.1.7 AHB/APB 总线桥 (APB)) @/ j/ E _0 K$ Q 借助两个 AHB/APB 总线桥 APB1 和 APB2,可在 AHB 总线与两个 APB 总线之间实现完全同步的连接,从而灵活选择外设频率。 有关 APB1 和 APB2 最大频率的详细信息,请参见器件数据手册;有关 AHB 和 APB 外设地址映射的信息,请参见表 1。 每次芯片复位后,所有外设时钟都被关闭(SRAM 和 Flash 接口除外)。使用外设前,必须在 RCC_AHBxENR 或 RCC_APBxENR 寄存器中使能其时钟。 注: 对 APB 寄存器执行 16 位或 8 位访问时,该访问将转换为 32 位访问:总线桥将 16 位或 8 位数据复制后提供给 32 位向量。 ; C+ U* c( v6 ^; K2 r ( M3 W/ I, v6 X7 ]! }% v 5 G9 x+ g( B) e; |& s, ^: e/ Y# d 2.2 存储器组织结构) D/ e' U7 ]$ o 2 m- ] q7 [3 f" p: n2 I* C5 K 2.2.1 简介 程序存储器、数据存储器、寄存器和 I/O 端口排列在同一个线性(即地址连续)的 4 GB 地址空间内。 各字节按小端格式在存储器中编码。一个存储字单元中编号最低的字节被视为该字的最低有效字节,而编号最高的字节被视为最高有效字节。 可寻址的存储空间分为 8 个主要块,每个块为 512 MB。, r# c B3 I3 a+ p 可访问的地址空间取决于主控总线,有关详细信息,请参见第 2 部分:存储器和总线架构。 2.2.2 存储器映射和寄存器边界地址 未分配给片上存储器和外设的所有存储器映射区域均视为“保留区”。有关可用存储器和寄存器区域的详细映射,请参见下表。下表给出了器件中可用外设的边界地址。( r7 @! s/ Z2 P / H9 i' g3 y `% x/ `4 V: ] 0 v: G6 V4 T3 b1 T- k1 t4 A ^ 2.3 嵌入式 SRAM5 B, n q A) V * H2 i% @, j! B STM32F413/423 器件具有 320 KB 的系统 SRAM。 嵌入式 SRAM 可按字节、半字(16 位)或全字(32 位)访问。读写操作以 CPU 速度执行,且等待周期为 0。" d A$ e9 p$ Y( [ T E4 M; t 嵌入式 SRAM 可分为两个块: - 映射到地址 0x2000 0000 的 SRAM1,可供所有 AHB 主控总线访问。$ k" q( Q- s# [) G3 w; ]4 V - 映射到地址 0x2004 0000 的 SRAM2,可供所有 AHB 主控总线访问。, K6 D5 M; ^! v6 K- m0 i( `( K 如果选择从 SRAM1 自举或选择物理重映射(请参见第 8.2.1 节:SYSCFG 存储器重映射寄存器 (SYSCFG_MEMRMP)),则 CPU 可通过系统总线或 I-Code/D-Code 总线访问嵌入式SRAM1。 为了保证程序在 SRAM1 执行时实现最佳性能,应选择物理重映射(通过自举管脚及软件配置来选择)。: S" m( J2 I. T* b 9 O+ A$ i4 W9 A' d" n ...& M4 ~3 s1 i4 R! s5 c$ C2 \& T2 N 4 T" S+ B3 i) F( s 下载文档,阅读完整资料6 A# N4 }/ W# a6 w, m $ v* R; ~" k8 l; q+ w7 a2 K, } 下载地址1>> 下载地址2>> 更多实战经验>> |
STM32固件库分享,超全系列整理
【中文文档】AN3965_STM32F40x和STM32F41x基于串口的IAP
STM32F4-DISC 实现USB主机(U盘)和USB设备(虚拟串口)自动切换
STM32F4中文用户手册
基于STM32F407的FreeRTOS阶段性的总结(13)
STM32F400、STM32F402 Cortex-M4超值单片机
基于STM32F407的FreeRTOS获取各任务运行时间及占用情况(4)
基于STM32F407的FreeRTOS任务的挂起与恢复(3)
基于STM32F407的FreeRTOS任务的创建与删除经验分享(2)
基于STM32F407的FreeRTOS环境搭建经验分享(1)