116 lines
8.6 KiB
Markdown
116 lines
8.6 KiB
Markdown
# 2025 嵌入式软件开发全景笔记 📘
|
|
|
|
## 概述
|
|
欢迎来到本项目,你将收获一份系统、全面且贴近实战的嵌入式软件开发学习路线和知识点总结。
|
|
涵盖范围包括 C/C++、驱动开发、RTOS、嵌入式 Linux、网络通信与物联网、常用工具链等。
|
|
|
|
|
|
|
|
**目录**
|
|
* C语言基础与进阶
|
|
* C语言基础
|
|
* [变量](./01-C语言基础与进阶/Readme.md#-变量variable)
|
|
* [数据类型](./01-C语言基础与进阶/Readme.md#-数据类型data-types)
|
|
* [关键字](./01-C语言基础与进阶/Readme.md#-关键字keywords)
|
|
* [常量](./01-C语言基础与进阶/Readme.md#-常量constant)
|
|
* [栈 和 堆(内存管理)](./01-C语言基础与进阶/Readme.md/#-栈和堆(内存管理))
|
|
* [指针 / 指针数组 / 二级指针](./01-C语言基础与进阶/Readme.md/#-指针/指针数组/二级指针)
|
|
* [函数指针 / 函数指针数组](./01-C语言基础与进阶/Readme.md/#-函数指针/函数指针数组)
|
|
* [表达式、语句、运算符](./01-C语言基础与进阶/Readme.md/#-表达式、语句、运算符)
|
|
* [数组](./01-C语言基础与进阶/Readme.md#数组array)
|
|
* [字符串](./01-C语言基础与进阶/Readme.md#字符串string)
|
|
* [结构体](./01-C语言基础与进阶/Readme.md#结构体)
|
|
* [共用体](./01-C语言基础与进阶/Readme.md#共用体)
|
|
* [枚举](./01-C语言基础与进阶/Readme.md#枚举enumeration)
|
|
* [位域](./01-C语言基础与进阶/Readme.md#位域bit-field)
|
|
* [位操作](./01-C语言基础与进阶/Readme.md/#-位操作)
|
|
* [关键语义 & 修饰符](./01-C语言基础与进阶/Readme.md/#-关键语义&修饰符)
|
|
* [内存存储类型与生命周期](./01-C语言基础与进阶/Readme.md/#-内存存储类型与生命周期)
|
|
* [编译与调试基础](01-C语言基础与进阶/Readme.md/#-编译与调试基础)
|
|
* [冒泡排序](./01-C语言基础与进阶/Readme.md#冒泡排序bubble-sort)
|
|
* [选择排序](./01-C语言基础与进阶/Readme.md#选择排序selection-sort)
|
|
* [插入排序](./01-C语言基础与进阶/Readme.md#插入排序insertion-sort)
|
|
* [快速排序](./01-C语言基础与进阶/Readme.md#快速排序quick-sort)
|
|
* [归并排序](./01-C语言基础与进阶/Readme.md#归并排序merge-sort)
|
|
* [堆排序](./01-C语言基础与进阶/Readme.md#堆排序heap-sort)
|
|
* 嵌入式系统基础知识
|
|
* [嵌入式系统概览](./02-嵌入式系统基础知识/README.md#-嵌入式系统概览)
|
|
* [定义与特点](./02-嵌入式系统基础知识/README.md#-嵌入式系统定义与特点)
|
|
* [系统构成](./02-嵌入式系统基础知识/README.md#-系统构成mcu存储器传感器外设)
|
|
* [主流 MCU 简介](./02-嵌入式系统基础知识/README.md#-主流-mcu-简介)
|
|
* [架构与启动流程](./02-嵌入式系统基础知识/README.md#-架构与启动流程)
|
|
* [Cortex-M 内核结构](./02-嵌入式系统基础知识/README.md#-cortex-m-内核结构)
|
|
* [启动文件 Startup.s](./02-嵌入式系统基础知识/README.md#-启动文件-startups)
|
|
* [启动流程简要](./02-嵌入式系统基础知识/README.md#-启动流程简要)
|
|
* [编译器与链接器](./02-嵌入式系统基础知识/README.md#-编译器与链接器)
|
|
* [常用嵌入式工具链](./02-嵌入式系统基础知识/README.md#-常用嵌入式工具链)
|
|
* [链接脚本 (.ld) 示例](./02-嵌入式系统基础知识/README.md#-链接脚本-ld-示例)
|
|
* [存储器布局图(STM32 示例)](./02-嵌入式系统基础知识/README.md#-存储器布局图stm32-示例)
|
|
* [芯片数据手册阅读方法](./02-嵌入式系统基础知识/README.md#芯片数据手册阅读方法)
|
|
* [典型结构(以 STM32 为例)](./02-嵌入式系统基础知识/README.md#典型结构以-stm32-为例)
|
|
* [阅读技巧](./02-嵌入式系统基础知识/README.md#阅读技巧)
|
|
* [向量表的定义与重定向](./02-嵌入式系统基础知识/README.md#向量表的定义与重定向)
|
|
* [定义](/02-嵌入式系统基础知识/README.md#什么是向量表)
|
|
* [重定向](./02-嵌入式系统基础知识/README.md#重定向方法常用于-bootloader-或自定义中断)
|
|
* [ROM 启动 vs RAM 启动的差异](./02-嵌入式系统基础知识/README.md#rom-启动-vs-ram-启动的差异)
|
|
* [ROM 启动](./02-嵌入式系统基础知识/README.md#rom-启动flash-启动)
|
|
* [RAM 启动](./02-嵌入式系统基础知识/README.md#ram-启动)
|
|
* [使用差异](./02-嵌入式系统基础知识/README.md#使用差异)
|
|
* 驱动开发与外设编程
|
|
* [寄存器级开发](./03-驱动开发与外设编程/README.md#-寄存器级开发)
|
|
* [地址映射与寄存器偏移](./03-驱动开发与外设编程/README.md#-地址映射与寄存器偏移)
|
|
* [位操作技巧](./03-驱动开发与外设编程/README.md#-位操作技巧)
|
|
* [通用外设驱动](./03-驱动开发与外设编程/README.md#-通用外设驱动)
|
|
* [GPIO](./03-驱动开发与外设编程/README.md#-gpio输入输出中断)
|
|
* [UART / USART](./03-驱动开发与外设编程/README.md#-uart--usart)
|
|
* [SPI / I2C](./03-驱动开发与外设编程/README.md#-spi--i2c)
|
|
* [ADC / DAC](./03-驱动开发与外设编程/README.md#-adc--dac)
|
|
* [定时器 / PWM](./03-驱动开发与外设编程/README.md#-定时器--pwm)
|
|
* [RTC 实时时钟](./03-驱动开发与外设编程/README.md#-rtc-实时时钟)
|
|
* [复杂外设支持](./03-驱动开发与外设编程/README.md#-复杂外设支持)
|
|
* [DMA 控制器](./03-驱动开发与外设编程/README.md#-dma-控制器)
|
|
* [看门狗](./03-驱动开发与外设编程/README.md#-看门狗独立--窗口)
|
|
* [CAN / USB / SDIO / Ethernet](./03-驱动开发与外设编程/README.md#-can--usb--sdio--ethernet)
|
|
* [LCD / 触摸屏驱动](./03-驱动开发与外设编程/README.md#-lcd--触摸屏驱动)
|
|
* [开发库 & 工具链](./03-驱动开发与外设编程/README.md#-开发库--工具链)
|
|
* [STM32 HAL / LL](./03-驱动开发与外设编程/README.md#-stm32-hal--ll)
|
|
* [STM32CubeMX](./03-驱动开发与外设编程/README.md#-stm32cubemx)
|
|
* [CMSIS 标准接口](./03-驱动开发与外设编程/README.md#-cmsis-标准接口)
|
|
* RTOS
|
|
* [RTOS 基础概念](./04-实时操作系统/README.md#-rtos-基础概念)
|
|
* [任务管理](./04-实时操作系统/README.md#-任务管理)
|
|
* [时间管理](./04-实时操作系统/README.md#-时间管理)
|
|
* [线程间通信](./04-实时操作系统/README.md#-线程间通信)
|
|
* [队列](./04-实时操作系统/README.md#队列queue)
|
|
* [信号量](./04-实时操作系统/README.md#信号量semaphore)
|
|
* [消息队列](./04-实时操作系统/README.md#消息队列Message-Queue)
|
|
* [事件组](./04-实时操作系统/README.md#事件组Event-Group)
|
|
* [资源管理](./04-实时操作系统/README.md#-资源管理)
|
|
* [FreeRTOS 配置与移植](./04-实时操作系统/README.md#-FreeRTOS-配置与移植)
|
|
* [实践应用场景](./04-实时操作系统/README.md#-实践应用场景)
|
|
* 嵌入式 Linux 开发基础
|
|
* [系统概览](./05-EmbeddedLinux/README.md#-嵌入式-linux-系统概览)
|
|
* [特点](./05-EmbeddedLinux/README.md#-嵌入式-linux-特点)
|
|
* [组成](./05-EmbeddedLinux/README.md#-系统组成)
|
|
* [启动流程详解](./05-EmbeddedLinux/README.md#-启动流程详解)
|
|
* [设备树](./05-EmbeddedLinux/README.md#-设备树device-tree)
|
|
* [Linux 驱动开发模型](./05-EmbeddedLinux/README.md#-linux-驱动开发模型)
|
|
* [根文件系统构建](./05-EmbeddedLinux/README.md#-根文件系统构建)
|
|
* [工具链与调试手段](./05-EmbeddedLinux/README.md#-工具链与调试手段)
|
|
* [常见开发平台](./05-EmbeddedLinux/README.md#-常见开发平台)
|
|
* 网络通信与物联网协议
|
|
* [串口通信与 Socket 通信](./06-NetworkIot/README.md#串口通信与Socket通信)
|
|
* [串口通信](./06-NetworkIot/README.md#串口通信)
|
|
* [Socket 网络通信](./06-NetworkIot/README.md#Socket网络通信)
|
|
* [无线通信协议](./06-NetworkIot/README.md#无线通信协议)
|
|
* [Wi-Fi](./06-NetworkIot/README.md#Wi-Fi)
|
|
* [BLE(蓝牙低功耗)](./06-NetworkIot#ble/README.md#蓝牙低功耗)
|
|
* [LoRa / ZigBee](.06-NetworkIot/README.md#lora--zigbee)
|
|
* [物联网协议栈](./06-NetworkIot/README.md#物联网协议栈)
|
|
* [MQTT](./06-NetworkIot/README.md#-mqtt)
|
|
* [HTTP/HTTPS](./06-NetworkIot/README.md#http--https)
|
|
* [CoAP/LwM2M](./06-NetworkIot/README.md#coap--lwm2m)
|
|
* [云平台接入 & OTA 实现](./06-NetworkIot/README.md#云平台接入--ota-实现)
|
|
* [云平台对接](./06-NetworkIot/README.md#云平台对接)
|
|
* [OTA 升级机制](./06-NetworkIot/README.md#OTA-升级机制)
|