1.前言
手上的开发板是nucleo-STM32H743ZIT6。首先这块板该说不说确实好看。
目前教程最多的stm32教程大概是F1系列,使用外接的stlink进行程序下载与调试。而我手中的H7系列与nucleo集成了stlink模块与stm32的最小系统,H7系列本身属于高性能系列,与网上常见的F1、F4系列存在诸多开发方式的出入,故入门难度个人感觉不算太低,对于笔者这样的嵌入式入门人员具有一定门槛。本笔记系列主要目的在于帮自己整理开发思路,其中肯定不免纰漏,见者请不吝指正。
2. STM型号
STM32,意法半导体公司推出的32位单片机系列,STM,即为STMicroelectronics意法半导体。
全系列基于ARM公司开发的ARM架构,ARM公司是一家半导体设计与软件公司,主要产品是ARM架构处理器的电路设计方案,公司本身并不参与半导体的制作。ARM架构下的cortex系列现在有三个主要产品,cortex-A,A代表application应用,主要用于手机电脑平板等产品,功能最强大,高通的骁龙、华为的麒麟、苹果的M1,无不基于这一架构,A系列也是发展最快的系列。此外还有R系列,代表realtime。STM32基于M系列开发,市面上很常见的F1、F2系列芯片使用了M3架构,而此后F4系列使用M4架构,F7使用M7架构。
我手中这块开发板属于STMH7系列,H代表着高性能,常见的F代表着通用类型,还有G系列,通常被认为是对f系列的升级。
以我手中的STM32H743ZIT6为代表。H7代表着高性能基于cortex-M7架构开发。743为具体产品型号,Z代表着引脚数为12*12(其中T36 C48 R64 V100 Z144),I代表着Flash闪存为2M(Flash为STM32程序所在处,其中4=16k, 6=32k, 8=64k,B=128k, C=256k, D=384k, D=512k,I=2*1M),T代表着芯片封装类型为LQFP,最后6代表工作温度范围为-40~85℃。
3.芯片内部的系统结构,学的时候云山雾罩,没有笔记。本章内容都来自于B站up江科大自动化stm32视频前几p。
4.最小系统电路
前面几部分介绍了手中开发板核心位置那块耀眼的芯片它的来历、名称、结构,但是仅凭它我们无法完成理想的开发工作,我们需要在其周围添加必要的外部结构,使其成为最小系统电路,添加的这些结构包括复位电路、BOOT电路、电源指示、程序下载电路、稳压模块(通常使用的5V的USB供电需要稳压电路生成3.3V的电压才能连接到芯片上)、排针、USB通信电路、晶振(包括32768Hz晶振,8MHz主时钟等)、以及连接到晶振后帮助分频倍频的锁相环电路。
这些电路显然对我们后续的开发十分有帮助,于是你可以看到STM32开发板并不是只有中心那一块黑色的高集成度的芯片,还包括了许多周围的外部电路。nucleo系列继承了stlink在开发板上,stlink是一个程序下载调试的组件,有它之后将使得后续代码编辑完成后的调试工作十分顺利,你可以在开发板上实现快速的单步运行检查你的程序。nucleo尽管没有那么普及,大多资料都是使用一个stlink的USB插上去再进行程序的调试,USB的stlink这方面我还没有了解,但在后续开发中我着实感到了nucleo板的好处。