草庐IT

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

安迪西 2023-04-20 原文

超详细的嵌入式路径学习精选合集,纯干货,建议收藏!

本合集归类汇总了嵌入式开发技术相关的学习路径、知识与经验总结,以及一些源码、资料分享等。将其分类列出目录,一来为了避免有些知识长时间不用,会很容易忘掉,方便自已检索查看;二来也希望这些文章能给一部分朋友提供些许帮助。

本合集汇总笔记持续更新,包括STM32单片机、FreeRTOS系统、Linux移植与驱动开发、WiFi以及RFID等等嵌入式开发技术,欢迎持续关注。

附一张学习过程中所购买的开发板合照,实践是检验真理的唯一标准,嵌入式学习中动手实践是关键中的关键,看书啃代码远没有将代码下载到开发板上运行起来来得痛快和直接

一、STM32单片机

本系列通过28个STM32F1的实例,手把手教你如何使用STM32CubeMX配置STM32的各种外设,轻松入门STM32系列单片机

1. STM32CubeMX系列 | 开发环境

2. STM32CubeMX系列 | 跑马灯

3. STM32CubeMX系列 | 按键输入

4. STM32CubeMX系列 | 串口通讯

5. STM32CubeMX系列 | 外部中断

6. STM32CubeMX系列 | 独立看门狗

7. STM32CubeMX系列 | 窗口看门狗

8. STM32CubeMX系列 | 定时器中断

9. STM32CubeMX系列 | PWM输出

10. STM32CubeMX系列 | 输入捕获

11. STM32CubeMX系列 | RTC实时时钟

12. STM32CubeMX系列 | 待机唤醒

13. STM32CubeMX系列 | ADC模数转换

14. STM32CubeMX系列 | 内部温度传感器

15. STM32CubeMX系列 | DAC数模转换

16. STM32CubeMX系列 | I2C总线

17. STM32CubeMX系列 | SPI总线

18. STM32CubeMX系列 | STM32内部FLASH

19. STM32CubeMX系列 | DS18B20温度传感器

20. STM32CubeMX系列 | DHT11温湿度传感器

21. STM32CubeMX系列 | 红外遥控

22. STM32CubeMX系列 | TFTLCD显示

23. STM32CubeMX系列 | 触摸屏

24. STM32CubeMX系列 | ADXL345传感器

25. STM32CubeMX系列 | 外部SRAM

26. STM32CubeMX系列 | 内存管理

27. STM32CubeMX系列 | SD卡

28. STM32CubeMX系列 | FATFS文件系统

二、FreeRTOS系统

FreeRTOS是一个可裁剪的小型且免费的RTOS系统,尺寸小,可运行于微控制器上。本系列文章详细介绍了FreeRTOS的配置与使用

1. FreeRTOS系列 | FreeRTOS简介

2. FreeRTOS系列 | 开发环境

3. FreeRTOS系列 | 任务基础知识

4. FreeRTOS系列 | 任务创建和删除

5. FreeRTOS系列 | 任务挂起和恢复

6. FreeRTOS系列 | 多任务调度

7. FreeRTOS系列 | 时间管理

8. FreeRTOS系列 | 中断管理和临界段

9. FreeRTOS系列 | 任务堆栈

10. FreeRTOS系列 | 处理器利用率

11. FreeRTOS系列 | 任务相关API函数

12. FreeRTOS系列 | 列表及列表项

13. FreeRTOS系列 | 消息队列一

14. FreeRTOS系列 | 消息队列二

15. FreeRTOS系列 | 二值信号量

16. FreeRTOS系列 | 计数信号量

17. FreeRTOS系列 | 互斥信号量

18. FreeRTOS系列 | 递归互斥信号量

19. FreeRTOS系列 | 事件标志组

20. FreeRTOS系列 | 软件定时器

21. FreeRTOS系列 | 低功耗管理

22. FreeRTOS系列 | 内存管理一

23. FreeRTOS系列 | 内存管理二

三、Linux基础知识

介绍了Linux体系结构、shell、Linux常用命令、NFS/TFTP服务搭建,交叉编译等Linux相关基础知识

1. Unix 和 Linux 那些事

2. 什么是 Shell,用途是什么

3. 一文读懂 Shell 脚本编程

4. 一文搞懂 Linux 任务、进程和线程

5. 看完就明白/dev/sda、/dev/hda是什么了

6. 一篇读懂 Linux 用户管理

7. ubuntu 与 windows 之间的文件互传

8. Linux 下部署 NFS 服务

9. Linux 下部署 TFTP 服务

10. Ubuntu 下搭建 GCC 交叉编译工具链

四、Linux系统移植

基于I.MX6ULL芯片的Linux开发板,介绍如何移植Linux系统

1. U-Boot 浅析

2. U-Boot 移植初探

3. U-Boot 移植深入

4. 用 make menuconfig 图形化配置 uboot

5. Linux 内核介绍

6. Linux 内核移植

7. 用 BusyBox 构建根文件系统

8. rootfs 根文件系统完善

9. Linux 系统烧写初探

10. Linux 系统烧写实操

五、Linux驱动初级

基于I.MX6ULL芯片的Linux开发板,介绍字符设备、设备树、pinctrl和gpio子系统、互斥操作、中断以及IO模型等驱动初级相关知识

1. Linux 字符设备驱动开发模板

2. Linux 新字符设备驱动开发模板

3. i.MX6ULL处理器GPIO寄存器配置原理

4. 点亮 Linux 驱动开发路上的第一个灯

5. 带你认识 Linux 设备树及其语法

6. 设备树下的字符设备驱动框架

7. pinctrl与gpio子系统下的字符设备驱动框架

8. Linux 原子操作实现互斥点灯

9. Linux 自旋锁实现互斥点灯

10. Linux 信号量实现互斥点灯

11. Linux 互斥体实现互斥点灯

12. 如何使用 Linux 内核定时器

13. Linux下的按键输入驱动开发模板

14. 浅析 Linux 内核中断框架

15. 用 Linux 内核中断检测按键输入

16. 浅析 Linux 五种IO模型

17. 用阻塞式I/O模型降低CPU使用率

18. 用非阻塞式I/O模型降低CPU使用率

19. 用信号驱动I/O降低CPU使用率

六、Linux驱动高级

基于I.MX6ULL芯片的Linux开发板,介绍平台设备驱动、杂项设备驱动、input子系统、LCD屏幕驱动等相关知识

1. 什么是 Linux 下的 platform 设备驱动

2. Linux 下的 platform 驱动开发模板

3. 设备树下的 platform 驱动开发框架

4. Linux 下的 MISC 设备驱动模板

5. 浅析 Linux input 输入子系统

6. Linux 下的 input 子系统开发框架

7. 初探 Linux 下的 LCD 屏幕驱动

8. Linux LCD 屏幕驱动调参实操

七、WiFi无线开发

基于ESP8266模组来介绍WiFi无线开发相关技术

1. WiFi无线技术介绍

2. ESP8266模组AT指令开发一

3. ESP8266模组AT指令开发二

4. ESP8266模组SDK开发环境搭建

5. 简单几步教你用ESP8266 WiFi模组点灯

6. ESP8266 WiFi模组:站点(Station)还是接入点(Access Point)

7. ESP8266 模组的 UDP 编程

8. ESP8266 模组的 TCP 编程

9. ESP8266 模组的 HTTP 编程

10. SmartConfig 智能配网

11. 用 SNTP 协议获取 ESP8266 网络时间

12. WiFi开发小项目:智能开关

13. WiFi开发小项目:智能环境采集

14. WiFi开发小项目:智能家居

八、RFID射频识别

介绍RFID射频识别技术,以及RFID、NFC开发实例

1. 一文读懂RFID射频识别技术

2. 一文读懂RFID标签和读写器

3. 一文读懂基于RC522和S50的RFID开发

4. 一文读懂基于PN532和S50的NFC开发

有关【嵌入式】超详细的嵌入式路径学习精选合集,建议收藏的更多相关文章

  1. ruby-on-rails - 建模收藏夹 - 2

    我希望将Favorite模型添加到我的User和Link模型。业务逻辑用户可以有多个链接(即可以添加多个链接)用户可以收藏多个链接(他们自己的或其他用户的)一个链接可以被多个用户收藏,但只有一个所有者我对如何为这种关联建模以及在模型就位后如何创建用户收藏夹感到困惑?classUser 最佳答案 下面的数据模型怎么样:classUser:destroyhas_many:favorite_links,:through=>:favorites,:source=>:linkendclassLink:destroyhas_many:favor

  2. 【Java 面试合集】HashMap中为什么引入红黑树,而不是AVL树呢 - 2

    HashMap中为什么引入红黑树,而不是AVL树呢1.概述开始学习这个知识点之前我们需要知道,在JDK1.8以及之前,针对HashMap有什么不同。JDK1.7的时候,HashMap的底层实现是数组+链表JDK1.8的时候,HashMap的底层实现是数组+链表+红黑树我们要思考一个问题,为什么要从链表转为红黑树呢。首先先让我们了解下链表有什么不好???2.链表上述的截图其实就是链表的结构,我们来看下链表的增删改查的时间复杂度增:因为链表不是线性结构,所以每次添加的时候,只需要移动一个节点,所以可以理解为复杂度是N(1)删:算法时间复杂度跟增保持一致查:既然是非线性结构,所以查询某一个节点的时候

  3. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

  4. CAN协议的学习与理解 - 2

    最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总

  5. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal

  6. 在VMware16虚拟机安装Ubuntu详细教程 - 2

    在VMware16.2.4安装Ubuntu一、安装VMware1.打开VMwareWorkstationPro官网,点击即可进入。2.进入后向下滑动找到Workstation16ProforWindows,点击立即下载。3.下载完成,文件大小615MB,如下图:4.鼠标右击,以管理员身份运行。5.点击下一步6.勾选条款,点击下一步7.先勾选,再点击下一步8.去掉勾选,点击下一步9.点击下一步10.点击安装11.点击许可证12.在百度上搜索VM16许可证,复制填入,然后点击输入即可,亲测有效。13.点击完成14.重启系统,点击是15.双击VMwareWorkstationPro图标,进入虚拟机主

  7. HBase Region 简介和建议数量&大小 - 2

    Region是HBase数据管理的基本单位,region有一点像关系型数据的分区。region中存储这用户的真实数据,而为了管理这些数据,HBase使用了RegionSever来管理region。Region的结构hbaseregion的大小设置默认情况下,每个Table起初只有一个Region,随着数据的不断写入,Region会自动进行拆分。刚拆分时,两个子Region都位于当前的RegionServer,但处于负载均衡的考虑,HMaster有可能会将某个Region转移给其他的RegionServer。RegionSplit时机:当1个region中的某个Store下所有StoreFile

  8. ruby - 我正在学习编程并选择了 Ruby。我应该升级到 Ruby 1.9 吗? - 2

    我完全不是程序员,正在学习使用Ruby和Rails框架进行编程。我目前正在使用Ruby1.8.7和Rails3.0.3,但我想知道我是否应该升级到Ruby1.9,因为我真的没有任何升级的“遗留”成本。缺点是什么?我是否会遇到与普通gem的兼容性问题,或者甚至其他我不太了解甚至无法预料的问题? 最佳答案 你应该升级。不要坚持从1.8.7开始。如果您发现不支持1.9.2的gem,请避免使用它们(因为它们很可能不被维护)。如果您对gem是否兼容1.9.2有任何疑问,您可以在以下位置查看:http://www.railsplugins.or

  9. ruby-on-rails - 我需要从 HTML 转到 markdown,有什么建议吗? - 2

    我正在使用Maruku,将Markdown(超集)转换为HTML,你知道我该怎么做才能从HTML转换为Markdown吗? 最佳答案 Google发现了一个名为reverse_markdown的ruby​​脚本.它似乎可以满足您的需求。 关于ruby-on-rails-我需要从HTML转到markdown,有什么建议吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/175162

  10. ruby - 我如何学习 ruby​​ 的正则表达式? - 2

    如何学习ruby​​的正则表达式?(对于假人) 最佳答案 http://www.rubular.com/在Ruby中使用正则表达式时是一个很棒的工具,因为它可以立即将结果可视化。 关于ruby-我如何学习ruby​​的正则表达式?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1881231/

随机推荐