Skip to content

嵌入式开发

简介

  • 前置要求:无

  • 该技术栈是一套从入门到精通嵌入式开发的教程,适合所有对嵌入式零基础的电子信息大类学生学习

学习路径

一、基础:构建理论双核

嵌入式开发是软件逻辑与硬件物理的精确耦合。本阶段旨在系统性地建立这一交叉学科的核心知识框架。为嵌入式打下理论根基。


硬件基础知识

硬件是嵌入式系统的物理基石

仪器使用

一个合格的嵌入式工程师需要会使用以下几种仪器:

  1. 万用表

  2. 示波器

  3. 信号发生器

  4. 稳压电源

  5. 焊接工具(电烙铁,热风枪,吸锡器…)

相关资源

万用表的使用示波器的使用信号发生器的使用稳压电源的使用电烙铁的使用

热风枪的使用吸锡器的使用

模拟电子学基础
数字逻辑基础

嵌入式系统处理的真实世界信号绝大多数是模拟的,而CPU只能处理数字信号。这一步信号转化过程需要专业的模电和数电知识才能理解。经过了系统的模电和数电学习之后,你将理解硬件系统的一些基本原理。

电子DIY基础

软件基础知识

C语言

C语言是嵌入式领域的通用语言,接近硬件底层,效率较高,是后续所有学习的基础。

相关资源

视频资源

网站资源

推荐书籍 :《C Primer Plus》、《C和指针》

计算机组成原理 :material-hexagon-slice-3

在学会C语言后,立即学习此科目,能让你深刻理解变量、指针、函数调用等在硬件层面是如何实现的,打通软件与硬件的桥梁。

相关资源

视频资源

网站资源

推荐书籍 :《深入理解计算机系统》

数据结构与算法

当程序需要处理大量数据或解决复杂问题时,良好的数据结构和算法是保证效率与稳定性的关键。而嵌入式工程师需要只需要掌握一些基础的数据结构和算法,如下:

  • 数据结构:数组,链表,栈,队列、顺序表

  • 算法:查找算法(顺序查找、二分查找);排序算法(冒泡排序、快速排序)

相关资源

视频资源

这是青岛大学的教程,讲解详细清晰,学习嵌入式用不到全部,同学们听到75/173即可

网站资源

推荐书籍 :《数据结构与算法分析-C语言描述》

Linux操作系统

现代复杂嵌入式系统(如物联网设备、机器人)多采用Linux。学习其使用和原理,是为进军高端嵌入式开发做准备。

相关资源

视频资源

网站资源

推荐书籍 :《鸟哥的Linux私房菜》

二、进阶:掌握嵌入式系统架构

在掌握了基础理论后,需要选择一个具体的微控制器(MCU)平台进行实践。本阶段将从对开发者最友好的平台开始,逐步深入,掌握嵌入式核心概念——GPIO、ADC/DAC、通信协议……。


Arduino :material-hexagon-slice-6

Arduino是一款非常适合新手入门的单片机系统,它封装了底层代码,使用者能专注于嵌入式逻辑的理解;它简化了C语言且具有丰富的库文件,能在几行代码内点亮LED,快速看到成果;同时它具有庞大的社区与生态,几乎所有问题都有线程的代码和解决方案可以参考。

相关资源

视频资源

太极创客

科技传播坊

网站资源

Arduino官网

太极创客

w3cschool

技术教程

推荐书籍

《Arduino权威指南》学校图书馆找到的一本书,写的很全面

51单片机 :material-hexagon-slice-3

51单片机架构简单、资料丰富,适合借此学习裸机编程。相对于Arduino的底层封装,51单片机直接操作寄存器,直面硬件的本质——通过代码配置寄存器来控制引脚、外设。

相关资源

视频资源

江协科技 强烈推荐!(并非接广)

普中科技

网站资源

CSDN

推荐书籍

《手把手教你学51单片机(C语言版)》

STM32 :material-hexagon-slice-6

STM32基于ARM Cortex-M内核,是一款性能强大、外设丰富的单片机。其应用范围广泛,几乎覆盖了从消费电子到工业控制的几乎所有领域。学习并精通STM32单片机非常重要,这是开发复杂的、产品级的嵌入式应用的坚实基础。

STM32主要有三种开发方式:寄存器开发、标准库函数开发、HAL库开发

新手可以从标准库函数、HAL库开始学习,深入后再学习寄存器开发

相关资源

视频资源

江协科技 标准库函数开发,强烈推荐+1

正点原子 HAL库开发

尚硅谷 寄存器与HAL库开发都有

网站资源

STM32官网

野火 标准库函数开发

配套江科大学习笔记

推荐书籍

《零死角玩转STM32》、《STM32 嵌入式系统开发—基于STM32CubeMX和HAL库》、《例说STM32》

ESP32 :material-hexagon-outline

ESP32是一款为物联网设计的单片机,它集成了Wi-Fi和蓝牙,非常适合于开发需要无线连接功能的智能设备。有相关方向开发兴趣的同学可以尝试学习。

相关资源

视频资源

罗大富的ESP32教程

王铭东的ESP32教程

网站资源

ESP32官网

乐鑫

极客侠MicroPython开发ESP32


这一部分的通过看书学习的效果不如跟着视频、网站实操。建议大家跟着视频动手操作,将每一个知识转化成单片机项目上可见的现象。

三、实战项目:开发一款嵌入式产品

当系统地学习了单片机知识,熟练操作了GPIO、UART、ADC、I2C和定时器后,再通过实战项目的锤炼,将这些分散的“技能点”串联起来,积累嵌入式开发的经验。本阶段会介绍一个基础项目和一个进阶项目,鼓励大家在做项目过程中自主学习,补充前面没有学到的知识。


基础项目:51智能车

相关资源

视频资源

网站资源

进阶项目:STM32智能手表

相关资源

视频资源

网站资源


这一部分每个项目都提供了视频和网站两类资源,这是项目的两种实现范例,路径略有不同,大家可以综合参考,取其精华,并在过程中不断搜寻资料(善用搜索引擎),完善自己的作品。

信息渠道