〇、stm32的前世今生

序言

本文简要谈谈stm32的一些背景知识。

处理器——stm32就是一种处理器

集成电路是人类文明发展史上一个伟大的创举,被誉为“工业的皇冠”,而处理器(CPU)芯片则是这顶皇冠上最闪耀的明珠。简单来说,处理器就是一种可以执行人类指令最后输出结果的机器。一颗指甲盖大小的处理器芯片内部含有上百万个晶体管,处理器内部不同区域根据承担的功能不同可以划分为输入单元、输出单元、内存单元、运算单元和控制单元(冯诺依曼架构),就像学校里有教学办、后勤办、人事处、学生处、招生办等承担不同工作的部门。为了维持学校各项工作正常、高效运作,就需要不同部门间配合协调,也就是学校管理办法。对应到芯片内不同功能单元的配合协调,也需要一套管理办法,称为架构。虽然不同学校都有以上部门但是由于组织管理办法不同其最终的学校工作效率也不同。同样的,即使芯片具有同样多的晶体管等硬件资源,由于架构不同,最终芯片的工作效率也会有所区别。【详见 https://baijiahao.baidu.com/s?id=1666360319131085422&wfr=spider&for=pc

目前芯片架构主要有x86、ARM,其实x86和ARM不仅仅代表芯片的架构,也代表了处理器的指令集(Instruction Set,IS),也代表了一种处理器型号。先说说IS,IS就是一串二进制数字到处理器动作映射的集合,因为芯片只认识二进制数字,为了让它理解人类语言、执行人类指令就有必要建立起人类指令与二进制数串的对应关系,这样我们给处理器输入它理解的二进制数串,它就知道我们想要它干什么事情了。不同的芯片内部各个功能单元、硬件资源组织合作方式(即架构)具有不同指令集,由于架构与指令集的密切关系,因此x86、ARM既指架构又代表指令集。基于x86、ARM架构指令集生产出的处理器芯片,就称为x86、ARM芯片,因此x86、ARM也指芯片。

x86架构芯片主要应用于PC和服务器而ARM架构芯片主要应用于移动端、嵌入式领域。ARM架构的处理器除了共有的特点外,不同子系列的处理器各自还有各自的特点和适用的领域,从ARM11后就以Cortex命名了,如表1所示。

ARM Cortex
ARM7 Cortex-A
ARM9 Cortex-R
ARM10E Cortex-M

表1 ARM部分子系列

stm32就是基于ARM-Cortex-M的处理器。

MDK——ARM芯片开发环境搭建

MDK是专门为AMD系列芯片开发的软件,开发环境搭建主要有以下流程:

  • 安装MDK
  • 安装相应芯片开发支持包
  • 安装硬件驱动,如J-Link、CH340驱动
  • 新建工程

题外话

区分 Cortex-M3 CPU 与 Cortex-M3 处理器关系,后者是在前者基础上增加了GPIO、AD/DA、USART等外设构成的,后者包括了前者。

posted @ 2021-10-21 11:01  王若虚  阅读(1028)  评论(0)    收藏  举报