Files
EmbeddedSoftwareLearn1/README.md
T

152 lines
12 KiB
Markdown
Raw Normal View History

2025-06-16 14:03:58 +08:00
# 2025 嵌入式软件开发全景笔记 📘
## 概述
2025-06-17 15:19:10 +08:00
欢迎来到本项目,这里将更新一份系统、全面且贴近实战的2025年嵌入式软件开发学习路线和知识点总结。
2025-06-16 14:03:58 +08:00
涵盖范围包括 C/C++、驱动开发、RTOS、嵌入式 Linux、网络通信与物联网、常用工具链等。
2025-06-16 14:11:41 +08:00
**目录**
* C语言基础与进阶
* C语言基础
2025-06-16 17:05:15 +08:00
* [变量](./01-C语言基础与进阶/Readme.md#-变量variable)
* [数据类型](./01-C语言基础与进阶/Readme.md#-数据类型data-types)
* [关键字](./01-C语言基础与进阶/Readme.md#-关键字keywords)
* [常量](./01-C语言基础与进阶/Readme.md#-常量constant)
2025-06-16 14:26:02 +08:00
* [栈 和 堆(内存管理)](./01-C语言基础与进阶/Readme.md/#-栈和堆(内存管理))
* [指针 / 指针数组 / 二级指针](./01-C语言基础与进阶/Readme.md/#-指针/指针数组/二级指针)
* [函数指针 / 函数指针数组](./01-C语言基础与进阶/Readme.md/#-函数指针/函数指针数组)
* [表达式、语句、运算符](./01-C语言基础与进阶/Readme.md/#-表达式、语句、运算符)
2025-06-16 17:05:15 +08:00
* [数组](./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)
2025-06-16 14:26:02 +08:00
* [位操作](./01-C语言基础与进阶/Readme.md/#-位操作)
* [关键语义 & 修饰符](./01-C语言基础与进阶/Readme.md/#-关键语义&修饰符)
2025-06-16 14:25:06 +08:00
* [内存存储类型与生命周期](./01-C语言基础与进阶/Readme.md/#-内存存储类型与生命周期)
2025-06-16 14:26:02 +08:00
* [编译与调试基础](01-C语言基础与进阶/Readme.md/#-编译与调试基础)
2025-06-16 17:05:15 +08:00
* [冒泡排序](./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)
2025-06-16 14:42:53 +08:00
* 嵌入式系统基础知识
2025-06-16 15:15:46 +08:00
* [嵌入式系统概览](./02-嵌入式系统基础知识/README.md#-嵌入式系统概览)
2025-06-16 15:32:19 +08:00
* [定义与特点](./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-示例)
2025-06-16 17:14:50 +08:00
* [芯片数据手册阅读方法](./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#使用差异)
2025-06-16 14:42:53 +08:00
* 驱动开发与外设编程
2025-06-16 15:32:19 +08:00
* [寄存器级开发](./03-驱动开发与外设编程/README.md#-寄存器级开发)
* [地址映射与寄存器偏移](./03-驱动开发与外设编程/README.md#-地址映射与寄存器偏移)
* [位操作技巧](./03-驱动开发与外设编程/README.md#-位操作技巧)
* [通用外设驱动](./03-驱动开发与外设编程/README.md#-通用外设驱动)
2025-06-16 22:24:38 +08:00
* [GPIO](./03-驱动开发与外设编程/README.md#-gpio通用输入输出)
* [UART / USART](./03-驱动开发与外设编程/README.md#-uart-usart)
* [SPI](./03-驱动开发与外设编程/README.md#-spi串行外设接口)
* [I2C](./03-驱动开发与外设编程/README.md#-i2c集成电路间总线)
* [ADC](./03-驱动开发与外设编程/README.md#-adc模拟-to-数字转换器)
2025-06-16 15:32:19 +08:00
* [RTC 实时时钟](./03-驱动开发与外设编程/README.md#-rtc-实时时钟)
* [复杂外设支持](./03-驱动开发与外设编程/README.md#-复杂外设支持)
* [DMA 控制器](./03-驱动开发与外设编程/README.md#-dma-控制器)
2025-06-16 22:24:38 +08:00
* [看门狗](./03-驱动开发与外设编程/README.md#-看门狗watchdog)
* [CAN](./03-驱动开发与外设编程/README.md#-can控制器局域网)
2025-06-16 15:32:19 +08:00
* [开发库 & 工具链](./03-驱动开发与外设编程/README.md#-开发库--工具链)
2025-06-16 22:24:38 +08:00
* [STM32 HAL ](./03-驱动开发与外设编程/README.md#-stm32-hal硬件抽象层)
* [STM32 LL ](./03-驱动开发与外设编程/README.md#-stm32-ll低层驱动)
2025-06-16 15:32:19 +08:00
* [STM32CubeMX](./03-驱动开发与外设编程/README.md#-stm32cubemx)
2025-06-16 22:24:38 +08:00
* [实战技巧](./03-驱动开发与外设编程/README.md#-实战技巧与常见问题)
2025-06-16 14:42:53 +08:00
* RTOS
2025-06-16 15:32:19 +08:00
* [RTOS 基础概念](./04-实时操作系统/README.md#-rtos-基础概念)
* [任务管理](./04-实时操作系统/README.md#-任务管理)
* [时间管理](./04-实时操作系统/README.md#-时间管理)
* [线程间通信](./04-实时操作系统/README.md#-线程间通信)
2025-06-16 17:26:01 +08:00
* [队列](./04-实时操作系统/README.md#队列queue)
* [信号量](./04-实时操作系统/README.md#信号量semaphore)
* [消息队列](./04-实时操作系统/README.md#消息队列Message-Queue)
* [事件组](./04-实时操作系统/README.md#事件组Event-Group)
2025-06-16 15:32:19 +08:00
* [资源管理](./04-实时操作系统/README.md#-资源管理)
* [FreeRTOS 配置与移植](./04-实时操作系统/README.md#-FreeRTOS-配置与移植)
* [实践应用场景](./04-实时操作系统/README.md#-实践应用场景)
2025-06-16 14:42:53 +08:00
* 嵌入式 Linux 开发基础
2025-06-16 15:32:19 +08:00
* [系统概览](./05-EmbeddedLinux/README.md#-嵌入式-linux-系统概览)
* [特点](./05-EmbeddedLinux/README.md#-嵌入式-linux-特点)
* [组成](./05-EmbeddedLinux/README.md#-系统组成)
* [启动流程详解](./05-EmbeddedLinux/README.md#-启动流程详解)
* [设备树](./05-EmbeddedLinux/README.md#-设备树device-tree)
2025-06-16 17:37:39 +08:00
* [常用 Linux 命令与开发工具](./05-EmbeddedLinux/README.md#常用-linux-命令与开发工具)
* [文件与目录管理](./05-EmbeddedLinux/README.md#文件与目录管理)
* [权限与用户管理](./05-EmbeddedLinux/README.md#权限与用户管理)
* [进程管理](./05-EmbeddedLinux/README.md#进程管理)
* [网络调试](./05-EmbeddedLinux/README.md#网络调试)
* [设备与文件系统](./05-EmbeddedLinux/README.md#设备与文件系统)
* [软件包管理](./05-EmbeddedLinux/README.md#软件包管理针对开发板所用-Linux)
* [Shell 脚本与自动化](./05-EmbeddedLinux/README.md#Shell-脚本与自动化)
* [交叉编译相关命令](./05-EmbeddedLinux/README.md#交叉编译相关命令Makefile-环境)
2025-06-16 15:32:19 +08:00
* [Linux 驱动开发模型](./05-EmbeddedLinux/README.md#-linux-驱动开发模型)
* [根文件系统构建](./05-EmbeddedLinux/README.md#-根文件系统构建)
* [工具链与调试手段](./05-EmbeddedLinux/README.md#-工具链与调试手段)
* [常见开发平台](./05-EmbeddedLinux/README.md#-常见开发平台)
2025-06-17 15:04:06 +08:00
* [嵌入式系统安全基础](./05-EmbeddedLinux/README.md#-嵌入式系统安全基础)
* [安全启动(Secure Boot)](./05-EmbeddedLinux/README.md#-安全启动secure-boot)
* [固件加密与防逆向](./05-EmbeddedLinux/README.md#-固件加密与防逆向)
* [权限隔离与防护](./05-EmbeddedLinux/README.md#-权限隔离与防护)
* [Bootloader 开发建议](./05-EmbeddedLinux/README.md#-bootloader-开发建议)
2025-06-16 14:42:53 +08:00
* 网络通信与物联网协议
2025-06-16 15:32:19 +08:00
* [串口通信与 Socket 通信](./06-NetworkIot/README.md#串口通信与Socket通信)
* [串口通信](./06-NetworkIot/README.md#串口通信)
* [Socket 网络通信](./06-NetworkIot/README.md#Socket网络通信)
* [无线通信协议](./06-NetworkIot/README.md#无线通信协议)
2025-06-16 15:37:39 +08:00
* [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)
2025-06-16 15:40:15 +08:00
* [HTTP/HTTPS](./06-NetworkIot/README.md#http--https)
2025-06-16 15:37:39 +08:00
* [CoAP/LwM2M](./06-NetworkIot/README.md#coap--lwm2m)
2025-06-17 15:04:06 +08:00
* [安全通信实践](/06-NetworkIot/README.md#-安全通信实践)
* [安全测试](/06-NetworkIot/README.md#-安全测试)
2025-06-16 17:54:52 +08:00
* [TCP/IP 协议栈基础与嵌入式实现](./06-NetworkIot/README.md#tcpip-协议栈基础与嵌入式实现)
* [TCP/IP 协议栈分层结构(四层模型)](./06-NetworkIot/README.md#tcpip-协议栈分层结构四层模型)
* [TCP 与 UDP 区别](./06-NetworkIot/README.md#tcp-与-udp-区别)
* [嵌入式 TCP/IP 协议栈组件](./06-NetworkIot/README.md#嵌入式-tcpip-协议栈组件)
* [嵌入式 TCP/IP 通信流程](./06-NetworkIot/README.md#嵌入式-tcpip-通信流程以-lwip-为例)
* [常用 API 示例](./06-NetworkIot/README.md#常用-api-示例lwip-bsd-socket)
* [DHCP / DNS / ICMP 说明](./06-NetworkIot/README.md#dhcp--dns--icmp-说明)
2025-06-16 15:37:39 +08:00
* [云平台接入 & OTA 实现](./06-NetworkIot/README.md#云平台接入--ota-实现)
* [云平台对接](./06-NetworkIot/README.md#云平台对接)
* [OTA 升级机制](./06-NetworkIot/README.md#OTA-升级机制)
2025-06-17 14:44:42 +08:00
* 调试与性能优化
* [常用调试工具](./07-Debug_Optimization#-常用调试工具)
* [JTAG / SWD 接口](/07-Debug_Optimization#-jtag--swd-接口)
* [GDB + OpenOCD 调试](./07-Debug_Optimization#-jtag--swd-接口)
* [逻辑分析仪 / 示波器](./07-Debug_Optimization#-jtag--swd-接口)
* [printf / 串口调试](./07-Debug_Optimization#-jtag--swd-接口)
* [断点调试](./07-Debug_Optimization#-jtag--swd-接口)
* [性能与功耗优化](./07-Debug_Optimization#-性能与功耗优化)
* [FreeRTOS Trace 与分析工具](./07-Debug_Optimization#-freertos-trace-与分析工具)
* [SystemView 分析工具](./07-Debug_Optimization#-systemview-分析工具)
* [STM32CubeMonitor](./07-Debug_Optimization#-stm32cubemonitor)
* [低功耗模式优化](./07-Debug_Optimization#-低功耗模式优化)
* [调试与优化实战案例](./07-Debug_Optimization#调试与优化实战案例)
2025-06-17 15:04:06 +08:00
*