stm32编程入门教程_零基础编程入门书籍

stm32编程入门教程_零基础编程入门书籍前言在中国,熟悉单片机的人士大多会听说过STM32。这是意法半导体(STMicroelectronics,简称ST)的32位微控制器(MCU)家族,基于ARMCortex-M内核。2007年,STM32F1诞生。这是业界首款搭载ARMCortex-M3内核的32位MCU,采用180nm闪存工艺,配有128KB闪存和20KBRAM,运行主频为72MHz,在当时属于相当高的配置。随后的10年内,STM32产品线相继加入了基于ARMCortex-M0、Cortex-M4和Cortex-M7…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

前言

在中国,熟悉单片机的人士大多会听说过STM32。这是意法半导体(STMicroelectronics, 简称ST)的32位微控制器(MCU)家族,基于ARMCortex-M内核。

2007年,STM32F1诞生。这是业界首款搭载ARM Cortex-M3内核的32位MCU,采用180nm闪存工艺,配有128KB闪存和20KB RAM,运行主频为72MHz,在当时属于相当高的配置。

随后的10年内,STM32产品线相继加入了基于ARM Cortex-M0、Cortex-M4和Cortex-M7的产品,产品线覆盖通用型、低成本、超低功耗、高性能低功耗以及甚高性能类型。

一、初识STM32

1.1 ARM处理器简介

这里需要补充一下ARM公司知识点。

ARM公司在经典处理器ARM11以后的产品改用Cortex命名,老式的则命名为Classic系列,并分成A、R和M三类,旨在为各种不同的市场提供服务,见下图。

stm32编程入门教程_零基础编程入门书籍

Cortex系列属于ARMv7架构,ARMv7架构定义了三大分工明确的系列:“A”系列面向尖端的基于虚拟内存的操作系统和用户应用;“R”系列针对实时系统;“M”系列对微控制器

由于应用领域不同,基于v7架构的Cortex处理器系列所采用的技术也不相同,基于v7A的称为Cortex-A系列,基于v7R的称为Cortex-R系列,基于v7M的称为Cortex-M系列。

ARM Cortex™-A

ARM Cortex™-A 系列应用型处理器可向托管丰富OS平台和用户应用程序的设备提供全方位的解决方案,从超低成本手机、智能手机、移动计算平台、数字电视和机顶盒企业网络、打印机和服务器解决方案。高性能的Cortex-A15、可伸缩的Cortex-A9、经过市场验证的Cortex-A8处理器和高效的Cortex-A7Cortex-A5处理器均共享同一架构,因此具有完全的应用兼容性,支持传统的 ARM、Thumb指令集和新增的高性能紧凑型Thumb-2指令集。

Cortex-A15 和 Cortex-A7 都支持 ARMv7A 架构的扩展,从而为大型物理地址访问和硬件虚拟化以及处理 AMBA4 ACE 一致性提供支持。同时,这些都支持big.LITTLE 处理。 

ARM在Cortex-A系列处理器大体上可以排序为:Cortex-A57处理器、Cortex-A53处理器、Cortex-A15处理器、Cortex-A9处理器、Cortex-A8处理器、Cortex-A7处理器、Cortex-A5处理器、ARM11处理器、ARM9处理器、ARM7处理器,再往低的部分手机产品中基本已经不再使用。 需要指出的是,单从命名数字来看Cortex-A7似乎比A8和A9低端,但是从ARM的官方数据看,A7的架构和工艺都是仿照A15来做的,单个性能超过A8并且能耗控制很好。另外A57和A53属于ARMv8架构

ARM Cortex-R

ARM Cortex-R实时处理器为要求可靠性、高可用性、容错功能、可维护性和实时响应的嵌入式系统提供高性能计算解决方案。

Cortex-R 系列处理器通过已经在数以亿计的产品中得到验证的成熟技术提供极快的上市速度,并利用广泛的 ARM 生态系统、全球和本地语言以及全天候的支持服务,保证快速、低风险的产品开发。

许多应用都需要 Cortex-R 系列的关键特性,即:

  • 高性能:与高时钟频率相结合的快速处理能力

  • 实时:处理能力在所有场合都符合硬实时限制

  • 安全:具有高容错能力的可靠且可信的系统

  • 经济实惠:可实现最佳性能、功耗和面积的功能。

  • Cortex-R 系列处理器与Cortex-M和Cortex-A系列处理器都不相同。显而易见,Cortex-R 系列处理器提供的性能比 Cortex-M 系列提供的性能高得多,而 Cortex-A 系列专用于具有复杂软件操作系统(需使用虚拟内存管理)的面向用户的应用。

ARM Cortex™-M

ARM Cortex™-M处理器系列是一系列可向上兼容的高能效、易于使用的处理器,这些处理器旨在帮助开发人员满足将来的嵌入式应用的需要。这些需要包括以更低的成本提供更多功能、不断增加连接、改善代码重用和提高能效。

Cortex-M 系列针对成本和功耗敏感的MCU和终端应用(如智能测量、人机接口设备、汽车和工业控制系统、大型家用电器、消费性产品和医疗器械)的混合信号设备进行过优化。

1.2 STM32 MCU产品分类

STM32分为4种不同系列产品:高性能产品、主流产品、超低功耗产品以及无线产品,见下图。 

stm32编程入门教程_零基础编程入门书籍

从上图可知,STM32开发了基于M0、M4、M7以及A7四种内核的MCU产品。 为什么ARM Cortex-M的内核要划分出这么多的型号呢?主要是针对不同的应用领域,下图是官方给出的区别。

stm32编程入门教程_零基础编程入门书籍

上图囊括了ARM公司所有Cortex-M内核,ST意法公司选择了M0、M4、M7以及A7研发了MCU产品,图中的内容精简为一句话:数字越大,性能越高

二、STM32产品选型

2.1 高性能产品

STM32的高性能产品又细分为STM32F2、STM32F4、STM32F7和STM32H7共四个系列。如,STM32F2系列基于包含STM32F205/215 和STM32F207/217 2款产品。

stm32编程入门教程_零基础编程入门书籍

2.2 STM32 MCU型号命名规则stm32编程入门教程_零基础编程入门书籍

知道型号命名规则后,就可以依据需要订购正确的MCU。


总结

再次以一张图的方式总结一下四大类型产品各自特点。

stm32编程入门教程_零基础编程入门书籍

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196354.html原文链接:https://javaforall.net

(0)
上一篇 2025年9月28日 下午4:43
下一篇 2025年9月28日 下午5:15


相关推荐

  • Java经典算法(二)

    Java经典算法(二)【程序10】题目:将一个正整数分解质因数。例如:输入90,打印出90=233*5。程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。(2)如果n!=k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。解题代码:importjava.util.Scanner;publicclassTe

    2022年7月7日
    21
  • WebGoat靶场搭建及通关记录(一)

    WebGoat靶场搭建及通关记录(一)文章目录前言一 搭建靶场二 通关攻略 1 GeneralHTTPB InjectionFla advanced 前言搭建 WebGoat 靶场 没事打一打 一 搭建靶场靶场环境 只介绍在 windows 系统中搭建过程 先下载这两个文件 https github com WebGoat WebGoat releases download v8 1 0 webgoat server 8 1 0 jarhttps githu

    2026年3月16日
    27
  • 字长为32位的计算机是指_微机的字长是4个字节

    字长为32位的计算机是指_微机的字长是4个字节2019-07-1932位计算机中,一个字长等于32位,一个字节是8位,所以从长度来说一个字长等于4个字节。字长简介:在同一时间中处理二进制数的位数叫字长。通常称处理字长为8位数据的CPU叫8位CPU,32位CPU就是在同一时间内处理字长为32位的二进制数据。二进制的每一个0或1是组成二进制的最小单位,称为位(bit)。字长:一般说来,计算机在同一时间内处理的一组二进制数称为一个计算机的“字”…

    2026年4月15日
    5
  • typedef int ElemType的理解[通俗易懂]

    typedef int ElemType的理解[通俗易懂]From:https://blog.csdn.net/zhuzhihai1988/article/details/82334651  typedefintElemType;为什么呀,我倒是知道后面用ElemType定义别的数据类型,看起来是把ElemType和int一样啦,那直接用int不用行了,为什么要用ElemType.这是定义一个线性表元素类型的最佳…

    2022年5月19日
    61
  • ManualResetEvent类的用法

    ManualResetEvent类的用法ManualResetEvent类作用1.事件初始状态设为false,task线程在第一个WaitOne()处阻塞。2.manualResetEvent.Set()事件状态设为true,task线程在每一个WaitOne()处都不阻塞。3.manualResetEvent调用Set()再调用Reset(),task线程在第一个WaitOne()处阻塞。4.manualResetEvent.Set()事件状态设为true,task线程在第一个WaitOne()处阻塞然后被释放。5.三个线程异步执行,set()

    2022年7月18日
    24
  • 我是如何学习Android源码的

    我是如何学习Android源码的一连很长时间(从2017/06/09到2017/06/26)都在研究蓝牙,而且这只是文章发表的时间,再加上组织文章和研究的时间,不知不觉中就坚持这么久………,也写了蓝牙的三篇博客,而且篇幅很长如下:在这里就不放文章链接了,有需要的在我的文章中搜索即可,现在,是时候放空一下,给自己充充电了,来张美景,欣赏一下北京的晚霞。言归正传,先放上Android源码连接地址Android源码,至于研究源码的好处,

    2022年5月3日
    55

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号