📘 PDA·嵌入式Linux开发实战
30章
从入门到项目
01
嵌入式Linux系统概述
PDA
📱 PDA发展史
🧩 系统架构
⚙️ 硬件平台
02
开发环境搭建
工具链
🔧 交叉编译链
🌐 TFTP/NFS
📟 Minicom
03
Bootloader原理与移植
🚀 U-Boot启动
📜 常用命令
🔄 移植实战
04
Linux内核编译与配置
📦 源码获取
⚙️ Kconfig
🔥 编译烧写
05
设备树详解
DTS
🌳 DTS/DTC
📐 语法
📝 PDA编写
06
根文件系统构建
📁 Busybox
🏗️ Buildroot
💾 JFFS2/UBIFS
07
字符设备驱动开发
💡 驱动模型
✏️ 编写驱动
📥 动态/静态加载
08
GPIO驱动与LED控制
🔌 GPIO子系统
💡 PDA驱动
🎛️ 用户空间LED
09
中断与定时器
⏰ 中断机制
⚡ 顶/底半部
⏲️ 定时器驱动
10
平台设备驱动
🛤️ 平台总线
🧩 platform_driver
📟 PDA实战
11
I2C总线驱动
🔗 I2C子系统
📡 客户端驱动
🌡️ 传感器驱动
12
SPI总线驱动
🔗 SPI子系统
🖥️ 设备驱动
🖼️ 显示屏驱动
13
LCD与FrameBuffer驱动
🖼️ FrameBuffer
📟 LCD控制器
✨ PDA显示
14
触摸屏驱动
👆 电阻/电容
⌨️ Input子系统
📲 PDA移植
15
USB设备驱动
🔌 USB子系统
🎮 Gadget驱动
📎 从设备功能
16
网络驱动开发
🌐 网络设备模型
📡 DM9000
📶 PDA通信
17
音频驱动 (ALSA)
🎵 ALSA架构
🎚️ Codec驱动
🎤 录音/播放
18
电源管理
🔋 电源框架
💤 Suspend/Resume
🌱 省电策略
19
文件系统驱动
📂 VFS原理
📝 编写文件系统
🔗 自定义挂载
20
内存管理
🧠 MMU/页表
📊 kmalloc/vmalloc
💾 DMA内存
21
并发与竞态控制
🔒 自旋锁
🔐 互斥锁
⚖️ 信号量
22
内核调试技术
🐞 printk
💥 Oops分析
🛠️ KGDB
23
用户空间与内核通信
📟 ioctl
📂 sysfs
💬 netlink
24
Qt嵌入式图形界面
🎨 Qt/E架构
⚙️ 交叉编译
📱 第一个Qt程序
25
触摸校准与GUI优化
🖊️ tslib校准
👆 Qt触摸事件
⚡ UI响应优化
26
多线程与进程管理
🧵 pthread
📬 共享内存/消息队列
📋 多任务PDA
27
网络编程与协议栈
🖧 Socket编程
📦 TCP/IP裁剪
🌐 HTTP服务器
28
系统启动优化
⏱️ 启动分析
🚀 快速启动
⚡ 5秒内启动
29
OTA远程升级
📡 OTA架构
🔄 差分升级
🔐 安全固件
30
综合项目实战
📲 智能终端
🔧 驱动联调
📊 性能测试