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

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

[复制链接]
攻城狮Melo 发布时间:2024-5-24 18:55
前面有提到ST官方提供了几份芯片,顺带的还有其评估版。其中包含着STM32H563这块评估版。! N' |) T$ c' Z9 P1 U# e3 A
3 P/ b2 x/ ?/ q4 Y4 m: G$ D9 J
微信图片_20240524185428.png & I/ Z& H3 a! p$ T5 B! e8 j) n! r

) z) `8 F+ ^& c8 q: k! K- C+ d其接口为TypeC(其他几款都是MicoUSB,所以就先试试这块)板载STlink,值得一提的是这块STlink是V3版本的,因此一开始还需要更新我的STlink驱动(我的是V2)。
! p# ?0 k- N3 Y" m1 w% y% P7 k" T/ F& Z* k4 ^% M0 E& D
微信图片_20240524185432.jpg 6 L5 l2 |3 }+ t

  q3 y6 e- L3 Z* x! Y) u' s评估板整体非常的漂亮,发现ST的风格是白色,相较于TI的红色风显得娇贵。不过可惜的是大部分IO的排针需要我自己进行焊接(这种加长排母还得单独买)。并且其字体都有点小,眼睛要看花了。
. k. o! J* r  ]$ _7 w4 T
- [( a" l# r! o: c$ t! w
接上这块板子之后,最开始我是以为没有串口驱动的,因为我连进来的时候提示有未知设备(这时候没有意识到是STlink)我找遍了设备管理器没有找到STlink的设备提醒和串口的设备,折腾了好久才想到这个可能是V3,然后我就更新了一下驱动。. Z- H- a. F7 L" ^" v! k8 o  F
/ M8 x4 o! C( |2 y/ J2 @
微信图片_20240524185436.png
. K3 |. y2 D, Z* o; K9 y
5 F& G: l: i  x* g! s9 g- S
然后我发现串口也有了,这个串口居然是和STlink在一起的。不过好歹是知道了应该是有板载串口的。/ A3 G% ^6 @. u  i; d/ p

1 E( J/ t4 ~9 i# x) r! }9 [$ t
然后之后就是用CubeMX去生成一下代码,这里又犯了一个经典错误,我最开始是使用串口一进行通讯。因为以前用的所有板子都是串口一来通讯的,不过发现串口一并没有效果,然后这时候我意识到有点不对劲了,就去找官网的原理图查看其原理图。. _2 Z; Y4 y2 z7 G. A8 {9 d6 {
; @, L0 v5 T7 C- i1 h
微信图片_20240524185438.png
+ `& o( k+ C( R

' K( Q% y# J' A. l  Q) X9 |找到T_VCP_TX和RX看一下是使用了哪两个口子来通讯。' N2 Y/ A7 @$ {, I" Q
  P2 n5 f# F9 t0 E
微信图片_20240524185442.png
! H( Y+ o' n8 \5 x7 ?7 X4 O) J2 Y
1 I6 _; T$ y& w! D1 h
这里使用了USART3来通讯,但是使用的是PD8/9这里在CubeMX中打开后还需要手动的修改引脚。
/ |& i; E0 i% B! m4 R; t- a/ K/ d5 L: H; p( C. }% K) P) ^6 F
微信图片_20240524185445.png
" ~; c, H3 N& a  q& v4 D
% L. w( j, p# l. v6 Y
  1.   while (1)$ a6 O& r/ C+ V
  2.   {: A4 r/ E: y$ w4 {2 d/ a
  3.     /* USER CODE END WHILE */
      f% M8 h8 Q3 u/ E# r- u# X. N

  4. 3 l8 d9 H: J' _& J* P
  5.     /* USER CODE BEGIN 3 */. F: ]5 R3 e" K1 d$ O6 G
  6.     HAL_GPIO_TogglePin(GPIOG,GPIO_PIN_4);
    , D! o# k8 B2 c  j  H- [
  7.     HAL_Delay(1000);
    8 m% p3 H" g: F% o/ x; w$ _
  8.     printf("Hello World\r\n");
    : A/ E; t1 ^1 J% ^
  9.   }
复制代码

1 }: }" p* v8 s; w加上串口重定向之后,利用串口打印输出,发现串口是可以正常输出的。, N3 i3 P. L' D, `; V4 w0 z

: I1 C& w9 r, H+ ~$ I 微信图片_20240524185448.png
0 B5 }' H$ f3 J3 O
5 E2 k! D6 I' ], z& P! N
微信图片_20240524185451.png
8 B: A* v" b/ l' w
# q) ~) ?: G. g% z( G% w$ [! \6 S$ ]
这块芯片的主频到达了250MHZ,而我之前常使用的F407ZG的主频才只有168MHZ,正常的F103C8才仅有72MHZ,因此这款芯片的性能可以说是非常高。# b! e! g' m& J) u( b0 ~$ U6 O

; @! h6 h. A7 D, V! ?* Y! P
并且我在启动的时候有一个惊喜的地方。
* X6 h9 K& h4 b5 m5 F* u
) q: }! L: l1 b. @! Z: [ 微信图片_20240524185455.png 4 X5 C5 o: Y: \1 T0 k* x

$ N( n) {! i7 O其推荐我开启ICACHE,之前在F4系列上没有ICACHE即指令缓存的功能。之前在H7上面也见到过,但是没怎么仔细的用过H7,说明自己还是用的少了。
4 a( x% f* S+ y( t! ~, x" Q+ M2 F% D) ~. u; C  N1 V0 [! v/ X6 [; F
微信图片_20240524185500.png ' \9 L2 o" F1 r- T4 g- x

2 ?6 H, @9 ]0 n3 B: y  N+ G并且其MPU也可以配置多种内存模式。
; t& e# |- Q+ S- z# G" V- a+ y& \: a8 @0 C
指令缓存是一种用于存储处理器指令的高速缓存,目的是提高程序执行速度。
0 ~7 c" j2 C% u1 h
: v$ Q. H6 ^: ?# N& t0 _2 s) I
ICACHE缓存指令
' N: T) L2 t" U/ I# e1 U! WICACHE的主要功能是存储最常用的指令,以便处理器可以更快地访问它们,而不必每次都从较慢的存储器(如闪存或RAM)中读取。当处理器需要执行某个指令时,它首先检查指令缓存。如果该指令已经在缓存中,则可以直接从缓存中获取,而无需访问主存储器,这样可以大大加快指令执行速度。
% V! p' ~4 @- F8 Z0 U+ z* w& c0 }) [2 I% c  T3 B6 `
ICACHE的大小和工作方式可能因STM32系列的具体型号而有所不同。通常,ICACHE的大小相对较小,以便在处理器内部容纳,因此它可能只能存储部分程序代码。选择何种指令存储在ICACHE中通常由硬件逻辑来决定,通常是根据指令的访问频率和程序的执行模式。8 j6 b6 }, ?/ g6 L

$ `$ ?( k& S6 a1 ~尽管ICACHE可以提高程序执行速度,但在某些情况下,它可能会引入一些额外的复杂性,例如缓存一致性问题(Cache Coherency)。
4 A8 H$ w* D- b0 ]1 H

% D3 H5 Y0 y8 Q" L9 {缓存一致性5 g4 [' q9 ]9 @8 y
缓存一致性问题,是涉及多个缓存的系统中的一个重要概念。在多核处理器或者多处理器系统中,每个处理器都可能有自己的缓存,用于存储最近使用的数据。当一个处理器修改了某个内存位置的数据时,其他处理器缓存中对应的数据可能会过时,这就导致了缓存不一致的问题。
+ P  S6 ]0 E* l! L& n& z7 [% ]* R( _& y# t# E; ?+ V

8 W3 L, E' u' L1 f5 N转载自:电路小白
; V* x! I" X' ?* _% _如有侵权请联系删除
  g1 L. \5 d6 `; @2 D' q1 W" t+ R- m1 X# {/ N
收藏 评论0 发布时间:2024-5-24 18:55

举报

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