你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32G4的内核性能

[复制链接]
STMCU小助手 发布时间:2021-12-7 11:00
1.ART加速# F4 `2 U$ [' p0 O, X% `" e
( v4 f( \2 M$ J% d- P
20200723165226551.png
" B' s% v9 ?* p+ k
% A( K  r$ p' q' ^& s2 L3 Z
ART在Flash之前,ART加速可以提高Flash的读取运行速度。- C5 `( X! f' m

) J7 a% P( y! V/ W% |% r! W1 W/ R1 l➢ 程序实现(任选一种):9 g- g/ E/ C$ ]) I# X+ @8 C' a( E
1,使用库函数(HAL):4 v4 n9 e6 M+ Z2 E8 L7 u9 ~
__HAL_FLASH_INSTRUCTION_CACHE_ENABLE();* h1 _: {: z& a6 f* l' ^) u4 A$ `
__HAL_FLASH_DATA_CACHE_ENABLE();) S6 A6 A, Q: q" }% O$ i/ X, K
$ N3 ^! ?+ f8 M+ \
2,寄存器操作:
2 l9 M! Q1 K1 l, h. xFLASH->ACR |= (1<<9);//将第9位置1% }" q. d9 V9 ~$ s. o  l
FLASH->ACR |= (1<<10);//将第10位置17 E4 z/ {1 M9 u% Q  t  i7 |, V
# |7 i% @' Q, r$ Z3 ?
20200723203747815.png
$ M. P6 ~- {4 n' C9 ?" I  o) V2 ^3 W4 s
9 i+ w* V) d  Z& l) D. |/ w
如果要将时钟跑到170MHz,需要设置到Rang1 Boost模式$ D' d/ F, Q# V
! q, M, I9 B, S' B
2.CCM SRAM
9 L+ z" M& e9 L4 l" f' C; Q0 w+ L# S- W' y& ~/ b" E* C2 A
20200723204415722.png
! x) K7 n" l8 B3 L; u) I3 I
! V, p, p( O/ y  t: d
CCM SRAM直接连接到 I-Bus ,D-Bus中,可以提升关键代码的速度,建议可以将关键代码放在这个区域。
3 g* V6 Y$ S& w. J8 \. F: g. z) w  S8 E: T! J3 [. t
3.CoreMark测试, Q; z2 G0 v0 A6 ?# T) t
• CoreMark是一项测试处理器性能的基准测试
7 w5 K1 i* ]+ ~) D8 f• 代码使用C语言写成,包含:列举,数学矩阵操作和状态及CRC等运算法则
! R# X1 |8 w3 N7 r• 目前CoreMark已迅速成为测量与比较处理器性能的业界标准基准测试, }, F( D* D9 U: J& @8 _
• CoreMark的得分越高,意味着性能更高) u0 I, x$ g3 o. u5 X: v2 Q- ]
• CoreMark官网的连接地址:http://www.eembc.org/coremark/index.php4 A2 w5 L- _! E$ b
7 o3 O# C3 O$ u; B! O" o2 i) l
20200723210125642.png

4 c$ m/ x* @9 f) l$ \
: t8 F5 z$ b4 ?, [; M& S& O9 r8 ~* b
20200723210416867.png
$ a$ {, u, H+ ^& c" X
3 I+ q& M  C( w
比较处理器的时候,不要单看主频,还需要了解综合的实力,有的处理器主频虽高,但是没有太大的用。
9 M& Y) C" l. \2 n: r
) D& I$ d% _  }. U% C) Y" ?/ l! S4.浮点运算* b/ B1 |6 T% k% m
能提高运算精度,减少运算转化之间的损失,做算法类的项目需要用到的比较多。
. _; ?, ~: x6 i
! a* w0 J, j/ N
20200723211234758.png

0 T+ C8 r) C, `+ o! h* W; e2 G8 H0 @* U) w; D% i4 D: L
注意:除法和开方的运算周期过长,如无必要,尽量不要用,尽量将其转化为运算周期较少的加减乘运算
, d1 \" T& R' @; @8 r5 P, u. x4 R: L9 B* M' r1 Q% P
2020072321171914.png
& r1 m$ A+ s" H2 S9 H% y- P
0 ?0 _  j- T% t) |. e. u
浮点运算实例:) ^0 @5 i2 x) e7 k; v7 U2 D% Y3 M5 e
一般需要在运算结果前写上(float)或者标注f,否则一律认为其为双精度,将会大大增加运算的时间。% t4 t6 _8 [: {" p% a' x
0 H1 C& s5 ~* p6 j  A, g8 l
浮点运算-FIR(滤波运算)
: j- ]0 J: k4 @2 V2 E% z1 K/ \在这里插入图片描述" p4 Z+ {7 O+ @- z' t- }/ l

2 ~2 V7 j: M1 o
20200723212510526.png
6 P) }7 V9 F! {( t2 H: o' }7 r* f# C/ P

/ e, b( U& d4 T- {4 K& b4 {% U
20200723213655602.png

1 o$ `! h5 @0 l' r0 ?( t  J; u6 e$ s" `4 O' z
先看内核再看主频,才能判断效率,比如F1和F3都是72M的主频,可是F3是M3的内核,比M1的FIR运算快了7倍!!!!; |% x6 N, @* f- E2 Y

  A$ j1 b. k% T3 e/ v/ D* A
$ g/ l9 M0 s) F! N1 a# ^+ {9 }
' e! ^; ^3 H) ]
收藏 评论0 发布时间:2021-12-7 11:00

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版