STM单片机基础了解--野火

STM32, ST 是意法半导体, M 是 Microelectronics 的缩写, 32 表示32 位, STM32 就是指 ST 公司开发的 32 位微控制器。

ARM 公司推出了其全新的基于 ARMv7 架构的 32 位 Cortex-M3微控制器内核。紧随其后, ST(意法半导体)公司就推出了基于 Cortex-M3 内核的 MCU—STM32。

 

STM32 有很多系列,可以满足市场的各种需求,从内核上分有 Cortex-M0、 M3、 M4和 M7 这几种,每个内核又大概分为主流、高性能和低功耗。
单纯从学习的角度出发,可以选择 F1和 F4, F1代表了基础型,基于 Cortex-M3内核,主频为 72MHZ, F4 代表了高性能,基于 Cortex-M4 内核,主频 180M。

之于 F1, F4(429 系列以上)除了内核不同和主频的提升外,升级的明显特色就是带了 LCD 控制器和摄像头接口,支持 SDRAM,

STM32F103 采用的是 Cortex-M3 内核,内核即 CPU,
 

 

 

 


TM8 和 STM32 分类

CPU 位数 内核 系列 描述
32 Cortex-M0 STM32-F0 入门级
STM32-L0 低功耗
Cortex-M3 STM32-F1 基础型,主频 72M
STM32-F2 高性能
STM32-L1 低功耗
Cortex-M4 STM32-F3 混和信号
STM32-F4 高性能,主频 180M
STM32-L4 低功耗
Cortex-M7 STM32-F7 高性能
8 超级版 6502 STM8S 标准系列
  STM8AF 标准系列的汽车应用
  STM8AL 低功耗的汽车应用
  STM8L 低功耗

 

 

ST
M32
STM32
FF 103 Z E T 6
家族 STM32 表示 32bit 的 MCU
产品类型 表示基础型
具体特性 基础型
引脚数目 表示 144pin,其他常用的为 表示 48, 表示 64, 表示 100, 表示
144, 表示 208, 表示 216
FLASH 大小 表示 512KB,其他常用的为 表示 256, 表示 512, 表示 2048
封装 表示 QFP 封装,这个是最常用的封装
温度 表示温度等级为 : -40~85°

 

STM单片机基础了解--野火

STM32 芯片架构简图
 

STM单片机基础了解--野火

 

启动文件

启动文件在这里只是简要的介绍下,关于这个文件的详解请参考后面的《启动文件详解》章节。
名为“startup_stm32f10x_hd.s”的文件,它里边使用汇编语言写好了基本程序,当STM32 芯片上电启动的时候,首先会执行这里的汇编程序,从而建立起 C 语言的运行环境,所以我们把这个文件称为启动文件。该文件使用的汇编指令是 Cortex-M3 内核支持的指令,可参考《Cortex-M3 权威指南》 中指令集章节。
startup_stm32f10x_hd.s 文件由官方提供,一般有需要也是在官方的基础上修改,不会自己完全重写。该文件从 ST 固件库里面找到,找到该文件后把启动文件添加到工程里面即可。不同型号的芯片以及不同编译环境下使用的汇编文件是不一样的,但功能相同。
对于启动文件这部分我们主要总结它的功能,不详解讲解里面的代码,其功能如下:
 初始化堆栈指针 SP;
 初始化程序计数器指针 PC;
 设置堆、栈的大小;
 初始化中断向量表;
 配置外部 SRAM 作为数据存储器(这个由用户配置,一般的开发板可没有外部
SRAM) ;
 调用 SystemIni() 函数配置 STM32 的系统时钟。
 设置 C 库的分支入口“__main”(最终用来调用 main 函数) ;