Intel嵌入式处理器家族
Linux在嵌入式领域的优势
课程目标与学习路径
安装Ubuntu虚拟机
配置SSH服务
安装Git/Vim/GCC
什么是交叉编译
安装Intel交叉编译工具链
配置环境变量 & 验证
U-Boot简介
U-Boot源码结构
编译 & 烧录U-Boot
获取内核源码
menuconfig配置
编译内核 & 设备树
BusyBox简介
最小根文件系统
制作根文件系统镜像
Yocto项目概述
Poky参考发行版
搭建构建环境 & 首次构建
Recipe / Layer / BitBake
local.conf
bblayers.conf
Recipe语法基础
创建自定义Layer
添加软件包 & 构建验证
设备树语法 / DTS
DTC & 绑定文档
Intel平台应用
Linux GPIO子系统
GPIO控制程序
sysfs接口操作
I2C子系统架构
编写I2C客户端驱动
与I2C设备通信
SPI子系统介绍
编写SPI设备驱动
spidev用户空间接口
Linux中断机制
注册中断处理函数
顶半部/底半部 & 工作队列
MMU基础 / ioremap
DMA API
使用DMA传输数据
Platform总线
Platform设备与驱动
匹配机制 & 编写驱动
Input子系统架构
编写Input设备驱动
上报事件 & 用户空间测试
Framebuffer原理
编写Framebuffer驱动
显示图像
网络设备驱动模型
编写虚拟网卡驱动
数据包收发流程
Linux电源管理框架
Suspend/Resume
cpufreq & 设备电源管理
PREEMPT_RT补丁
实时内核配置
测量延迟 & 优化策略
perf工具使用
ftrace追踪
内核配置优化 & 启动时间优化
SELinux基础
AppArmor
内核安全模块 & 加密文件系统
printk / KGDB
JTAG调试
Oops分析 & 内存泄漏检测
JFFS2 / UBIFS
SquashFS / overlayfs
FUSE
从上电到Shell
U-Boot启动内核
内核初始化 & init进程
从零构建完整Intel嵌入式Linux系统
Bootloader + 内核 + 根文件系统
自定义驱动