STMCU小助手
发布时间:2022-7-13 10:10
|
前言. L7 ^8 ~- k$ J. ]+ B3 R. g5 y 在嵌入式设计中,对大量数据的需求不断增加。存储器(特别是RAM)已成为十分宝贵的资源,了解该存储器的最佳使用方式是获得最佳性能的关键所在。 本应用笔记旨在帮助用户通过研究不同场景,从STM32F413/F423微控制器的更高SRAM性能和更低功耗中获益。& b: X* W/ ]8 H 主要目标是介绍架构设计和系统模块功能,可以对它们进行调整以优化应用。 : B8 \% ]+ A; w6 z: W H! S 9 V5 W$ K& Z! _8 K 1 STM32F413/F423系统架构概述 优化系统性能的第一步是了解系统的高层架构图 1显示了STM32F4系列的简化框图。 K$ W5 Q4 O. O W # U0 Y$ \6 B. E( ?
1.1 STM32F413/F423内核总线 STM32F413/F423器件基于带有FPU(浮点单元)内核的Cortex®-M4内核,它使用哈佛体系结构,结合存储器映射总线。) U) g: E0 }, @+ @. L! U 总线矩阵提供从主设备到从设备的访问,可实现并发访问和高效运行。 • I-bus:内核用来从包含代码的存储器(内部闪存/SRAM)取指令的指令总线。 ^! }4 z. f5 Q • D-bus:内核用来进行文字加载和对/从包含代码或数据的存储器(内部闪存/SRAM)进行调试访问的数据总线。 • S-Bus:内核用来访问外设或SRAM中数据的系统总线。也可通过该总线取指令。该总线的访问目标是内部SRAM,AHB 1外设包括APB外设和AHB2外设。 6 L3 i% r) R8 \# w3 B/ X' R 1.2 嵌入式SRAM ' _) F4 j5 A5 ]* C" N STM32F413/F423具有320 K字节SRAM。 |3 |3 b& p: @; a+ ^) K. z* W/ Y, V 该内置SRAM分为两块:5 u) ~; ^- M+ i! U • 映射到地址0x2000_0000的SRAM1,所有AHB主设备均可访问。1 \6 y) E* T% ?- O |9 `4 F( m • 映射到地址0x2004_0000的SRAM2,所有AHB主设备均可访问。 在STM32F413/F423中,可按以下方式访问SRAM2: • 可通过I-Code总线取指令。通过D-Code总线执行数据访问。- h6 B( H2 k+ ~, ?1 D • 可通过系统总线取指令和访问数据。 • 数据访问是别名。指令访问不是别名。 独立总线在加载或存储指令时十分有用,因为可以同时取指令和访问数据,无需插入总线矩阵仲裁。 n6 e# e6 O) B7 Z, i# G. @* E 当SRAM2被映射到地址范围0x1000 0000至0x1000 FFFF时,CPU可通过I-bus和D-bus访问SRAM2存储器。) X3 `+ f! u. |. d; h' d 系统总线的访问周期时间取决于访问类型: • 系统总线数据访问不会增加内核的延时。3 z) q4 `# ^) o! {- T4 r • 指令访问会增加一个等待状态的内核延时。 将代码和数据存入两个SRAM块有助于提高并行能力和整体性能。 注: 对于典型应用,通过在SRAM2中插入关键代码和在SRAM1中插入数据和堆栈可获得最佳性能。' L( I7 T: D. q1 ]% X% \3 I! e 1 i" M4 G8 u- Y% ^ 1.3 性能和功耗的比较研究 使用Core-Mark算法执行性能和功耗的比较研究。1 P. O Q- `: T8 s) }- U$ ~5 Q 按照上述建议和以下系统配置执行该算法: ^# `6 \4 o3 Z 系统配置:( V6 @" f G. M4 N 1. 从闪存执行 2. 从SRAM执行8 d1 L% x! |/ X# y. @ 测试条件:4 t/ N# Y t& b F! Y2 \7 A, b • 在室温20℃和VDD=3.3V的条件下执行测试。 • 如果从闪存运行, – ART使能 – 添加3个等待状态(WS)。3 J2 r& F1 H4 t8 ^9 C- m, K 9 Z8 H- h1 H' ` l: K 1.3.1 第一种场景:从闪存执行代码,同时数据存放在SRAM1中 1 Y; i( j# F! d1 p5 C$ j , ]0 n6 X/ F0 S " V5 u0 W( L ~0 y# f
1.3.2 第二种场景:从SRAM2执行代码,同时数据存放在SRAM1中 5 U6 q" z$ {8 ? q 1 J# a. x+ w7 u; S( I 8 c4 j) Y+ k' M0 @$ O9 u. e) g
* E. n0 j, A+ W% E' _# r0 U4 k3 [ u 1.3.3 性能结果的比较研究 k9 f$ a r+ T8 f 表 1显示了获得的结果:
7 V; p8 L6 ^* j& ?0 W9 ^ 1.3.4 功耗结果的比较研究 表 2显示了获得的结果: % P8 H% {2 B# G+ h0 H
完整版请查看:附件! B; _3 w& @ O, | 2 }- z$ u4 ]9 R4 K8 r |
DM00377852_ZHV1.pdf
下载213.37 KB, 下载次数: 3
【福利三:雨露均沾·逢7狂欢】之四:用一个定时器同步另外两个定时器输出PWM
【逢7发帖赢大礼】STM32开发之WIFI实时时钟
【逢7发帖赢大礼】STM32开发之指纹识别!
【逢7发帖赢大礼】STM32开发之环境空气质量监测
【逢7发帖赢大礼】STM32开发之人体实时运动信息监测!
【逢7发帖赢大礼】STM32开发之IC门禁卡UID读取方法!
【逢7发帖赢大礼】全网最简单的Arduino_STM32开发环境搭建教程!
STM32F4中文用户手册
STM32F400、STM32F402 Cortex-M4超值单片机
SPI 高温读错最后一位?STM32F42xx 官方根治方案
微信公众号
手机版