# Embedded-MCU-Note-Doc **Repository Path**: End-ING/embedded-note ## Basic Information - **Project Name**: Embedded-MCU-Note-Doc - **Description**: embedded-note - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-02-23 - **Last Updated**: 2026-07-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 嵌入式技术学习笔记 本项目是一个涵盖嵌入式系统开发各领域的综合性学习笔记仓库,包含 RTOS、STM32 开发、C 语言编程、Linux 内核开发等多个方向的知识总结与代码示例。 ## 项目目录结构 ``` embedded-note/ ├── Code/ │ ├── RTOS/ # 实时操作系统相关 │ │ ├── RTOS/ # RTOS 笔记与代码 │ │ │ ├── code/ # 示例代码 │ │ │ │ ├── fp_verify/ # 浮点运算验证 │ │ │ │ └── polymorphism/ # C 语言多态实现 │ │ │ ├── docs/ # 相关文档 │ │ │ └── figures/ # 图表资源 │ │ └── RTOS/ # RTOS 技术探索 │ └── stm32f103-mr-library/ # STM32F103 MR 框架库 │ ├── Drivers/ # 驱动层 │ │ ├── BSP/ # 板级支持包 (LED, OLED) │ │ ├── CMSIS/ # ARM CMSIS 标准 │ │ ├── STM32F1xx_HAL_Driver/ # ST HAL 驱动 │ │ └── SYSTEM/ # 系统级驱动 (delay, sys, usart) │ ├── Middlewares/ # 中间件 │ ├── Projects/ # 工程文件 │ ├── User/ # 用户代码 │ └── mr-library/ # MR 嵌入式框架库 │ ├── Language/ # C 语言编程知识 │ ├── README.md # C 语言核心知识总结 │ ├── assets/ # 相关资源图片 │ └── index.rst # 文档索引 │ ├── Linux/ # Linux 内核开发 │ └── Kernel Dev Skills.md # 内核开发技能笔记 │ └── RT-Thread/ # RT-Thread 操作系统 └── pic/ # 相关图片资源 ``` ## 内容简介 ### 1. 实时操作系统 (RTOS) - **AutoSAR CP/AP**: 汽车电子软件架构标准笔记 - **FUSA**: 功能安全相关知识 - **R52 System Counter**: R52 系统计数器配置与使用 - **多态实现**: 使用 C 语言实现面向对象的多态特性 - **浮点运算验证**: 嵌入式平台浮点运算示例 ### 2. STM32F103 MR 框架 一个轻量级的 STM32 嵌入式框架,提供统一的设备驱动接口: - **标准化设备接口**: ADC, CAN, DAC, GPIO, I2C, PWM, SPI, Timer, UART 等 - **配置工具**: Python 实现的 Kconfig 图形化配置工具 - **驱动支持**: 完整的 HAL 层驱动封装 ### 3. C 语言编程 系统性的 C 语言核心知识总结: - 内存管理(栈、堆、数据段) - 位操作与寄存器编程 - 指针深入理解 - 结构体与对齐 - 函数与递归 - 存储类与作用域 ### 4. Linux 内核开发 - 内核代码格式化规范 - Astyle 工具使用 - 内核日志调试技巧 ### 5. RT-Thread RT-Thread 实时操作系统的学习笔记与实践。 ## 开始使用 ### STM32 开发环境 1. 确保已安装 Python 3.x 环境 2. 导入工程到 Keil MDK 或 Eclipse 3. 使用 `menuconfig` 工具进行配置 4. 编译下载到开发板 ### 学习路径建议 1. **入门**: 从 C 语言基础开始,重点理解指针和内存管理 2. **进阶**: 学习 STM32 裸机开发,掌握外设驱动编写 3. **提升**: 引入 RTOS,理解任务调度和系统设计 4. **深入**: 学习 Linux 内核开发,提升系统级开发能力 ## 许可证 本项目仅供学习交流使用。 ## 贡献 欢迎提交 Issue 和 Pull Request 来完善内容。