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
产品类型 F 表示基础型
具体特性 基础型
引脚数目 Z 表示 144pin,其他常用的为 C 表示 48, R 表示 64, V 表示 100, Z 表示
144, B 表示 208, N 表示 216
FLASH 大小 E 表示 512KB,其他常用的为 C 表示 256, E 表示 512, I 表示 2048
封装 T 表示 QFP 封装,这个是最常用的封装
温度 6 表示温度等级为 A : -40~85°

STM32 芯片架构简图

启动文件

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

STM单片机基础了解--野火相关推荐

  1. c51编程语言基础习题,《单片机基础》练习题及答案

    单片机基础(第3版) 第1章计算机基础知识 (一)填空题 1.十进制数14对应的二进制数表示为(1110B),十六进制数表示为(0EH).十进制数-100的补码为(9CH),+100的补码 为(64H ...

  2. java gpio_单片机基础——使用GPIO输出点亮一个LED灯

    1. 准备工作 硬件准备 开发板 首先需要准备一个小熊派IoT开发板,并通过USB线与电脑连接. 软件准备 需要安装好Keil - MDK及芯片对应的包,以便编译和下载生成的代码,可参考MDK安装教程 ...

  3. 嵌入式单片机基础篇(一)之stm32F1GPIO详解

    嵌入式单片机基础篇(一)之stm32F1GPIO详解 stm32F1GPIO详解 下面以stm32f103zet6以及51单片机为例,讲解单片机最基本部分IO口 第一部分:stm32 STM32 的 ...

  4. 单片机基础(一):外部引脚及总线接口

    51单片机外部引脚   如上图,从左至右,从上到下,32个引脚每八个一组,分别称为P1口,P0.P3.P2口 输入输出引脚 P0口(39 ~ 32脚):即P0.0 ~ P0.7,通常作为双向I/O口, ...

  5. 单片机基础(五):定时/计数器的工作原理及工作方式

    定时 / 计数器 单片机中的模块,可通过编程实现对系统时钟计数(作定时器),也可以对外部信号计数(作计数器) 每个定时/计数器都有多种工作方式,不同的工作方式对应计数长度和初值装载方式不同 51系列单 ...

  6. 51单片机直流电机c语言基础知识要点,完结单片机基础知识的总结(制作作品)...

    完结单片机基础知识的总结(制作作品) 一个暑假过去了,也许没有达到学长和老师的期望,可是只有我知道我自己是突破了自己的,从未如此认真的一一天学习,度过三分之二个充实的暑假.现在将一腔想表达的,想解惑的 ...

  7. 单片机基础之ADD与ADDC的区别详解

    单片机基础之ADD与ADDC的区别详解 ADD 两数相加,不加进位位. ADDC 两数相加,加进位位.进位当时为1就加1,进位为0就加0. 一般在多字节数相加时,低字节相加用ADD ,高字节相加就用A ...

  8. 51单片机基础之点亮一盏LED灯

    1.单片机基础(1)LED,即发光二极管,是一种有方向性的半导体固体发光器件.(2)LED原理解释:LED的阳极串联一个电阻,然后连接到电源VCC,而LED的阴极连接到单片机的P2口,如果想把LED灯 ...

  9. 单片机知识点总结框图_单片机基础知识

    什么是单片机: 顾名思义,单片机中的"单片"就是只有一个芯片, "机"就是指计算机,只有有一个芯片,她却具有简单计算机的功能,这就叫做单片机,也教微处理器微控制 ...

  10. 嵌入式单片机基础篇(八)之两只看门狗

    嵌入式单片机基础篇(八)之两只看门狗 独立看门狗与窗口看门狗 第一部分:stm32 .STM32 内部自带了 2 个看门狗:独立看门狗(IWDG)和窗口看门狗(WWDG). (一)独立看门狗 STM3 ...

最新文章

  1. Sigma Function LightOJ - 1336[约数和定理]
  2. zblog php伪静态,ZBLOG PHP版本Apache和Nginx伪静态规则以及设置方法
  3. torch.clamp()
  4. vue+ssr+axios
  5. 经典C语言程序100例之八零
  6. Dora.Interception: 一个为.NET Core度身定制的AOP框架
  7. 《MySQL排错指南》——1.9 许可问题
  8. 信息学奥赛C++语言: 蛇形方阵1
  9. LeetCode-Clone Graph-克隆无向图
  10. PHP数据结构预热:PHP的迭代器(转)
  11. Linux yum软件仓库配置,linux配置软件仓库 、 yum管理应用软件 、 快速部署Web/FTP...
  12. python坐标系教程_python Shapely使用指南详解
  13. 组合逻辑与时序逻辑的区别
  14. 前端javascript解压zip文件[zip.js] 附上可用demo
  15. centos下使用pngquant批量压缩png图片
  16. Chrome扩展程序应用商店方式一
  17. 软考 - 高级信息系统项目管理师,考证好处、报考流程及知识体系
  18. 多御浏览器安卓版有哪些地方值得下载使用?
  19. [转]我的世界观(一)
  20. 《三国演义》之二 十常侍乱政

热门文章

  1. python身份证号判断_Python实现身份证号码解析
  2. 作为一名优秀的程序员,如何得体地辞职
  3. 火狐浏览器复制网页文字_从Firefox中的网页链接的多种“复制”格式中选择
  4. php微商城微信支付教程,微信支付接口配置教程(微商城版)
  5. 获取打印机状态,判断打印机状态,获取打印机驱动信息
  6. c语言如何文件指针指向开头,fseek设置好文件指针 在C语言中fseek()的功能
  7. css 将图片折角,纯css3实现的折角效果(无需图片和js代码)
  8. gitlab 屏蔽注册功能
  9. 科研画图——流程图软件draw.io
  10. 互联网日报 | 360企业安全更名“政企安全”;B站获欢喜传媒独家外部播放权;银联发布首款数字银行卡...