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

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

[复制链接]
STMCU小助手 发布时间:2021-12-7 11:00
1.ART加速
8 R- n" i- m; Q! l" U. t  d
) F+ c$ H' {4 @& G8 a: R( w
20200723165226551.png
! }4 t2 f2 c& w2 M5 v: r

) s: m* A  ~( ~* L' y6 o. p; }ART在Flash之前,ART加速可以提高Flash的读取运行速度。
; Z( q9 n3 m5 g% G5 T. [; Z. t6 h2 s' i: A& c, i. y  ~& P6 ~! r
➢ 程序实现(任选一种):
" q6 }5 d+ n- E3 l# f  d- g1,使用库函数(HAL):6 o- {* q. Z  v( m9 f+ @
__HAL_FLASH_INSTRUCTION_CACHE_ENABLE();
: p, C; h/ q% k6 S3 r__HAL_FLASH_DATA_CACHE_ENABLE();
% Y4 f9 Z# A0 U: t- T: g7 h+ e! N0 |+ ~6 o, r  i% v- A% q
2,寄存器操作:
/ u8 T! K5 f0 o. K' ^; WFLASH->ACR |= (1<<9);//将第9位置17 }+ U& V, E- v! X; V  d
FLASH->ACR |= (1<<10);//将第10位置1- O  P0 M% Q, Q& N+ {
7 D% [% g. I. i7 h
20200723203747815.png
* C# ?  U! m+ {+ k# I/ Q
! n5 F; D+ O2 O7 T
如果要将时钟跑到170MHz,需要设置到Rang1 Boost模式7 j4 s% L2 T* n( L) O  L2 w4 h
7 I6 {3 i: P. H8 `) b  h% N
2.CCM SRAM4 \0 R' X' |7 E- z) p

9 a1 B3 a4 }9 X% _
20200723204415722.png

1 M+ {/ ]6 d( F! N7 C! N2 M# z: U# B$ x( c7 w
CCM SRAM直接连接到 I-Bus ,D-Bus中,可以提升关键代码的速度,建议可以将关键代码放在这个区域。  _& m/ O8 P; @$ w. y: a

; a3 i7 D- ?1 Z/ g) Z5 I3.CoreMark测试
% G: C; e( H) l, \# ^: p• CoreMark是一项测试处理器性能的基准测试
) P$ R+ s% _8 t9 H: ~• 代码使用C语言写成,包含:列举,数学矩阵操作和状态及CRC等运算法则
, A) u: ]8 m0 o$ P• 目前CoreMark已迅速成为测量与比较处理器性能的业界标准基准测试
* f* T5 W3 E+ Z4 J& h* m- }• CoreMark的得分越高,意味着性能更高
: W. e) Q9 T  ~• CoreMark官网的连接地址:http://www.eembc.org/coremark/index.php
; b% D  @8 N) L, t# f8 U7 X9 M7 L0 Y2 c! E! W8 n8 G% e. O; ^% y
20200723210125642.png

% J3 S( n7 `# b; C, S/ d2 J, i. r" I8 H  n0 X2 H5 d
20200723210416867.png
' F/ [; H9 y/ I: \" C/ G
" j5 {+ w' A8 V0 B6 G
比较处理器的时候,不要单看主频,还需要了解综合的实力,有的处理器主频虽高,但是没有太大的用。9 \, I% D  \0 t2 u3 f" D
6 K6 t2 O9 q( k3 o, x7 r. B# z
4.浮点运算
- w& I4 H  F# X% `1 O/ m能提高运算精度,减少运算转化之间的损失,做算法类的项目需要用到的比较多。. b) u7 h8 d* M6 ?5 V) U& U2 t
6 C- a' k7 F' C
20200723211234758.png

8 n$ |4 ]& s  p  L
  q8 Z6 P/ H5 N- Y% \4 I注意:除法和开方的运算周期过长,如无必要,尽量不要用,尽量将其转化为运算周期较少的加减乘运算
) {# s6 ]" `$ L
& P5 P: D9 n6 O" F5 h  `. j
2020072321171914.png
1 I! l9 k9 j2 y6 j

# s1 ~2 k3 D! [+ ~: Y/ n浮点运算实例:  L' w2 f% A9 V6 o" H5 M
一般需要在运算结果前写上(float)或者标注f,否则一律认为其为双精度,将会大大增加运算的时间。( V' O6 r" G1 E1 J+ q

1 c  K2 y4 y  a7 ?' o7 h8 x浮点运算-FIR(滤波运算)
5 t' j4 E- X$ C/ A2 r% u在这里插入图片描述- L; f( s) ]5 ~* c3 Z' O  `; u: W

6 `% u, O9 s0 ~4 t/ r0 w  v. _
20200723212510526.png
( N, ~- z% ~  }+ J

& Q2 W7 r' i$ V
20200723213655602.png

' ?$ \' A5 M3 a9 {9 Z4 u* D
9 `  m1 K$ ~1 l; j4 g. T6 ]8 \先看内核再看主频,才能判断效率,比如F1和F3都是72M的主频,可是F3是M3的内核,比M1的FIR运算快了7倍!!!!
( i" _* j- \' }8 ^$ O& z1 @
0 v4 j" y8 a! e/ o" r0 W! l
$ J( f, R3 X8 n# q' S# {$ e' G% u+ f( u- k  |* P5 h! a2 ~
收藏 评论0 发布时间:2021-12-7 11:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

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