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

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

[复制链接]
STMCU小助手 发布时间:2021-12-7 11:00
1.ART加速
! h1 ^& O9 X6 I0 ]4 ^5 ~. Q6 O% r" C2 I2 u9 Q! ~
20200723165226551.png
/ t+ n' ~. _0 F$ N" |! L( c
( P8 R: a; m' u/ Y
ART在Flash之前,ART加速可以提高Flash的读取运行速度。# T5 q, R* O$ o% g& N0 V- u( G* q

2 @+ l/ g5 o0 N  |' n. s/ y➢ 程序实现(任选一种):) b7 h6 f: W9 f* E% ^
1,使用库函数(HAL):
: J, N7 ]# C1 N: u9 {- }9 `__HAL_FLASH_INSTRUCTION_CACHE_ENABLE();
) A0 ^- H4 ^, F1 @% T__HAL_FLASH_DATA_CACHE_ENABLE();! n+ D2 K0 s, _) v& l, n  s

/ {; S, J4 J4 x: p2,寄存器操作:) M& X" ?1 {3 |* X  y2 |) V' O
FLASH->ACR |= (1<<9);//将第9位置1
' N. Y: r) Z1 Z) y: z, g! \FLASH->ACR |= (1<<10);//将第10位置1
2 t- w1 S5 H, r( E& `4 F/ O- R
4 U7 C6 q( b4 ^( j% h! g+ V
20200723203747815.png
9 Q% p' `% m9 c1 v

! I# n( c0 E% M  j+ X如果要将时钟跑到170MHz,需要设置到Rang1 Boost模式
8 Q8 T/ d# {+ L$ v
* e8 A1 O3 o  ]: ~2.CCM SRAM
) j' l1 J8 Q' G/ G
9 y* S9 `- l2 l1 i1 ~( P* `
20200723204415722.png
; S5 D. E' F4 A& `8 F$ o7 [! @

  w1 `" [5 m* Z7 w3 k6 {3 I1 y6 U1 FCCM SRAM直接连接到 I-Bus ,D-Bus中,可以提升关键代码的速度,建议可以将关键代码放在这个区域。( A3 o2 V, n. {4 P& ]: z
8 b6 H; K& y* r$ r6 t
3.CoreMark测试- G# g: [7 k0 o8 B
• CoreMark是一项测试处理器性能的基准测试. e! S  E, }+ U3 u
• 代码使用C语言写成,包含:列举,数学矩阵操作和状态及CRC等运算法则2 e1 p! l2 C% v0 |  f
• 目前CoreMark已迅速成为测量与比较处理器性能的业界标准基准测试0 i! K  Y( H& P; O% E6 e, C
• CoreMark的得分越高,意味着性能更高
& c# G. s' f) o% @% x• CoreMark官网的连接地址:http://www.eembc.org/coremark/index.php。
: ^. S3 R5 a+ i( W8 L/ @: R# r- F
20200723210125642.png
' _; i  H6 d! A  I; C; T

9 q- ]$ x: I' t9 T  V- D- f4 D) A
20200723210416867.png
2 A% w1 l6 f- ^& E
  _& ?0 u7 n* B1 z
比较处理器的时候,不要单看主频,还需要了解综合的实力,有的处理器主频虽高,但是没有太大的用。6 d- P- O+ l% v
5 J3 L% t- f2 q, q
4.浮点运算
( D& A0 s1 H9 z3 A能提高运算精度,减少运算转化之间的损失,做算法类的项目需要用到的比较多。& x2 v, v1 P. E- @' R3 E4 Y- i" S( m

8 w% m  J' V/ O) V- k: D6 _3 Y' C
20200723211234758.png
, A- @( a# L* X( R5 X
! I' j9 m3 D/ t- [" @
注意:除法和开方的运算周期过长,如无必要,尽量不要用,尽量将其转化为运算周期较少的加减乘运算. L; t' A2 J' j6 q/ g

) \* J: V( P" ~6 n* M
2020072321171914.png
, g6 _% v, `2 I, D1 x3 P2 _& F
' d/ F8 W& q4 f. D5 i" T3 b* I
浮点运算实例:
; l( Z% @8 ^' C一般需要在运算结果前写上(float)或者标注f,否则一律认为其为双精度,将会大大增加运算的时间。  u- V( X" ~/ N. W& i( ~$ o

7 h4 Q( O! `" A& _浮点运算-FIR(滤波运算). g, r: c( |$ k' g+ l  L
在这里插入图片描述0 u2 I9 A5 q7 \* @1 O9 A
5 v' y  R" g3 Y* I& x, h" x
20200723212510526.png

5 L, m% [5 [# G/ z+ s9 X) {4 d" m8 S7 k8 J9 P# p  f% |
20200723213655602.png
6 H& V3 J; N6 V4 ]/ h9 Q) @" E' [( E
& g# A2 q1 i8 ]; D
先看内核再看主频,才能判断效率,比如F1和F3都是72M的主频,可是F3是M3的内核,比M1的FIR运算快了7倍!!!!' C% n4 c6 ]# K" h

0 x& w* z- R+ `0 j9 G
( ]  F/ G: i0 O4 _: J' k6 f, m: P+ I  ^2 r) s- g2 g7 O
赞 收藏 评论0 发布时间:2021-12-7 11:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

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