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

【STM32H5 评测】+ CPU性能测试

[复制链接]
BinWin 发布时间:2026-10-29 11:19
    Nucleo STM32H5E5ZJ是一款新产品,本文是对其CPU性能进行一个测试。官方由数据可以参考,但开发环境差异应该
3 n- Z6 Q+ \; W) |: o' f# W& M6 {7 v
也能造成不同的结果,尤其是编译器的性能。
* i8 d* B+ H7 @- `+ E' k! H7 j     本次也尝试使用现在流行的AI Agent工具进行辅助。因为免费的使用AI工具对软件的操作还不如手动快,所以自己动手创建基本工程。# X) i( Q! n6 H$ K& Z# l+ g% \
      使用CubeMX创建FreeRTOS工程,带上开发板的BSP
* {0 M4 m. u7 Q" U       1.png ) D$ d1 c9 l2 z
        不增加任务也是可以的,在CoreMark中是会再创建任务的。
/ C6 O1 J6 S5 ~' L7 _0 J          2.png
' n: F& F1 O$ N+ N        然后工程摆在那里,给Agent输入任务,移植CoreMark到工程里。代码的结构如下图6 N3 m! @9 q( B" B- _9 P& b
         3.png 2 L! @2 j4 L7 R# G
      值得一提的是,代码成功率很高,编译没有问题。不过实测还是有一些问题的,比如串口配置就有冲突。最终使用BSP的串口配置,修改完并配置编译器优化选项. t# `9 k9 x, u0 _) O* n, y, ^, s' d/ K
      4.png 7 A, |# A2 _3 N: b( h3 o0 N
        
8 y6 ^" }+ F( q5 R* l     运行结果如下
6 ]  c: k3 V- E5 {' f( W( F9 A
  1. STM32H5E5ZJT6  CORE PERFORMANCE BENCHMARK
    # L8 d$ P$ z0 E& i+ M
  2. ------------------------------------------------------------------------
    & O- M6 d7 g$ @4 b
  3. CPU        : Cortex-M33 @ 250 MHz (TrustZone disabled)3 j: m3 \: F7 k1 ?; D% }
  4. Timebase  
    9 `& M, K& v/ E: }' Y  Y
  5. [09:41:22.978]收←◆ : DWT CYCCNT, 1 count = 4 ns
    2 Q) o# w4 a5 t: N7 ^
  6. Toolchain  : GNU Tools for STM32 14.3.rel14 P6 e" g0 {* \* S* F$ d
  7. Reference  : ST official 1023 CoreMark @250MHz (4.09 CoreMark/MHz)
    4 S$ w- C6 Z; M
  8. Note       : if numbers look far below reference, check that the
    6 e  X% q1 g$ w6 I
  9.               build profile is -O2, not -O0 (Debug default)./ Q3 y& F- y% e2 L

  10. 9 J  M/ `5 ?+ J1 ~

  11. ' W: d! `# x0 @. I, `: k" W
  12. [1] CONTEXT SWITCH (ping-pong, 2000 rounds), L7 r4 f! [/ x: \# t
  13.   task notify (A->B)         min    375 cyc ( 1500 ns) | avg    377 cyc ( 1508 ns) | max   1721 cyc ( 6884 ns) | n=2000  r4 Y& v  p0 C4 o$ i2 U
  14.   binary semaphore (A->B)    min    473 cyc ( 1892 ns) | avg    476 cyc ( 1904 ns) | max   1758 cyc ( 7032 ns) | n=2000
    $ G/ ?% [7 \8 w1 R9 I: K5 |; x
  15.   (value = API call + PendSV + context save/restore, one direction)
    " u5 R/ T$ Q6 I# n  f9 Z6 ~; z# k
  16. : n' W9 u# a* u7 V* O
  17. [2] INTERRUPT LATENCY
    ! W4 X6 j- e. J0 T/ }1 l
  18.   software pend -> ISR       min     38 cyc (  152 ns) | avg     38 cyc (  152 ns) | max     38 cyc (  152 ns) | n=1" b6 m7 D4 `( J9 M  {
  19.   timer overflow -> ISR      min     19 cyc (   76 ns) | avg     19 cyc (   76 ns) | max     20 cyc (   80 ns) | n=46+ M" `1 x3 `# ?5 Q4 V+ O+ v, c  J
  20.   (period = 4 ns, DWT ticks; 1 tick = 4 ns)
    & O3 X! L! y* W4 b( ~3 J9 ]5 h
  21. ) V8 Q& k" w2 z$ a! I
  22. [3] CORE PIPELINE (business throughput @ 250 MHz)
    + L0 o: A2 O, I4 x6 h
  23.   CRC32 table              10497 us | 24.97 MB/s  (24.97 Mops/s). b, b$ @& g. G3 u
  24.   FIR Q15 64-tap x512        932 us | 0.54 Msample/s | 35.12 MMAC/s8 ~& y! Z* b: N& m) z
  25.   FFT f32 256-pt x100      17076 us | 5.85 kFFT/s | 5.99 Mbutterfly/s
    3 |; k! H- R/ Q" w
  26.   matmul i32 32x32          1214 us | 26.97 MMAC/s; `! F' t5 Q, r& _, g" a$ q
  27.   memcpy 32KB x8             787 us | 332.83 MB/s
    1 ~, ~, e$ q+ k+ E4 a
  28. ! h: A8 s/ d2 ^; |
  29. [4] COREMARK (EEMBC official, 2K performance run)9 A: H$ l$ f, \7 I
  30. CoreMark port: STM32H5E5 / FreeRTOS / 250 MHz. U# ?3 z6 r2 r2 c7 M! D

  31. ; u9 r, J2 C' d* `; h) D; X
  32. [09:41:39.983]收←◆2K performance run parameters for coremark.
    & k" J0 H2 `/ w- W8 B
  33. CoreMark Size    : 666
    4 @# b4 y) C& F; Y1 l6 Q
  34. Total ticks      : 15274/ N+ a1 m% {1 @& b1 Z& ^
  35. Total time (secs): 15.2740003 @) ^' w: a- G& w" P5 d8 L) V1 Z
  36. Iterations/Sec   : 720.178080) R3 I+ O$ T6 g
  37. Iterations       : 110001 \7 h/ i, `. j/ u5 N; l
  38. Compiler version : GNU Tools for STM32 14.3.rel1
    ) C) m1 @6 a7 j- E6 z
  39. Compiler flags   : -O2 -mcpu=cortex-m33 -mfloat-abi=hard
    # Z$ `5 R+ B9 `7 j8 D* s
  40. Memory location  : STATIC
    7 r5 x1 a3 b) V8 f( Z( l. V8 R0 e
  41. seedcrc          : 0xe9f5
    9 Y! t* y& O/ {; O
  42. [0]crclist       : 0xe7148 q8 g  J( A/ {: u$ _$ R
  43. [0]crcmatrix     : 0x1fd7( r- U, U) R: ~0 g# h, A! S
  44. [0]crcstate      : 0x8e3a, ]0 W5 Y" I. Z6 Q, e7 ?4 `% n
  45. [0]crcfinal      : 0x33ff& ~7 z  D6 G% S" d
  46. Correct operation validated. See README.md for run and reporting rules.
    4 K) ]/ C8 n8 L; ]& K8 S2 [: g- U& h2 S
  47. CoreMark 1.0 : 720.178080 / GNU Tools for STM32 14.3.rel1 -O2 -mcpu=cortex-m33 -mfloat-abi=hard / STATIC
复制代码
  对比官方如下5 e( \) J9 n  V0 k% X  X$ U( h3 V/ g
    5.png 6.png * n5 b. ]$ h7 [: j, d
     因为gcc没有MDK和IAR的编译器效率高,这是大家的共识,所以结果也就娱乐一下,不做真实性对照。单过程是真实有效的。0 Z0 O9 A5 s; O- V* o2 K! F
    中断响应 76 ns已达 Cortex-M33 架构下限,任务切换 1.51 微秒与 FreeRTOS 在同类内核上的表现一致,系统级实时性没有短板。
4 F2 Q& F3 A: k4 h 用 GCC 在 -O3 下拿到 2.881CoreMark/MHz,与社区同类实测水平吻合。
! O6 d" \# ?! {* U5 [ 当前 FIR、FFT、CRC 均为标量朴素实现,改用CMSIS-DSP 与查表优化后有 3~4 倍空间,这部分收益远大于在编译器选项上抠百分点。$ G4 Y* n7 ~5 G6 _; k, z1 d2 p

1 X0 B# l: M( p% }
7 E/ O+ o- b( l% Z' Q! I
赞 收藏 评论0 发布时间:2026-10-29 11:19

举报

0个回答

所属标签

相似技术帖

官网相关资源

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