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

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

[复制链接]
攻城狮Melo 发布时间:2024-5-24 18:55
前面有提到ST官方提供了几份芯片,顺带的还有其评估版。其中包含着STM32H563这块评估版。- G. j$ f5 o- Y; u( H3 [; Z

+ @+ B- Q# }/ \3 f+ t 微信图片_20240524185428.png 5 [9 A2 R- H: n9 i, D: |
; A0 m9 ]8 A4 O( M7 Y0 b
其接口为TypeC(其他几款都是MicoUSB,所以就先试试这块)板载STlink,值得一提的是这块STlink是V3版本的,因此一开始还需要更新我的STlink驱动(我的是V2)。$ e. N8 O9 E2 g& w  L/ t

! W% g6 b6 b, ^; f' {+ a# i 微信图片_20240524185432.jpg
0 b( s. q1 E* ~3 n! j

' D# w$ i' p- K9 }- b. C1 Z, c评估板整体非常的漂亮,发现ST的风格是白色,相较于TI的红色风显得娇贵。不过可惜的是大部分IO的排针需要我自己进行焊接(这种加长排母还得单独买)。并且其字体都有点小,眼睛要看花了。
" E8 w% K! b1 i# Y5 a* D: D5 A6 m& e1 {5 O; S- c9 D3 }; W; d
接上这块板子之后,最开始我是以为没有串口驱动的,因为我连进来的时候提示有未知设备(这时候没有意识到是STlink)我找遍了设备管理器没有找到STlink的设备提醒和串口的设备,折腾了好久才想到这个可能是V3,然后我就更新了一下驱动。8 \: {$ Q) w$ r6 u

3 L% L/ e" M, A, P 微信图片_20240524185436.png
  a: ^5 o" _4 M- \( J

: T3 h2 C  c* H4 Q  ?( T然后我发现串口也有了,这个串口居然是和STlink在一起的。不过好歹是知道了应该是有板载串口的。' E  Z) W7 i( T" o3 `! `; m% L) P$ b

6 D* g$ ~$ a9 p3 H, j- C
然后之后就是用CubeMX去生成一下代码,这里又犯了一个经典错误,我最开始是使用串口一进行通讯。因为以前用的所有板子都是串口一来通讯的,不过发现串口一并没有效果,然后这时候我意识到有点不对劲了,就去找官网的原理图查看其原理图。9 {( _4 P3 X% m. A1 O0 J

! O3 ~9 U4 M7 A 微信图片_20240524185438.png
* r' ~. P$ j! \
  ~/ n( d' v- G4 u8 H
找到T_VCP_TX和RX看一下是使用了哪两个口子来通讯。
: P; m5 [1 o, t/ X
" D1 K# _( P/ A$ U. t) u% @* O 微信图片_20240524185442.png
9 T1 R# R9 F6 ?" q

' {4 f) O8 z8 i' m这里使用了USART3来通讯,但是使用的是PD8/9这里在CubeMX中打开后还需要手动的修改引脚。0 }5 J7 ^% G9 k

" L2 z+ k' y. E 微信图片_20240524185445.png 3 a# C- `. X( \' L- c( A. D5 D5 ^

  g0 o6 i1 J) h3 |- {3 C. i
  1.   while (1)
    * _" n4 H5 l$ I) J, ]# j+ l
  2.   {
    9 O" ?2 k; N0 L3 }
  3.     /* USER CODE END WHILE */
    + C$ \* m# P& N

  4. ; i8 Q& P! M5 \7 j
  5.     /* USER CODE BEGIN 3 */
    5 O  F# c4 g( F: _
  6.     HAL_GPIO_TogglePin(GPIOG,GPIO_PIN_4);7 @* n) k# ?" g* T
  7.     HAL_Delay(1000);
    . k% L. b) _# ~" G3 L: [9 ~
  8.     printf("Hello World\r\n");( _5 ^  j- C& r1 O
  9.   }
复制代码

8 _. U, B' Y; A1 B, n2 X: |加上串口重定向之后,利用串口打印输出,发现串口是可以正常输出的。0 O( |0 Z% f5 ^# t4 P0 O1 d

) s+ i3 D4 g! P6 J4 Y0 p 微信图片_20240524185448.png
7 Q- v2 A0 D6 i5 `
) y; o% W- L& I' F
微信图片_20240524185451.png
1 Q2 y' _1 V. D& L, [% T/ k3 t

& n1 c$ Y% P- g这块芯片的主频到达了250MHZ,而我之前常使用的F407ZG的主频才只有168MHZ,正常的F103C8才仅有72MHZ,因此这款芯片的性能可以说是非常高。; o6 Z# y! E) n# n, r, y* Y4 |

1 K0 r$ C& m2 n1 C8 ?
并且我在启动的时候有一个惊喜的地方。
* f$ }+ [+ Q3 m3 t; [' Q3 n& H" O9 [7 x
微信图片_20240524185455.png 5 @0 F3 m2 _- n! q, `- n% K

  |% N# J( {( h5 C8 U. K9 z% _; |其推荐我开启ICACHE,之前在F4系列上没有ICACHE即指令缓存的功能。之前在H7上面也见到过,但是没怎么仔细的用过H7,说明自己还是用的少了。
' C0 x4 c6 I: k3 s' ?. K. }7 [6 i% y  @- M; v
微信图片_20240524185500.png
$ D3 L% I6 H; E) ~  k

  `) j9 G+ N6 V5 o, S6 E并且其MPU也可以配置多种内存模式。
( v" L* Z4 P8 d0 s) z2 @, z! Z+ ]5 v! X+ r9 M. D
指令缓存是一种用于存储处理器指令的高速缓存,目的是提高程序执行速度。$ n, _# N/ J6 y7 t
! h) {5 \! c0 t; Y! f8 u
ICACHE缓存指令$ q+ d! B3 B3 q, n; U
ICACHE的主要功能是存储最常用的指令,以便处理器可以更快地访问它们,而不必每次都从较慢的存储器(如闪存或RAM)中读取。当处理器需要执行某个指令时,它首先检查指令缓存。如果该指令已经在缓存中,则可以直接从缓存中获取,而无需访问主存储器,这样可以大大加快指令执行速度。
8 F/ L8 M2 B) b4 E" ?2 e2 a0 q
) x6 Z1 G- k, z2 J7 l1 J+ a; CICACHE的大小和工作方式可能因STM32系列的具体型号而有所不同。通常,ICACHE的大小相对较小,以便在处理器内部容纳,因此它可能只能存储部分程序代码。选择何种指令存储在ICACHE中通常由硬件逻辑来决定,通常是根据指令的访问频率和程序的执行模式。; c9 y8 _' W2 }; B3 [
# \4 D: f5 }$ O- T. I
尽管ICACHE可以提高程序执行速度,但在某些情况下,它可能会引入一些额外的复杂性,例如缓存一致性问题(Cache Coherency)。
2 e) _4 O  b7 H5 A
4 y) u( T1 i8 N; s6 F' a# h
缓存一致性
6 m6 r3 J0 w% B! }缓存一致性问题,是涉及多个缓存的系统中的一个重要概念。在多核处理器或者多处理器系统中,每个处理器都可能有自己的缓存,用于存储最近使用的数据。当一个处理器修改了某个内存位置的数据时,其他处理器缓存中对应的数据可能会过时,这就导致了缓存不一致的问题。# q8 }  k9 L1 m7 _% E: m
, v: x& A& d' b4 h* z8 t1 @
2 L6 i, j" Y) M) s# v1 V' \
转载自:电路小白+ ]5 @' K! r# x
如有侵权请联系删除
  k, n& @- T: ~0 i* z* u) f5 K# Y" P# u7 y
赞 收藏 评论0 发布时间:2024-5-24 18:55

举报

0个回答

所属标签

相似技术帖

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