STM32学习笔记一——初识STM32

目录

一、什么是ARM

二. Cortex 内核

三.什么是STM32

四.STM32核心板原理图:

五.STM32的内部结构:

六.stm32系统结构简化图

STM32基本原理分析:

七.典型型号——STM32F103ZET6 

stm32——32位单片机(数据总线是32位的)

一、什么是ARM

ARM这个缩写包含两个意思: 一是指ARM公司,二是指ARM公司设计的低功耗CPU及其架构,包括ARM1~ARM11与Cortex, 其中,被广泛应用的是ARM7、 ARM9、ARM11以及Cortex系列。

 ARM公司及其ARM架构:

ARM是全球领先的32位嵌入式RISC芯片内核设计公司。RISC的英文全称是ReducedInstruction Set Computer, 对应的中文是精简指令集计算机

特点是所有指令的格式都是一致的,所有指令的指令周期也是相同的,并且采用流水线技术。

ARM公司本身并不生产和销售芯片,它以出售ARM内核的知识产权为主要模式。全球顶尖的半导体公司,例如Actel、TI、 ST、Fujitsu、 NXP等均通过购买ARM的内核,结合各自的技术优势进行生产和销售,共同推动基于ARM内核包括Corter内核的嵌入式单片机的发展。ARM的设计具有典型的精简指令系统(RISCO) 风格。ARM的体系架构已经历了个版本,版本号分别是VI~V6。

二. Cortex 内核

Cortex是ARM的全新一代处理器内核,它在本质上是ARM V7架构的实现,它完全有别于ARM的其他内核,是全新开发的。按照3类典型的嵌入式系统应用,即高性能、微控制器、实时类,它又分成3个系列,即Cortex-A、Cortex-M、 Cortex-R。而STM32就属于Cortex-M系列。

Cortex-M旨在提供一种高性能、低成本的微处理器平台,以满足最小存储器、小引脚数和低功耗的需求,同时兼顾卓越的计算性能和出色的中断管理能力。目前典型的、使用最为广泛的是Cortex-M0、Cortex-M3、 Cortex-M4。

与MCS-51单片机采用的冯●诺依曼结构不同,Cortex-M (即stm32)采用的是哈佛结构,即程序存储器和数据存储器不分开、统一编址。

程序存储器:程序储存器的缩写是PC(Program Counter),它是一种专门用于指向当前正在执行的指令位置的寄存器,通常在CPU的结构中使用。程序储存器的作用是帮助计算机实现分步执行指令的功能,可以控制程序的运行顺序、管理数据传输和存储等。

数据存储器:RAM

三.什么是STM32

STM32是意法半导体(STMicroelectronics) 较早推向市场的基于Cortex-M 内核的微处理器系列产品,该系列产品具有成本低、功耗优、性能高、功能多等优势。
STM32目前常用的有STM32F103~107系列,简称“1系列”,最近又推出了高端系列STM32F4xx系列,简称“4系列”。前者基于Cortex-M3内核,后者基于Cortex-M4内核。

STM32F4xx系列在以下诸多方面做了优化:
(1)增加了浮点运算:
(2) DSP处理;
(3)存储空间更大,高达1M字节以上;
(4)运算速度更高,以168MHz高速运行时可达到210DMIPS的处理能力:
(5)更高级的外设,新增外设,例如,照相机接口、加密处理器、USB高速OTG接口等,提高性能,更快的通信接口,更高的采样率,带FIFO的DMA控制器。

四.STM32核心板原理图:

五.STM32的内部结构:

六.stm32系统结构简化图

STM32基本原理分析:

(1)程序存储器、静态数据存储器、所有的外设都统一编址,地址空间为4GB
(2)可将Cortex-M3内核视为STM32的“CPU",程序存储器、静态数据存储器、所有的外设均通过相应的总线再经总线矩阵与之相接。Cortex-M3内核控制程序存储器、静态数据存储器、所有外设的读写访问。
(3)STM32的功能外设较多,分为高速外设、低速外设两类,各自通过桥接再通过AHB系统总线连接至总线矩阵,从而实现与Cortex-M3 内核的接口。两类外设的时钟可各自配置,速度不一样。具体某个外设属于高速还是低速,已经被ST明确规定。所有外设均有两种访问操作方式:一是传统的方式, 通过相应总线由CPU发出读写指令进行访问,这种方式适用于读写数据较小、速度相对较低的场合;二是DMA方式,即直接存储器存取,在这种方式下,外设可发出DMA请求,不再通过CPU而直接与指定的存储区发生数据交换,因此可大大提高数据访问操作的速度。
(4)STM32的系统时钟均由复位与时钟控制器RCC产生,它有一整套的时钟管理设备,由它为系统和各种外设提供所需的时钟以确定各自的工作速度。

七.典型型号——STM32F103ZET6 

根据程序存储容量,ST芯片分为三大类,LD(小于64KB)、 MD(小于256KB)、HD(大于256KB)

STM32F103ZET6类型属于第三类,它是STM32系列中的一个典型型号。

以下是它的性能简介:
(1)基于ARM Cortex-M3核心的32位微控制器,LQFP-144封装

(2)512KB片内Flash(相当于硬盘,程序存储器),64KB片内RAM(相当于内存,数据存储器),片内Flash支持在线编程 (IAP)。

(3)高达72MHz的系统频率,数据、指令分别走不同的流水线,以确保CPU运行速度达到最大化。

(4)通过片内BOOT区,可实现串口的在线程序烧写(ISP)。

(5)片内双RC晶振,提供8MHz和40kHz的频率。

(6)支持片外高速晶振(8MHz)和片外低速晶振(32kHz)。其中片外低速晶振可用于CPU的实时时钟,带后备电源引脚,用于掉电后的时钟行走。

(7)42个16位的后备寄存器(可以理解为电池保存的RAM),利用外置的纽扣电池,实现掉电数据保存功能。

(8)支持JTAG、SWD调试。可在廉价的J-LINK的配合下,实现高速、低成本的开发调试方案。

(9)多达80个GPIO(大部分兼容5V逻辑);4个通用定时器,2个高级定时器, 2个基本定时器; 3路SPI接口;2路IIS接口; 2路IIC接口; 5路USART;1个USB从设备接口; 1个CAN接口; 1个SDIO接口; 可兼容SRAM、NOR和NAND Flash接口的16位总线的可变静态存储控制器(FSMC)

(10)3个共16通道的12位ADC,2个共2通道的12位ADC,支持片外独立电压基准。ADC转换速率最高可达1us

(11)CPU的工作电压范围:2.0~3.6V

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/655592.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

文献速递:人工智能医学影像分割--- 深度学习分割骨盆骨骼:大规模CT数据集和基线模型

文献速递:人工智能医学影像分割— 深度学习分割骨盆骨骼:大规模CT数据集和基线模型 我们为大家带来人工智能技术在医学影像分割上的应用文献。 人工智能在医学影像分析中发挥着至关重要的作用,尤其体现在图像分割技术上。这项技术的目的是准…

Golang 流媒体服务器lalserver使用指南

目录 安装 使用 1.推流 2.播放 官方地址 安装 1.下载源码 wget https://github.com/q191201771/lal/releases/download/v0.36.7/lal_v0.36.7_linux.zipunzip lal_v0.36.7_linux.zip cd lal_v0.36.7_linux 2.启动 ./bin/lalserver -c ./conf/lalserver.conf.json 使用 …

浅谈直流电表在韩国充电桩生产厂家的应用

I.背景: 近几年为应对温室气体的排放导致的全球变暖、气候变化等问题,各大国纷纷对焦推进电动汽车,从而减少传统燃油汽车带来的大量温室气体排放。而推进新能源汽车的各项举措之中,充电桩的基础建设,又是其中的重中之重&#xff…

AR眼镜_ar智能眼镜显示方案|光学方案

AR眼镜是一种智能眼镜,能够将虚拟现实和现实世界相结合,使人们能够在日常生活中体验和参与虚拟现实。然而,AR智能眼镜的制造成本高,开发周期长。要实现AR眼镜的各项功能,需要良好的硬件条件,而AR智能眼镜的…

ssl证书更换步骤及更换后有效期没有更新问题

因公司ssl证书到期,在阿里云申请免费证书更换后,查看证书有效期,发现有效期没有更新。 ssl证书更换步骤: 1.下载nginx证书文件 2.服务器上替换原有ssl证书(操作前记得备份) 3.更改nginx.conf文件中证书路径…

聚势合力 共创高峰”2023思腾合力成都客户答谢会

聚势合力 共创高峰”为主题的思腾合力成都答谢会,在成都都江堰皇冠假日酒店盛大举行,来自各地的客户齐聚于此,共同见证思腾合力的成长与突破,展望未来的合作与发展。 思腾合力总经理王伟热情洋溢的致辞拉开活动序幕。他表达了对所…

wsl-ubuntu 安装 nginx

wsl-ubuntu 安装 nginx 1. 安装 nginx2. 确认 nginx 启动状态3. 重启 nginx4. 停止 nginx 1. 安装 nginx sudo apt install nginx2. 确认 nginx 启动状态 systemctl status nginx3. 重启 nginx systemctl restart nginx4. 停止 nginx systemctl stop nginx完成!…

pve宿主机更改网络导致没网,pve更改ip

一、问题描述 快过年了,我把那台一直在用的小型服务器,带回去了,导致网络发生了变更,需要对网络进行调整,否则连不上网,我这里改的是宿主机,不是pve虚拟机中的系统。 二、解决方法 pve用的是…

[GN] 设计模式——面向对象设计原则概述

文章目录 面向对象设计原则概述单一职责原则开闭原则里氏代换原则依赖倒转原则接口隔离原则合成复用原则迪米特法则 总结 提示:以下是本篇文章正文内容,下面案例可供参考 面向对象设计原则概述 单一职责原则 一个类只负责一个功能领域中的相应职责 类…

蓝桥杯---加法变乘法

我们都知道:123 ….. 491225,现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015 比如:123 ... 10*1112 ... 27*2829 ... 492015 就是符合要求的答案. 请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是 提交10)…

动手学深度学习(一)深度学习介绍1

目录 一、引言 1.日常生活中的机器学习: 2.机器学习中的关键组件: 2.1 数据: 2.2 模型: 2.3 目标函数: 2.4 优化算法: 3. 各种机器学习问题: 3.1 监督学习: 3.1.1 回归&…

MGRE实验报告二

实验要求: 实验预览图: 实验分析: 1、对R1-R5配置IP地址,同时R1-R5每个路由器各有一个环回 2.1、对R1、R3、R4路由器开启虚拟接口1,分别配置隧道IP、接口封装协议,接口类型、定义封装源、开启伪广播功能&…

cetos7.9 install kubeadmin

第 1 步:禁用 SELinux(可选但推荐) 如何在 CentOS 7 上查找 SELinux 状态 sestatus另一种选择是运行以下 cat 命令: vi /etc/selinux/config SELINUXdisabled rebootcentos7 linux 安装k8s前下面操作的作用是? cat…

JAVA双列集合Map的特点

一次存一对元素,分别是 键 和 值,他们是一 一对应的:其中:键不可以重复,值可以重复这一对数据叫键值对、键值对对象、或 Entry Map 的体系结构: Map的常见API: 方式的实现:注意 Map …

数据结构----链表介绍、模拟实现链表、链表的使用

文章目录 1. ArrayList存在的问题2. 链表定义2.1 链表的概念及结构2.2 链表的组合类型 3. 链表的实现3.1 单向、不带头、非循环链表的实现3.2 双向、不带头节点、非循环链表的实现 4.LinkedList的使用4.1 什么是LinkedList4.2 LinkedList的使用4.2.1. LinkedList的构造4.2.2. L…

第 6 章:Linux中使用时钟、计时器和信号

在本章中,我们将开始探索Linux环境中可用的各种计时器。随后,我们将深入了解时钟的重要性,并探讨UNIX时间的概念。接下来,我们将揭示在Linux中使用POSIX准确测量时间间隔的方法。之后,我们将进入std::chrono的领域&…

数据结构与算法-二叉树-二叉树的所有路径

二叉树的所有路径 给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。 叶子节点 是指没有子节点的节点。 示例 1: 输入:root [1,2,3,null,5] 输出:["1->2->5","…

计算机毕业设计 | vue+springboot 超市账单管理系统(附源码)

1,绪论 1.1 开发背景 世界上第一个购物中心诞生于美国纽约,外国人迈克尔库伦开设了第一家合作商店,为了更好地吸引大量客流量,迈克尔库伦精心设计了低价策略,通过大量进货把商品价格压低,通过商店一次性集…

HCIA---OSPF实验

题目: 一:IP规划及配置 IP规划没有要求,所以我们可以去任意规划,只要每个网段不要重复就好 规划的IP 配置IP 先在每个ABR设备上配置环回和接口IP,然后每台设备上使用display ip interface brief都查看一下 R1: R3&…

测试ASP.NET Core项目调用EasyCaching的基本用法(InMemory)

EasyCaching属于开源缓存库,支持基本缓存方式及高级缓存用法,提高用户操作缓存的效率。EasyCaching支持的缓存方式包括以下类型,本文学习最基础的InMemory方式的基本用法。   EasyCaching.InMemory包属于基于内存的缓存库,使用的…