STM32简介
一、概述
STM32是ST公司基于ARM Cortex M3内核设计的一系列32位通用微控制
器芯片。
二、STM32芯片类型
2.1 STM32系列
STM32系列如下:
![图片[1] - 1_STM32简介 - 宋马](https://pic.songma.com/blogimg/20250604/01d812d864b44f0f9b85392e55a0a674.jpeg)
在2024年又新出了一个系列STM32N系列,属于高性能系列。
2.2 STM32命名
STM32系列命名含义
![图片[2] - 1_STM32简介 - 宋马](https://pic.songma.com/blogimg/20250604/95acd2ada1fa4043aa43e3de33c7c220.jpeg)
STM32F103ZET6芯片名称描述
![图片[3] - 1_STM32简介 - 宋马](https://pic.songma.com/blogimg/20250604/d9161081a5b147508b9b6610f48b693c.jpeg)
STM32F103ZET6资源

三、硬件资源
学习中可以购买一块开发板,工作中硬件工程师会负责设计硬件主板(当然小公司的话软件和硬件是同一个人),软件工程师需要知道的是各硬件资源,如硬件原理图、位号图、数据手册,并理解功能需求,实现软件功能并提供固件。
3.1 芯片数据手册
设计师需要查阅数据手册STM32F103.pdf,了解每一个引脚功能和作用

3.1 单片机最小系统
最小系统是保证 MCU 正常运行的最低要求,包括MCU的供电、复位、晶振、BOOT这四部分。

3.2 IO 分配
IO 分配在完成最小系统设计后,根据项目需求对MCU的IO口分配,通过不同外设,如GPIO、IIC、SPI、SDIO、FSMC、USB、中断等连接不同器件,实现整体功能,硬件设计中先分配特定外设 IO,再分配通用 IO,最后微调。

3.3 启动模式
启动模式即上电开机后机器进入:工作模式或Flash升级模式或SRAM升级模式。
![图片[4] - 1_STM32简介 - 宋马](https://pic.songma.com/blogimg/20250604/ab0c57af4f9144eaa2c28b4841b1d724.jpeg)
(1)用户闪存存储器启动,指的是进入正常工作模式。
(2)系统存储器启动,指的是进入下载模式,此时会运行ST官方的Bootloader程序,通过 ST官方预设的接口如USART1等下载程序,使用串口下载工具下载固件时就是进入这个模式。
(3)SRAM启动,接仿真器的时候程序直接下载到RAM中(高性能系列中使用,与主板硬件设计关联)。
四、软件设计
软件设计就是使用IDE工具编写代码,编译,使用下载工具将编译生成的二进制文件(xxx.hex/xxx.bin)下载到板子上,然后使用调试工具进行调试,根据调试信息和功能现象确保代码运行逻辑正确。
4.1 资料网站
常用学习资料下载网站:
(1) 正点原子:http://www.openedv.com/docs/index.html
(2) 野火电子:https://doc.embedfire.com/products/link/zh/latest/linux/ebf_i.mx6ull.html
4.2 开发工具
软件设计中主要开发工具包括编辑编译工具(IDE),调试工具,下载工具三种。
开发IDE工具主要有MDK-ARM、IAR、VSCODE、STM32cube等。
调试工具主要有串口助手、仿真器等。
下载工具主要有Flymcu,STM32CubeProg,开发板厂商提供的下载工具等。
五、参考文档
[1]. STM32F103 精英开发指南V1.3.pdf
六、修改记录
| 版本 | 日期 | 作者 | 修改记录 |
|---|---|---|---|
| V1.0.0 | 2025-03-25 | 初见未晚 | 首版 |
| V1.0.1 | 2025-05-30 | 初见未晚 | 优化内容和排版 |
注:本文作为学习笔记记录文档,仅用于学习交流 ,禁止转载。

















暂无评论内容