当前位置: 首页 > news >正文

嵌入式学习笔记——基于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月上旬&#xff0c…...

Qt std :: bad_alloc

文章目录摘要问题出现原因第一种 请求内存多余系统可提供内存第二种 地址空间过于分散,无法满足大块连续内存的请求第三种 堆管理数据结构损坏稍微总结下没想到还能更新参考关键字: std、 bad、 alloc、 OOM、 异常退出摘要 今天又是被BUG统治的一天&a…...

《设计模式》装饰者模式

《设计模式》装饰者模式 装饰者模式(Decorator Pattern)是一种结构型设计模式,它允许在不改变现有对象结构的情况下,动态地添加行为或责任到对象上。在装饰者模式中,有一个抽象组件(Component)…...

一文说清Kubernetes的本质

文章目录Kubernetes解决了什么问题?Kubernetes的全局架构Kubernetes的设计思想Kubernetes的核心功能Kubernetes如何启动一个容器化任务?Kubernetes解决了什么问题? 编排?调度?容器云?还是集群管理&#xf…...

信息发布小程序【源码好优多】

简介 信息发布小程序,实现数据与小程序数据同步共享,通过简单的配置就能搭建自己的小程序。,基于微信小程序开发的小程序。 这个框架比较简单就是用微信原生开发技术进行实现的,可以用于信息展示等相关信息。其中目前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位数字和原因短语组成的&#xff08…...

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…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql

智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...

微信小程序云开发平台MySQL的连接方式

注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...

SpringTask-03.入门案例

一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...

laravel8+vue3.0+element-plus搭建方法

创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态&#xff08;编译时多态&#xff09; 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1&#xff09;.协变 2&#xff09;.析构函数的重写 5.override 和 final关键字 1&#…...

宇树科技,改名了!

提到国内具身智能和机器人领域的代表企业&#xff0c;那宇树科技&#xff08;Unitree&#xff09;必须名列其榜。 最近&#xff0c;宇树科技的一项新变动消息在业界引发了不少关注和讨论&#xff0c;即&#xff1a; 宇树向其合作伙伴发布了一封公司名称变更函称&#xff0c;因…...