嵌入式学习笔记——基于Cortex-M的单片机介绍
基于Cortex-M的单片机介绍
- 前言
- 生产厂商及其产品线
- ARM单片机的产品线
- 命名规则
- 留个作业
- 习单片机的资料准备
- STM32开发所需手册
- 1.芯片的数据手册
- 作业2
前言
本文继续接着上一篇中关于Cortex-M的介绍,来记录一些关于ARM系单片机的知识。
生产厂商及其产品线
芯片厂商在拿到ARM的授权后,会在之前的内核基础上添加自己的片内外设形成自家的单片机产品,ST(意法半导体)、GD(国产兆易创新)、NXP(恩智浦)、CW(武汉鑫源半导体)等等都是此类单片机生产厂商。还有厂家为了进一步简化电路结构还会在单片机内部添加部分运算放大器、栅极驱动以及电源管理等电路,MM(灵动微电子)Infineon(英飞凌)等等厂商都有类似的产品,例如MM32SPIN27。想要详细了解的同学可以去他们的官网查询芯片手册和产品介绍。这里着重介绍ST与GD的32为单片机。
ARM单片机的产品线
在上一篇中我们知道了ARM的Cortex-M架构又细分了八个种类,在工作中最常用的是M3、M4系列,下面我们就来看看ST与GD两家厂商关于这两类内核单片机的具体产品。
首先是ST的,查询单片机以及相关资料的最好方式就是找对应公司的官网,官网上能找到绝大部分我们所需要的开发资料。
ST的中文官网链接——https://www.st.com/content/st_com/zh.html
进入官网后按照如下步骤即可进入到ST的32位单片机的产品页面。

在该界面我们可以查看我们想要看的单片机的参数

当然也可以直接在搜索框搜索例如搜索STM32F103C8T6就可以查看到关于这个单片机的数据手册等相关文件。

以此类推关于GD32的资料获取以及产品预览也可以在其官网进行搜索或者查询,兆易创新官网——https://www.gigadevice.com.cn/

通过两家的官网信息我们可以发现,两家的F1xx系列都是通用性单片机,主打一个性价比,F4xx是一个相对高端的单片机,而xxxLxx是主打低功耗的单片机、xxHxx是主打高性能可以做图像处理等复杂操作的单片机。
稍稍一对比就不难发现这两家的产品都大同小异,我们拿两家的F103C8T6来做个简单的对比
STM32F103C8T6:

GD32F103C8T6:

大致预览一下它们各自数据手册的内部结构图,可以发现,二者除了CPU主频不一样以外,其他几乎一致,截图不太清晰,为了方便大家对比,上面贴了二者数据手册的地址,可以下载下来用PDF阅读器查看。
浏览了两家产品线后,不难看出,M3系列的内核主要用在F1系列的通用性单片机上,M4系类的内核就相对高端一些,带有一些更高级的功能。
命名规则
看完这么多产品后,是不是感觉他们的命名有些太长了,搞工科的一般都是求简,怎么简单怎么来,那么为什么关于单片机的命名要弄得如此复杂呢,答案在芯片手册中已经给出了,单片机这么长的命名,每一个字符都有其意义。

如上图关于STM32F103C8T6的命名规则介绍
首先STM代表生产厂家
STM----意法半导体
GD----兆易创新
F代表General-purpose也就是通用型单片机
103代表该芯片的具体型号
C代表引脚数(48PIN)
8代表64K的Flash(存代码的)决定代码量
T代表封装类型,是LQFP四面表贴型
6代表使用温度为-40度到85度
看明白了命名规则我们就能根据芯片命名去了解到他的一些具体参数了,这对于项目选型有很大的益处。
留个作业
这里还放一个命名,大家可以根据一下提示写出对应的信息,评论区见
STM32F407VET6

习单片机的资料准备
在弄明白主流芯片的命名规则后,对于一个项目,选型已经搞定了,接下来就是如何操作芯片实现对应功能了,也就是开发了,开发一款单片机的时候,我们需要尽可能的找到他的手册。
STM32开发所需手册
1.芯片的数据手册
这个是重中之重,我们以STM32F103ZET6为例,首先在上面给出的ST官网下载他的数据手册

打开数据手册,第一页告知了此芯片的内核Arm® 32-bit Cortex®-M3 CPU,主频72MHZ,内存:256 to 512 Kbytes of Flash memory

然后是其内部结构,一般在数据手册第二章,或者在该芯片的介绍页,下图就是介绍页的内部结构示意图,其中深蓝色的部分是ARM公司提供的内核或者叫他微处理器(FPU、CPU),而浅蓝色的部分则是由ST公司自己设计的片内外设。

而在其数据手册还有更为详细的结构图,它描述了片内外设与微处理器的连接方式,如下图所示:

其中红色框代表的是ARM提供的内核,主频为48/72MHZ,
绿色框代表的是AHB总线,主频为48/72MHZ,它连接了APB1、APB2以及内核
橙色框代表的是APB2总线主频为48/72MHZ,它主要是挂接了GPIO模块以及TIM1等等片内外设
蓝色框代表的是APB1总线,主频为24/36MHZ,它连接了TIM2、TIM3、USART2、UART4、SPI2等等
以上这些对于我们编程具有很好地辅助作用,是本文的一个重点,希望大家看了有所收获
既然这么重要,那就再留一个作业,大家有兴趣的可以写在评论区。
作业2
STM32F407VE的结构图


相关文章:
嵌入式学习笔记——基于Cortex-M的单片机介绍
基于Cortex-M的单片机介绍前言生产厂商及其产品线ARM单片机的产品线命名规则留个作业习单片机的资料准备STM32开发所需手册1.芯片的数据手册作业2前言 本文继续接着上一篇中关于Cortex-M的介绍,来记录一些关于ARM系单片机的知识。 生产厂商及其产品线 芯片厂商在…...
Python 虚拟环境的使用
PyCharm 创建的虚拟环境与使用 workon 命令创建的虚拟环境在本质上没有区别,它们都是 Python 的虚拟环境。 使用 PyCharm 创建工程时,使用可以使用曾经工程的虚拟环境,或者新建一个虚拟环境来安装 Python 的库,又或者使用 workon…...
招生咨询|浙江大学MPA项目2023年招生问答与通知
问:报考浙江大学MPA的基本流程是怎么样的? 答:第一阶段为网上报名与确认。MPA考生须参加全国管理类联考,网上报名时间一般为10月初开始、10月下旬截止,错过网上报名时间后不能补报。确认时间一般为11月上旬,…...
Qt std :: bad_alloc
文章目录摘要问题出现原因第一种 请求内存多余系统可提供内存第二种 地址空间过于分散,无法满足大块连续内存的请求第三种 堆管理数据结构损坏稍微总结下没想到还能更新参考关键字: std、 bad、 alloc、 OOM、 异常退出摘要 今天又是被BUG统治的一天&a…...
《设计模式》装饰者模式
《设计模式》装饰者模式 装饰者模式(Decorator Pattern)是一种结构型设计模式,它允许在不改变现有对象结构的情况下,动态地添加行为或责任到对象上。在装饰者模式中,有一个抽象组件(Component)…...
一文说清Kubernetes的本质
文章目录Kubernetes解决了什么问题?Kubernetes的全局架构Kubernetes的设计思想Kubernetes的核心功能Kubernetes如何启动一个容器化任务?Kubernetes解决了什么问题? 编排?调度?容器云?还是集群管理…...
信息发布小程序【源码好优多】
简介 信息发布小程序,实现数据与小程序数据同步共享,通过简单的配置就能搭建自己的小程序。,基于微信小程序开发的小程序。 这个框架比较简单就是用微信原生开发技术进行实现的,可以用于信息展示等相关信息。其中目前APP比较多&am…...
创新型中小企业申报流程
据工业和信息化部《优质中小企业梯度培育管理暂行办法》(工信部企业〔2022〕63号)和省《优质中小企业梯度培育管理实施细则》(鲁工信发〔2022〕8号,以下简称《细则》),现就做好2022年山东省创新型中小企业评…...
【UE4 Cesium】加载离线地图
主体思路:先使用水经注软件下载瓦片数据,再使用Python转换瓦片数据格式(TMS),使用Nginx发布网络服务,最后将网络服务加载到UE中。步骤:使用水经注下载瓦片数据,这里下载的是全球七级…...
Spring面试题
目录 Spring、Springmvc、Springboot的区别是什么 SpringMVC工作流程是什么 SpringMVC的九大组件有哪些 Spring的核心是什么 spring的事务传播机制是什么 Spring框架中的单例Bean是线程安全的么 spring框架中使用了哪些设计模式及应用场景 spring事务的隔离级别有哪些?…...
动态网站开发讲课笔记03:HTTP协议
文章目录零、本节学习目标一、HTTP概述(一)HTTP的概念1、HTTP的概念2、HTTP协议的特点(1)C/S模式(2)简单快速(3)灵活(4)无状态(二)HTT…...
2023年天津财经大学珠江学院专升本专业课考试题型
天津财经大学珠江学院关于2023年高职升本科专业课考试时间及题型一、专业课考试 (一)时间安排 2023年天津财经大学珠江学院高职升本科专业课考试定于2023年3月25日14:00-17:00进行,凡报考工商管理、旅游管理、税收学专业的考生&am…...
五方面提高销售流程管理的CRM系统
销售充满了不确定性,面对不同的客户,销售人员需要采用不同的销售策略。也正因为这种不确定性,规范的销售流程对企业尤为重要,它会让销售工作更加有效,快速地实现成交。下面小编给您推荐个不错的CRM销售流程管理系统。 …...
AutoCAD通过handle id选择实体
获得实体的handle id。注意是handle id 不是id,方法有2种:方法(a):通过ArxDeg插件(ObjectARX附带的源码编译得到:\samples\database\ARXDBG)查找:此handle id本来就是16进…...
页面状态码的含义
使用互联网产品或服务的过程中,会遇到网页报错的情况, 比如404、505等,具体这些数字有什么含义呢?本文基本涵盖了99%的报错情况,可供大家查询使用。 状态码的定义 状态码一般是由3位数字和原因短语组成的(…...
Redis 越来越慢?常见延迟问题定位与分析
Redis作为内存数据库,拥有非常高的性能,单个实例的QPS能够达到10W左右。但我们在使用Redis时,经常时不时会出现访问延迟很大的情况,如果你不知道Redis的内部实现原理,在排查问题时就会一头雾水。很多时候,R…...
【python】python-socketio+firecamp使用踩坑指南
server.py: import eventlet import asyncioeventlet.monkey_patch()import socketio import eventlet.wsgisio socketio.Server(async_modeeventlet, cors_allowed_origins*) # 指明在evenlet模式下sio.event def connect(sid, environ):print(f"connect, sid{sid}, e…...
【OJ比赛日历】快周末了,不来一场比赛吗? #03.04-03.10 #12场
CompHub 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…)比赛。本账号同时会推送最新的比赛消息,欢迎关注!更多比赛信息见 CompHub主页 或 点击文末阅读原文以下信息仅供参考,以比赛官网为准目录2023-03-04&…...
C++11:继承
目录 继承的基本概念 继承方式 基类和派生类对象赋值转换/切片 继承中的作用域 派生类的四个成员函数: 构造函数 拷贝构造函数 赋值重载 析构函数 静态成员 继承与友元 多继承 菱形继承 多继承的指针偏移问题 组合 继承的基本概念 继承出现的契机是某一…...
【蓝桥杯试题】递归实现排列型枚举
💃🏼 本人简介:男 👶🏼 年龄:18 🤞 作者:那就叫我亮亮叭 📕 专栏:蓝桥杯试题 文章目录1. 题目描述2. 代码展示法一:dfs法二:next_perm…...
Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...
SCAU期末笔记 - 数据分析与数据挖掘题库解析
这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
剑指offer20_链表中环的入口节点
链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...
Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
JavaScript 数据类型详解
JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...
