嵌入式学习笔记——概述

article/2025/10/23 3:36:58

嵌入式系统概述

  • 前言
  • “嵌入式系统”概念
    • 1.是个啥?
    • 2.可以干啥?
    • 3.有哪些入坑方向?
    • 4.入坑后可以有多少薪资?
  • 单片机
    • 1.什么是单片机?
    • 2.架构简介
    • 3.基于ARM架构的单片机结构简介
  • 总结
  • M4系列目录

前言

断更很长时间了,写博客确实是一件考验能力的事情,也能让自己发现自身的不足,之所以这么长时间没有更新就是因为感觉自己能力还不太够,沉淀的还不够多。此系列是笔者对于二刷M4的学习笔记,之前STM32都是自己在本科期间刷视频,做比赛来学习的,学校并没有开设课程,到现在的感觉就是能用,但是差点意思,为了补齐这点意思,笔者觉得回头再来一遍。文中如有不足,希望大家狠狠的提出来。

“嵌入式系统”概念

在入坑嵌入式行业之前,咱们首先得搞清楚嵌入式系统是个啥,可以干啥,有哪些入坑方向,入坑后可以有多少薪资。

1.是个啥?

关于是个啥这个问题,似乎没有严格规范的表述,但大致意思都查不到,以下是来自“C知道的”答案。
在这里插入图片描述
同样,百度百科给出的定义也是大差不差的,都给出了定义:嵌入式是一种特殊的计算机系统,特殊之处在于:
1.由于要嵌入其他设备,其功耗、体积等与常规的计算机系统有差异,它的功耗小、体积小。
2.它的功能相对专一,都是为了实现某一个系统的控制、监控、执行任务;
3.它会根据任务需求的不同定制化的设计对应的硬件、软件。

2.可以干啥?

关于可以用它做什么东西,可以借用人们描述Matble的话来说,它也是除了不会生孩子,其他的事儿他都可以完成。我们最常使用的手机、家用电器、车载电子都是一个嵌入式系统,或者说其是由多个嵌入式系统集成起来的一个系统整体。

3.有哪些入坑方向?

正如关于嵌入式系统的概念描述,入坑嵌入式的方向,有硬件和软件两大类,其中软件方向有
单片机– Linux–DSP–FPGA–Android(安卓)
硬件主要就是PCB的绘制以及原理图的设计

4.入坑后可以有多少薪资?

关于薪资,笔者没有仔细的去调查,仅仅是自己的一点看法,单片机的话不学Linux或者上位机的话15k封顶,学了Linux或者C++会更进一步。
单片机工程师:
在这里插入图片描述
在这里插入图片描述

嵌入式工程师:
在这里插入图片描述

在这里插入图片描述
硬件方面,只是layout的话,薪资一般也是15k左右封顶,经验积累多,有原理图设计能力的也能再上一个台阶。
在这里插入图片描述

单片机

前面的招聘职位要求已经明确提出了熟悉使用一种单片机的需求,嵌入式的学习一般都是从一款单片机开始的,单片机是什么呢?

1.什么是单片机?

以下是来自百度百科的解释:
单片机:(Single-Chip Microcomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM只读存储器ROM多种I/O口中断系统定时器/计数器等功能(可能还包括驱动电路脉宽调制电路模拟多路转换器A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
单片机的前身是单板计算机,随着芯片工艺的提高和技术水平的精进,逐渐发展成为了集成于一体小而完善的微型计算机系统。
在这里插入图片描述
概括的讲:一块单片机就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。
有关单片机更多的介绍请参考百度百科有关单片机的介绍。
前面提到过单片机已经广泛应用于市面上,生活中处处都有单片机的应用,而这些单片机大是多采用ARM架构进行设计制作的,在工控、消费类电子大多使用的是ARM系芯片例如STM32、MM32、CW32、NXP K60等等;而在物联网这些邻域,一批RSIC-V架构的单片机占据了一定的市场,例如乐鑫的ESP32、海思的Hi3861等,而电脑这些复杂的CPU又是采用的X86的架构,例如Intel 的i5 13500H、AMD的R7 7735H 等CPU都是X86架构。
那么,什么是架构呢,ARM架构、X86架构以及RSIC-V架构三者之间又有什么样的区别联系呢。

2.架构简介

关于架构笔者自己的理解就跟房子的毛坯房一样,而不同的架构就是不同开发商的毛坯房,各有各的优势。
首先,对比一下X86架构与ARM架构,为什么先对比这两者呢,是因为他们是老对头,而RSIC-V是后起之秀。
说起来是X86架构和ARM架构的对比,其实落到底层是CSICRISC两者之间的恩怨情仇。
CSIC:
CSIC在这可不是下饺子那位。
误解:
http://www.csic.com.cn/
正解:CISC: Complex Instruction Set Computer复杂指令集计算机,它就是在发展过程中不断引进指令集。
举个不怎么恰当的例子,假设“printf(“%d\n”,1+1)”是一条指令,我们知道这条指令的最终输出是2,复杂指令集就会收录这条指令,以后再识别到这条指令就直接输出2,省去了中间的逻辑计算过程,这种做法会极大地提高执行效率对于处理特定的任务有优势,但是与此同时,随着时间的延长,指令会越来越多,会带来指令集越来越庞大,也越来越难维护的问题,而且芯片内部的电路也会因此而变得更加复杂,单位面积所需晶体管也就更多,功耗也就成了问题。
代表:
Intel i5 13500H, AMD R7 7735等等
RSIC:
RSIC: Reduced Instruction Set Computer 精简指令集计算机,而精简指令集计算机是在整过程中不断去优化指令,力求用逻辑电路实现功能,同样是上面的例子,对于“printf(“%d\n”,1+1)”,其采取的措施就是运用逻辑电路进行计算出结果并输出2。这种处理方式能够节省专开指令的逻辑电路,力求用最少得逻辑电路实现功能,单位面积的晶体管数量少,功耗低,但是会造成运算过程较长的问题。
此类ARM架构的芯片代表作就太多了例如消费终端类处理器麒麟9000,骁龙8gen2等等
在这里插入图片描述
在这里插入图片描述
图片来自于B站UP主 极客湾

还有我们常见的STM32、GD32、CW32
在这里插入图片描述
因此二者各自有各自的优点也有各自的缺点。
然后再来说一说RSIC-V的可以发现RSIC-V的命名和上面的精简指令集计算机相似,只是后面多了一个-V,V就是罗马字母代表的是第五代精简指令集,其与RSIC的差别在于,RSIC-V比较新,而且其实开源的,加上物联网的走热RSIC-V的未来市场或许更值得期待,加上ARM的收费确实逐年离谱,能白嫖谁愿意花钱搞定呢。
此类代表:K210,
ESP32:在这里插入图片描述
图片截取自淘宝店铺——优信电子;
海思Hi3861:
在这里插入图片描述
图片截取自淘宝店铺——优信电子;

关于三者之间的关系和详细简介别的大佬已经详细介绍过了,这两给大家贴几个链接,感兴趣的可以去拜读一下。
1.CISC (复杂指令集)与 RISC(精简指令集)的区别
2.ARM与RISC-V架构的区别
3.ARM 和 x86 有什么区别
4.RSIC-V–第一印象
5.RISC-V架构对比x86、ARM
对比之后还是得回到主角身上,我们学习嵌入式,以及目前市场上最常用的还是ARM架构的芯片,经过前面的介绍,已经可以知道,ARM使用的是精简指令集计算机,发展了这么多年,ARM的架构也早已经分支出了很多类别。
下图是ARM官网给出的关于ARM架构的简介,想要阅读的可以去这个链接——传送门。
在这里插入图片描述
文档告诉我们ARM现在主流的有三类架构,分别是A,R,M,关于这三类的用途介绍如下图所示:
在这里插入图片描述
A系列:A系列主要用作中端处理器,也是就我们现在手机厂商的芯片,我们可以借用上面的一张图,可以看出麒麟9000的CPU部分就是使用的ARM的Cortex-A系架构,当然骁龙亦是如此。
在这里插入图片描述
然后是平时少见的Cortex-R系列,其主要关注实时效应,广泛应用于电动汽车和军工制导。
最后就是我们常见的Cortex-M系列的,此系列的代表作就是STM32、GD32、CW32、K60等等,除此之外我们的手机上还有很多也是用了Cortex-M的架构,如下图所示,除了CPU,还有屏幕驱动、摄像头驱动、电源管理、wifi、蓝牙、4G、5G等等呢个芯片都广泛使用了Cortex-M的架构,而4G、5G以及wifi由于实时性的需求还是用了ARM的Cortex-R架构。
在这里插入图片描述

3.基于ARM架构的单片机结构简介

上面提到了Cortex-M,他到底是什么,与单片机又有什么关系呢?
前面提到过,单片机(MCU)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM只读存储器ROM多种I/O口中断系统定时器/计数器等功能(可能还包括驱动电路脉宽调制电路模拟多路转换器A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。
对照这个定义,Cortex-M就相当于单片内部的中央处理器(CPU)以及其他调试和系统管理的整体,但是不包含片内外设,他仅仅是一个核心部件。下图用Cortex-M3举了一个例子:
在这里插入图片描述
在这里插入图片描述
芯片商再获得到ARM的授权后,就可以拿回Cortex-M的CPU作为控制核心,在其基础上进行外设的添加,增加内存、各类片内外设,例如SARM、增加I2C、SPI、UART、PWM、ADC、DAC、PWM等等片内外设,形成自家的单片机型号,而后仿真,打样、验证,最后制作成我们使用的单片机成品。
在这里插入图片描述经过上述流程,一个ARM架构的单片机才会出现在我们这些开发者的手中。
搞清楚ARM架构与单片机的关系后,我们还需要了解一下Cortex-M的分类
ARM Cortex-M 处理器家族中现有8款处理器成员,他们的用途和分类如下图所示:
在这里插入图片描述
图片来自下面这个链接,内部详细介绍了ARM Cortex-M处理器,感兴趣的小伙伴可以去了解一下。
一文看懂ARM Cortex-M处理器
我们平时使用较多的是Cortex-M3和Cortex-M4这两个,在权威指南中,对他们的描述如下:
在这里插入图片描述
在这里插入图片描述后面接触较多的就是Cortex-M3和Cortex-M4这两个内核,使用最多的单片机也就是各个厂商根据这个做出来的,所以ARM系芯片有着相似的使用规律,会有做一题而通一类的效果。

总结

本文主要是简述了嵌入式系统的宏观描述,以及一些关于单片机的知识,文中如有不足,欢迎大家批评指正。下一篇预告是Cortex-M的芯片介绍以及其开发环境的搭建。

M4系列目录

1.嵌入式学习笔记——概述
2.嵌入式学习笔记——基于Cortex-M的单片机介绍
3.嵌入式学习笔记——STM32单片机开发前的准备
4.嵌入式学习笔记——STM32硬件基础知识
5.嵌入式学习笔记——认识STM32的 GPIO口
6.嵌入式学习笔记——使用寄存器编程操作GPIO
7.嵌入式学习笔记——寄存器实现控制LED小灯
8.嵌入式学习笔记——使用寄存器编程实现按键输入功能
9.嵌入式学习笔记——STM32的USART通信概述
10.嵌入式学习笔记——STM32的USART相关寄存器介绍及其配置
11.嵌入式学习笔记——STM32的USART收发字符串及串口中断
12.嵌入式学习笔记——STM32的中断控制体系
13.嵌入式学习笔记——STM32寄存器编程实现外部中断
14.嵌入式学习笔记——STM32的时钟树
15.嵌入式学习笔记——SysTick(系统滴答)
16.嵌入式学习笔记——M4的基本定时器
17.嵌入式学习笔记——通用定时器
18.嵌入式学习笔记——PWM与输入捕获(上)
19.嵌入式学习笔记——PWM与输入捕获(下)
20.嵌入式学习笔记——ADC模数转换器
21.嵌入式学习笔记——DMA
22.嵌入式学习笔记——SPI通信
23.嵌入式学习笔记——SPI通信的应用
24嵌入式学习笔记——IIC通信


http://chatgpt.dhexx.cn/article/UAZHCuJQ.shtml

相关文章

【超全面】Linux嵌入式干货学习系列教程

文章目录 一、前言二、Linux基础篇三、数据结构与算法基础三、Linux应用篇四、Linux网络篇五、ARM篇六、Linux系统移植篇七、Linux驱动篇八、Linux特别篇九、Linux项目篇 一、前言 博主学习Linux也有几个月了,在这里为广大朋友整理出嵌入式linux的学习知识&#xff…

嵌入式软件学习路线(入门)

大家不要只收藏不关注啊,哪怕点个赞都行哇。😭 嵌入式学习路线 嵌入式体系框架C语言的入门学习C语言的进阶学习单片机的入门学习linux的入门学习VxWorks的入门学习上位机的入门学习 刚工作两年,推荐的学习路线只做一家之言,如果…

嵌入式学习基础路线

博主来填坑了 博主终于硕士毕业拿到双证去公司报道了,趁空闲的时间来更新下嵌入式软件开发的学习路线。 嵌入式的学习 嵌入式总的来说就分两条路线:1)走MCU的软件开发的路线;2)走Linux的软件开发路线。 当然除了软…

嵌入式操作系统(嵌入式学习)

嵌入式操作系统 嵌入式操作系统是什么?嵌入式操作系统有哪些?常用的嵌入式操作系统及其特点对初学者的建议 嵌入式操作系统是什么? 嵌入式操作系统是一种专门设计和优化用于嵌入式系统的操作系统。它是在资源受限的嵌入式设备上运行的操作系…

嵌入式入门学习的必要步骤

很多新手在入门嵌入式的时候,经常会有很多问题,这也都是想要多多去了解嵌入式,也害怕自己浪费了时间还没有学会嵌入式,掌握到好方法学习嵌入式,那么就会事半功倍,下面一起来看看嵌入式入门学习的必要步骤是…

嵌入式系统学习

Lecture11-12 主要学习 ➢ 总线基础 ➢ UART协议 ➢ I2C协议 ➢ SPI协议 1.总线的基础 protocol 协议 总线只是一组导线的集合,在嵌入式板上的所有其他主要组件(包括I/O子系统、内存子系统和主处理器)之间传输各种数据信号、地址和控制…

嵌入式要学习哪些内容?

嵌入式要学习哪些内容? 嵌入式概括一下就是写程序,用软件控制硬件。嵌入式的学习应该是自上而下的。 1.语言先行 首先是写代码,写用户的应用程序。每种语言的使用目的是不同的,我们嵌入式选择的语言是C语言。 所以首先要学习C语言…

【嵌入式】超详细的嵌入式路径学习精选合集,建议收藏

超详细的嵌入式路径学习精选合集,纯干货,建议收藏! 本合集归类汇总了嵌入式开发技术相关的学习路径、知识与经验总结,以及一些源码、资料分享等。将其分类列出目录,一来为了避免有些知识长时间不用,会很容…

【毕业季|进击的技术er】作为一名职场人,精心总结的嵌入式学习路线图

活动地址:毕业季进击的技术er 文章目录 0、作者介绍1、前言2、嵌入式基础必备知识2.1、学习内容2.2、学习建议2.3、学习资料 3、嵌入式入门篇——51单片机3.1、学习内容3.2、学习建议3.3、学习资料 4、STM32进阶篇4.1、学习内容4.2、学习建议4.3、学习资料 5、小而美…

【单片机/嵌入式】最完整学习路线

一.什么是单片机?什么是嵌入式?它们之间的区别与联系。 关于这个问题我在网上寻找到了相关文章解释得很详细,不了解的同学可以参考一下这篇文章:到底什么是嵌入式?什么是单片机? - 知乎 二.学习路线 一个人…

STM32理论 —— 看门狗

文章目录 1. 简述2. 独立看门狗 IWDG2.1 IWDG 相关寄存器2.1.1 键值寄存器IWDG_KR2.1.2 预分频寄存器IWDG_PR与重装载寄存器IWDG_RLR 2.2 核心代码 1. 简述 STM32 内部自带了 2 个看门狗:独立看门狗(IWDG)和窗口看门狗(WWDG&#…

STM32看门狗配置说明

系统时钟: The WWDG clock is prescaled from the APB clock and has a configurable time-window that can be programmed to detect abnormally late or early application behavior. /** defgroup WWDG_Prescaler WWDG Prescaler* {*/ #define WWDG_PRESCALER_1…

看门狗要素以及stm32看门狗

阅读看门狗资料,要把握以下部分 原理图复位CPU条件使能以及关闭看门狗喂狗(方式 时间)寄存器Debug模式下是否使能stm32包括2个看门狗,拥有不同的时钟 内置 low-speed clock (LSI 40KHZ) ,用于 Independent watchdog …

STM32 CubeMX 看门狗

文章目录 看门狗STM32的内置看门狗WWDG-窗口看门狗CubeMX操作步骤1)使能 WWDG时钟2)设置窗口值 ,分频数 和计数器初始值3)开启 WWDG4)使能中断通道并配置优先级(如果开启了 WWDG中断)5) 编写中断…

关于我对stm32看门狗的一些理解(基于正点原子)

咕咕咕之后想更会儿stm32哈哈哈,但是其实是之前自己写的笔记,想着以后就写在一起吧,我自己也更好去找到自己写的玩意~毕竟总所周知,博客都是写给自己的。 (虽然好像现在自己都看不懂了我的天哪) 一.什么是…

stm32看门狗的定义与分类

stm32看门狗 一、定义 由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料…

STM32看门狗超时时间计算

独立看门狗 公式 超时时间的公式为 :超时时间 :IWDG_PR寄存器中位2:0的十进制值 :重装载寄存器IWDG_RLR所对应的重装载数值 公式解读 首先,我们要明白: 独立看门狗内部是一个递减计数器。如果寄存器中的装载数值…

5.stm32看门狗

1. STM32-独立看门狗IWDG剖析 2. STM32-独立看门狗实例讲解 3. STM32-窗口看门狗WWDG剖析 4. STM32-窗口看门狗实例讲解 一.基础原理 1. 简单理解: 使用LSI(外部低速时钟),计数,及时喂狗不会复位(看门狗没有减到0喂狗,就认为程序正常工作),不及时喂狗就会导致复位. 2. 看…

STM32——看门狗

一、简介 STM32F10xxx内置两个看门狗,提供了更高的安全性、时间的精确性和使用的灵活性。两个看门狗设备(独立看门狗和窗口看门狗)可用来检测和解决由软件错误引起的故障;当计数器达到给 定的超时值时,触发一个中断(仅适用于窗口型看门狗)或产…

单片机STM32看门狗详解(嵌入式学习)

单片机STM32看门狗 什么是看门狗为什么需要看门狗?STM32CubeMX配置和应用示例独立看门狗(IWDG)窗口看门狗(WWDG) 注意事项 什么是看门狗 单片机STM32的看门狗(Watchdog)是一种硬件定时器&#…