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

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

[复制链接]
STMCU小助手 发布时间:2021-12-7 11:00
1.ART加速+ g1 s: C( p% F" m5 l, u3 z3 N8 A+ t
( D  g4 R7 r9 O: k& a' \7 }
20200723165226551.png

; Z/ |+ R2 ~7 q- L) m) @# q6 X
8 Q3 C; t, w6 ~* m( RART在Flash之前,ART加速可以提高Flash的读取运行速度。9 F" Y! j- ^; J" F: K

# Y: n3 L: t. g- m: Y1 ?➢ 程序实现(任选一种):: f; R% n, m0 Q) {8 ?
1,使用库函数(HAL):
0 X0 g. \" G6 v% d8 A__HAL_FLASH_INSTRUCTION_CACHE_ENABLE();; l0 E! f4 k) s1 S% U; z# k& E/ f, b3 R
__HAL_FLASH_DATA_CACHE_ENABLE();( B. @) j2 C& n3 O6 d4 c

  c# u5 \: ]$ U2,寄存器操作:5 |$ n( i3 D9 R" G$ m
FLASH->ACR |= (1<<9);//将第9位置1
( e6 L3 x$ R( ]. P/ ~" ^FLASH->ACR |= (1<<10);//将第10位置1
4 ?/ n) H# u: p2 ^% ?& g; b4 l0 d0 D2 _6 F" z2 ^5 H
20200723203747815.png

6 {- Z2 T/ ^$ S
* z9 o, E$ i3 b: q2 x$ S3 t如果要将时钟跑到170MHz,需要设置到Rang1 Boost模式' k$ j6 h  U1 Z8 X9 t  C1 M" F
% L. Q5 N) i$ s0 E4 d
2.CCM SRAM
& V( Q  k+ X* y5 o" Y+ a( l! o0 h  L# f% r6 b
20200723204415722.png

" L6 g& d! h" T% D$ G/ p( O2 C
6 a5 S( `; @0 I! T' GCCM SRAM直接连接到 I-Bus ,D-Bus中,可以提升关键代码的速度,建议可以将关键代码放在这个区域。
! m8 ?0 N, ]1 K3 k; u
( w% S( V+ @, ]; V; k1 T, b3.CoreMark测试0 E3 \& k, R) p! H
• CoreMark是一项测试处理器性能的基准测试
9 L$ h# T. b# }  C2 {• 代码使用C语言写成,包含:列举,数学矩阵操作和状态及CRC等运算法则9 \/ `  _# \' u& Y% g' T: q- ?
• 目前CoreMark已迅速成为测量与比较处理器性能的业界标准基准测试
7 T, F4 j7 S7 A' y. Y• CoreMark的得分越高,意味着性能更高
$ a' |/ J! I" l; v; W• CoreMark官网的连接地址:http://www.eembc.org/coremark/index.php。' R* S* F) X' q  ]/ P( s* @

6 y. [) q( N: K5 S
20200723210125642.png

1 f) ?+ {! h3 u+ _6 o, r
! Z: ~* C: O/ E' G0 o$ B
20200723210416867.png

4 D  X7 V1 k2 _% H! O8 w- G6 d- ~  H9 _9 m5 i0 d" g5 V
比较处理器的时候,不要单看主频,还需要了解综合的实力,有的处理器主频虽高,但是没有太大的用。
/ B' n- v+ j* n
. B1 K: C2 W4 c5 D4.浮点运算4 w; S- R8 M6 `/ a
能提高运算精度,减少运算转化之间的损失,做算法类的项目需要用到的比较多。
* p: ~# @& Q% V6 O% P; h/ i* _$ s' t. b8 Z0 b4 ^
20200723211234758.png

1 p# ]; W" ~1 {) J' K  R$ j" a5 d  b/ U7 i# r+ S* E
注意:除法和开方的运算周期过长,如无必要,尽量不要用,尽量将其转化为运算周期较少的加减乘运算
# m5 F, p, W+ R2 o& I% v7 A1 I. T# g* F3 |1 t& q
2020072321171914.png
; Q% {! q  }$ E0 Y4 j
  ~8 D" P, K6 S/ c
浮点运算实例:
8 t( p& \1 x# ^6 G% t7 E2 D一般需要在运算结果前写上(float)或者标注f,否则一律认为其为双精度,将会大大增加运算的时间。
) \& g; s+ \* j0 o& Q9 Q
1 x$ {/ k0 J+ g' W. k& s" i" @; x浮点运算-FIR(滤波运算)) [/ c1 v8 r+ S5 n
在这里插入图片描述' J- }& {* f# ]/ Z6 K5 i
# }9 |* Y) b+ m" H3 [- ~
20200723212510526.png
+ O; ~" P7 Q6 p8 g0 g& D' V

' a9 b, f# s! _7 l6 w% R
20200723213655602.png

: S# O( B, W* y' }8 k. I3 q/ g
" s1 R7 _6 e, q先看内核再看主频,才能判断效率,比如F1和F3都是72M的主频,可是F3是M3的内核,比M1的FIR运算快了7倍!!!!0 B6 d5 {6 n. y$ l$ I
% M5 {, d% G9 Q  }
. ]. c' z4 r/ Z; h

( Z5 Y0 T/ k9 Q" V
赞 收藏 评论0 发布时间:2021-12-7 11:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版