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

基于STM32H563ZI官方评估版使用经验分享

[复制链接]
攻城狮Melo 发布时间:2024-5-24 18:55
前面有提到ST官方提供了几份芯片,顺带的还有其评估版。其中包含着STM32H563这块评估版。; K7 g* m% z. C: C$ o3 j
1 J" v  B9 ]5 C; W
微信图片_20240524185428.png
! S" n& i) r: d: E
3 g! T# T/ B6 V1 `+ ^: B
其接口为TypeC(其他几款都是MicoUSB,所以就先试试这块)板载STlink,值得一提的是这块STlink是V3版本的,因此一开始还需要更新我的STlink驱动(我的是V2)。6 U. c0 }# a; s' ~8 J. b. _

1 }7 m$ g! I6 Q3 E 微信图片_20240524185432.jpg
4 L7 H. g2 J5 S* X# [

, Q' h" ^+ q8 Y* Z- a评估板整体非常的漂亮,发现ST的风格是白色,相较于TI的红色风显得娇贵。不过可惜的是大部分IO的排针需要我自己进行焊接(这种加长排母还得单独买)。并且其字体都有点小,眼睛要看花了。; o! e, E* f& n5 K/ s$ g
5 \' F: r: }0 X% \9 P$ Q
接上这块板子之后,最开始我是以为没有串口驱动的,因为我连进来的时候提示有未知设备(这时候没有意识到是STlink)我找遍了设备管理器没有找到STlink的设备提醒和串口的设备,折腾了好久才想到这个可能是V3,然后我就更新了一下驱动。3 ~8 j4 v* O1 }0 z& T. F

( |, O! f8 v7 ]7 {6 g2 Q3 [ 微信图片_20240524185436.png
4 ?7 D9 D6 M! Z' ^

8 O8 L$ o' ~# c+ ^2 }4 [然后我发现串口也有了,这个串口居然是和STlink在一起的。不过好歹是知道了应该是有板载串口的。
# w2 k" M7 V5 N( L0 ?
' V! h8 [% g* W; t( n( @2 `
然后之后就是用CubeMX去生成一下代码,这里又犯了一个经典错误,我最开始是使用串口一进行通讯。因为以前用的所有板子都是串口一来通讯的,不过发现串口一并没有效果,然后这时候我意识到有点不对劲了,就去找官网的原理图查看其原理图。
$ w+ m, B4 i- Z2 j0 L/ _
5 }$ f* ]& p$ @7 j8 C8 r( Q 微信图片_20240524185438.png
' r  Z9 l8 y4 V" j5 q

' B6 H2 p# Q$ W' O* w找到T_VCP_TX和RX看一下是使用了哪两个口子来通讯。
- P4 V: O& |* z, ~$ ^; n
/ ^' V0 d! d9 z6 i& B9 T+ e 微信图片_20240524185442.png
+ W2 H0 i7 Y. P

) I; }9 c2 N( _1 b这里使用了USART3来通讯,但是使用的是PD8/9这里在CubeMX中打开后还需要手动的修改引脚。
2 ?: W% K& R' v, q
# d% k9 e- _  \+ r# p% @2 B 微信图片_20240524185445.png
4 D% C" j2 _. Q0 |7 m7 N- Z" N- x: ]3 j- A3 J
  1.   while (1)) D1 o( U: S: v9 A) I
  2.   {
    1 {) J7 f! i/ i: U9 R5 e
  3.     /* USER CODE END WHILE */
    * ]; J9 k+ K! D. j
  4. 4 N) v/ l% `% k/ q
  5.     /* USER CODE BEGIN 3 */
    ! I( m$ }5 E$ S' {- Q/ g
  6.     HAL_GPIO_TogglePin(GPIOG,GPIO_PIN_4);
    ( y4 U! j6 J- C: C) ^; a; C# a
  7.     HAL_Delay(1000);
    4 t* x, q+ v6 x. V5 x1 ]
  8.     printf("Hello World\r\n");- d' {( m" Z# {$ T3 H
  9.   }
复制代码

  K3 K0 K, c* L- C- g加上串口重定向之后,利用串口打印输出,发现串口是可以正常输出的。
; w7 ^0 v6 H( r1 K
( S/ U: i% H9 Q' ~$ a 微信图片_20240524185448.png
) i) S- X5 C' }; T$ K1 [# ^( X8 D* j  [. {, {, k# u& }
微信图片_20240524185451.png
- _8 h2 @8 C( K0 O1 U( i

2 b7 S: g0 [! I- T3 Z# c8 Y这块芯片的主频到达了250MHZ,而我之前常使用的F407ZG的主频才只有168MHZ,正常的F103C8才仅有72MHZ,因此这款芯片的性能可以说是非常高。
' ~2 y- S* v" G6 d$ T3 E9 u# ~7 [/ N
并且我在启动的时候有一个惊喜的地方。
# G1 _9 ~' `8 ?3 V- n# @
9 A! ]( u2 C4 b: B 微信图片_20240524185455.png
9 z9 `/ B6 c% I0 m+ t

8 W5 w) U" a" d- i/ ~其推荐我开启ICACHE,之前在F4系列上没有ICACHE即指令缓存的功能。之前在H7上面也见到过,但是没怎么仔细的用过H7,说明自己还是用的少了。
7 q6 b, N9 J$ h2 s! S' P- u4 t9 V+ r7 }
微信图片_20240524185500.png
: F- e; P- A9 X+ N% B7 w/ l- s
# _5 `  h6 K, R" m
并且其MPU也可以配置多种内存模式。" N4 K& d3 N$ [$ v, b- v
/ P3 s, O! D- ~2 @: K& D
指令缓存是一种用于存储处理器指令的高速缓存,目的是提高程序执行速度。
* h& r3 `9 T9 r9 c9 m: X) J

* x/ Q  f" }& T% ?3 S: j4 zICACHE缓存指令; ?4 T9 H2 `9 {
ICACHE的主要功能是存储最常用的指令,以便处理器可以更快地访问它们,而不必每次都从较慢的存储器(如闪存或RAM)中读取。当处理器需要执行某个指令时,它首先检查指令缓存。如果该指令已经在缓存中,则可以直接从缓存中获取,而无需访问主存储器,这样可以大大加快指令执行速度。* u* `0 `0 H1 w' t. E+ I( C

3 L: ^! i4 a7 h1 q4 L# qICACHE的大小和工作方式可能因STM32系列的具体型号而有所不同。通常,ICACHE的大小相对较小,以便在处理器内部容纳,因此它可能只能存储部分程序代码。选择何种指令存储在ICACHE中通常由硬件逻辑来决定,通常是根据指令的访问频率和程序的执行模式。; J$ Z' H. d  v$ Y. @

9 t+ d5 h  u3 a+ }' P尽管ICACHE可以提高程序执行速度,但在某些情况下,它可能会引入一些额外的复杂性,例如缓存一致性问题(Cache Coherency)。
+ |1 K9 {$ T/ P! `4 z

1 ?! |- L) |! H$ r+ F4 ~  X( R缓存一致性
6 K: u; Z. e; E- y) S) Y缓存一致性问题,是涉及多个缓存的系统中的一个重要概念。在多核处理器或者多处理器系统中,每个处理器都可能有自己的缓存,用于存储最近使用的数据。当一个处理器修改了某个内存位置的数据时,其他处理器缓存中对应的数据可能会过时,这就导致了缓存不一致的问题。
8 A+ f4 R$ {1 ?5 \
9 Q1 Y0 j6 F; B0 f  I6 @
7 }* h9 O/ S  _5 N7 U8 ~- `# N转载自:电路小白
; I# c5 o& W& g" `6 I+ Q5 Z- Z3 h如有侵权请联系删除
4 ^1 S6 n9 f9 n2 j- K# [7 y
& ^$ ], d5 j& F; L# _; G. P+ x
收藏 评论0 发布时间:2024-5-24 18:55

举报

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