📘 嵌入式平板开发
环境搭建手册
🎯 30章 · 从零到部署
📁 共30个章节
RK3588 / i.MX8M Plus
⚡ 交叉编译 · 驱动 · QT5
01
嵌入式平板开发概述
概览
什么是嵌入式平板、应用领域(工业控制、医疗、车载等)、开发环境概览(交叉编译、工具链、调试器)。
02
硬件准备
选型
目标板选型(RK3588、i.MX8M Plus等)、串口线(USB转TTL)、电源适配器、网线、SD卡烧录器。
03
主机操作系统选择
环境
Windows vs Linux(Ubuntu 22.04 LTS推荐)、虚拟机(VMware/VirtualBox)安装与配置、WSL2搭建。
04
Ubuntu 22.04 LTS 安装与基础配置
系统
系统安装(双系统/虚拟机)、换源(阿里云/清华源)、SSH服务开启、VNC远程桌面配置。
05
必备开发工具安装
工具
Git版本控制、VSCode编辑器、Tmux终端复用器、Tree文件树查看、Htop系统监控。
06
交叉编译工具链安装
工具链
ARM GCC工具链(gcc-arm-linux-gnueabihf)、环境变量配置(PATH)、验证工具链。
07
SDK获取与解压
BSP
从厂商获取BSP包(如Rockchip Linux SDK)、解压到工作目录、目录结构解析(kernel、u-boot、buildroot等)。
08
U-Boot 编译与烧录
启动
U-Boot源码获取、配置(make xxx_defconfig)、编译、生成镜像、烧录到SD卡(dd命令)。
09
Linux内核编译
内核
内核源码获取、配置(make menuconfig)、编译(make -j4)、生成zImage/Image、设备树编译。
10
根文件系统构建(Buildroot)
Buildroot
Buildroot配置、选择目标架构(ARM64)、文件系统类型(ext4)、编译、生成rootfs.tar。
11
根文件系统构建(Yocto)
Yocto
Yocto项目概述、Poky层下载、配置local.conf、bitbake core-image-minimal、生成镜像。
12
根文件系统构建(Debian/Ubuntu Base)
debootstrap
debootstrap制作基础根文件系统、配置网络、SSH、打包为img。
13
设备树(Device Tree)基础
DTS
设备树语法(dts/dtsi)、节点与属性、reg、interrupt、编译设备树(dtc)。
14
设备树实战
GPIO/I2C/SPI
GPIO控制(leds节点)、I2C设备(触摸屏)、SPI设备(显示屏)、pinctrl配置。
15
驱动开发入门
驱动框架
Linux驱动框架(module_init、module_exit)、字符设备驱动(cdev)、file_operations、Makefile。
16
GPIO驱动开发
GPIO
GPIO子系统(gpiolib)、申请GPIO、设置方向、输出高低电平。
17
I2C驱动开发
I2C
I2C子系统(i2c_client、i2c_driver)、设备树匹配、读写从设备、实战AT24C02 EEPROM。
18
SPI驱动开发
SPI
SPI子系统(spi_device、spi_driver)、spi_transfer、全双工通信、实战LCD(ST7789)。
19
LCD显示驱动(Framebuffer)
显示
Framebuffer设备(/dev/fb0)、ioctl、mmap映射、绘制像素、显示BMP图片。
20
触摸屏驱动(Input子系统)
触摸
Input子系统架构、上报触摸事件、多点触控协议(MT Protocol B)。
21
音频驱动(ALSA)
音频
ALSA架构(snd_soc_card、snd_soc_dai)、I2S接口、编解码器WM8960、aplay/arecord测试。
22
网络通信(Socket编程)
网络
TCP/UDP Socket编程、bind/listen/accept、select/poll/epoll、平板与PC通信实战。
23
Wi-Fi与蓝牙配置
无线
Wi-Fi模块(AP6256)驱动加载、wpa_supplicant、蓝牙BlueZ协议栈、bluetoothctl配对。
24
4G/5G模块接入
蜂窝
USB转4G模块(EC20)、PPP拨号、QMI_WWAN驱动、AT指令、上网测试。
25
摄像头驱动(V4L2)
摄像头
V4L2框架、打开设备、设置格式、采集帧、显示到LCD。
26
QT5图形界面开发环境搭建
QT5
QT5源码交叉编译、配置qmake(arm-linux-gnueabihf-qmake)、编译QT应用、在平板上运行。
27
QT5实战
QT进阶
触摸屏校准(tslib集成)、多语言(QTranslator)、网络通信(QTcpSocket)、多线程(QThread)。
28
系统启动优化
优化
U-Boot启动参数优化、内核裁剪、根文件系统只读挂载、systemd服务优化。
29
OTA(空中升级)方案
OTA
OTA服务器搭建(Nginx)、U-Boot双备份(A/B分区)、更新脚本、断点续传。
30
调试与性能分析
调试
串口调试(minicom/putty)、内核日志(dmesg)、perf top、valgrind、GDB远程调试。