超详细的嵌入式路径学习精选合集,纯干货,建议收藏!
本合集归类汇总了嵌入式开发技术相关的学习路径、知识与经验总结,以及一些源码、资料分享等。将其分类列出目录,一来为了避免有些知识长时间不用,会很容易忘掉,方便自已检索查看;二来也希望这些文章能给一部分朋友提供些许帮助。
本合集汇总笔记持续更新,包括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开发