|
@@ -0,0 +1,101 @@
|
|
|
|
|
+---
|
|
|
|
|
+title: 嵌入式Linux应用与Qt开发实战
|
|
|
|
|
+tags: [嵌入式Linux, 应用编程, Qt, IMX6ULL, 知识库索引]
|
|
|
|
|
+created: 2026-09-18
|
|
|
|
|
+updated: 2026-09-18
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+# 嵌入式Linux应用与Qt开发实战
|
|
|
|
|
+
|
|
|
|
|
+> 基于正点原子 I.MX6ULL 开发板,构建从 **Linux C 应用编程**到 **嵌入式 Qt 图形界面开发**的完整知识体系。
|
|
|
|
|
+> 每篇自包含完整(原理 + 完整源码 + 调试方法 + 面试题),可直接用于初步学习、复习与查询。
|
|
|
|
|
+
|
|
|
|
|
+## 与「驱动开发实战」及既有笔记的关系
|
|
|
|
|
+
|
|
|
|
|
+| 知识库 | 定位 | 路径 |
|
|
|
|
|
+| ------ | ---- | ---- |
|
|
|
|
|
+| 嵌入式Linux驱动开发实战 | 起点:ARM 裸机 → 驱动 → 系统移植 | `raw/Joplin/嵌入式+Linux/嵌入式Linux驱动开发实战/` |
|
|
|
|
|
+| **嵌入式Linux应用与Qt开发实战(本库)** | 用户态应用编程 → 外设应用 → 网络 → Qt | `raw/Joplin/嵌入式+Linux/嵌入式Linux应用与Qt开发实战/` |
|
|
|
|
|
+| Linux+C+C++技术体系梳理 | 语言与系统编程「深入专题」(延伸阅读) | `raw/Joplin/Linux+C+C++技术体系梳理/` |
|
|
|
|
|
+
|
|
|
|
|
+> 本库每篇内容自包含,**不依赖**延伸笔记即可学习;延伸笔记仅在各篇「关联知识 / 延伸阅读」中提供进一步深入的入口。
|
|
|
|
|
+
|
|
|
|
|
+## 学习路径
|
|
|
|
|
+
|
|
|
|
|
+```
|
|
|
|
|
+C应用编程基础 → 进程线程与IPC → 外设与高级IO → 网络与项目实战 → Qt应用开发
|
|
|
|
|
+ ↓ ↓ ↓ ↓ ↓
|
|
|
|
|
+ 01模块 02模块 03模块 04模块 05模块
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+## 知识模块
|
|
|
|
|
+
|
|
|
|
|
+### 01-Linux应用编程基础
|
|
|
|
|
+
|
|
|
|
|
+- [[01-Linux应用编程基础/01-应用编程概念与开发环境]] — 系统调用/库函数、main 函数、开发环境
|
|
|
|
|
+- [[01-Linux应用编程基础/02-文件IO基础与深入探究]] — open/read/write/lseek、fd、errno、文件共享、原子操作
|
|
|
|
|
+- [[01-Linux应用编程基础/03-标准IO库]] — FILE 指针、fopen/fread/fwrite、格式化 IO、缓冲机制
|
|
|
|
|
+- [[01-Linux应用编程基础/04-文件属性与目录]] — stat、权限、链接、目录遍历
|
|
|
|
|
+- [[01-Linux应用编程基础/05-字符串处理与系统信息]] — 字符串/内存函数、正则、时间日期、proc 文件系统
|
|
|
|
|
+- [[01-Linux应用编程基础/面试-Linux应用编程基础]] — 面试题
|
|
|
|
|
+
|
|
|
|
|
+### 02-进程线程与IPC
|
|
|
|
|
+
|
|
|
|
|
+- [[02-进程线程与IPC/01-信号机制]] — 信号分类、处理、信号集、阻塞与等待
|
|
|
|
|
+- [[02-进程线程与IPC/02-进程管理]] — fork/vfork/exec、进程状态、守护进程
|
|
|
|
|
+- [[02-进程线程与IPC/03-进程间通信]] — 管道/FIFO、消息队列、信号量、共享内存
|
|
|
|
|
+- [[02-进程线程与IPC/04-线程与线程同步]] — pthread、互斥锁、条件变量、读写锁、自旋锁
|
|
|
|
|
+- [[02-进程线程与IPC/面试-进程线程与IPC]] — 面试题
|
|
|
|
|
+
|
|
|
|
|
+### 03-外设与高级IO编程
|
|
|
|
|
+
|
|
|
|
|
+- [[03-外设与高级IO编程/01-高级IO]] — 非阻塞 IO、IO 多路复用、异步 IO、存储映射
|
|
|
|
|
+- [[03-外设与高级IO编程/02-GPIO与LED应用编程]] — sysfs GPIO、/dev/led、ioctl
|
|
|
|
|
+- [[03-外设与高级IO编程/03-输入设备与tslib]] — input 子系统、event 结构、tslib 触摸校准
|
|
|
|
|
+- [[03-外设与高级IO编程/04-FrameBuffer与LCD应用编程]] — fb 设备、JPEG/PNG、FreeType、横竖屏
|
|
|
|
|
+- [[03-外设与高级IO编程/05-PWM与看门狗]] — PWM sysfs、看门狗喂狗
|
|
|
|
|
+- [[03-外设与高级IO编程/06-摄像头串口与音频]] — V4L2、UART、ALSA
|
|
|
|
|
+- [[03-外设与高级IO编程/面试-外设与高级IO编程]] — 面试题
|
|
|
|
|
+
|
|
|
|
|
+### 04-网络编程与项目实战
|
|
|
|
|
+
|
|
|
|
|
+- [[04-网络编程与项目实战/01-网络基础与socket编程]] — TCP/IP、socket、TCP/UDP、并发服务器
|
|
|
|
|
+- [[04-网络编程与项目实战/02-CAN应用编程]] — SocketCAN、can-utils
|
|
|
|
|
+- [[04-网络编程与项目实战/03-CMake入门与进阶]] — CMake 语法、交叉编译
|
|
|
|
|
+- [[04-网络编程与项目实战/04-实战项目MQTT与视频监控]] — MQTT 物联网、视频监控
|
|
|
|
|
+- [[04-网络编程与项目实战/面试-网络编程与项目实战]] — 面试题
|
|
|
|
|
+
|
|
|
|
|
+### 05-Qt应用开发
|
|
|
|
|
+
|
|
|
|
|
+- [[05-Qt应用开发/01-C++基础与面向对象]] — C++ 特性、类对象、继承重载多态
|
|
|
|
|
+- [[05-Qt应用开发/02-Qt入门与项目结构]] — Qt Creator、.pro/.ui、Qt Designer
|
|
|
|
|
+- [[05-Qt应用开发/03-信号与槽]] — 信号槽机制、自定义信号槽
|
|
|
|
|
+- [[05-Qt应用开发/04-Qt控件详解]] — 按钮、输入、显示类控件
|
|
|
|
|
+- [[05-Qt应用开发/05-布局容器与模型视图]] — 布局管理、容器、Model/View
|
|
|
|
|
+- [[05-Qt应用开发/06-文本绘图与图表]] — QFile/QTextStream、QPainter、QChart
|
|
|
|
|
+- [[05-Qt应用开发/07-多线程网络多媒体与数据库]] — QThread、TCP/UDP、音视频、SQLite
|
|
|
|
|
+- [[05-Qt应用开发/08-嵌入式Qt交叉编译与项目实战]] — 交叉编译、LED/串口/CAN/摄像头、综合项目
|
|
|
|
|
+- [[05-Qt应用开发/面试-Qt应用开发]] — 面试题
|
|
|
|
|
+
|
|
|
|
|
+## 跨平台资源
|
|
|
|
|
+
|
|
|
|
|
+| 知识领域 | 本项目 | 已有资源 |
|
|
|
|
|
+| -------- | ------ | -------- |
|
|
|
|
|
+| 系统编程深入 | 01/02 模块 | [[Linux+C+C++技术体系梳理/2. Linux系统编程/2. 系统调用IO]] |
|
|
|
|
|
+| 并发与锁 | 02 模块 | [[Linux+C+C++技术体系梳理/2. Linux系统编程/12. 读写锁与自旋锁]]、[[嵌入式Linux驱动开发实战/03-Linux驱动开发核心/04-并发同步与原子操作]] |
|
|
|
|
|
+| 网络编程 | 04 模块 | [[Linux+C+C++技术体系梳理/2. Linux系统编程/15. TCP编程]] |
|
|
|
|
|
+| Qt 界面开发 | 05 模块 | [[编程学习项目/使用Qt和C++构造UI界面/4. 信号和槽机制]] |
|
|
|
|
|
+| 驱动与硬件 | — | [[嵌入式Linux驱动开发实战/README]] |
|
|
|
|
|
+| STM32 嵌入式 | — | [[STM32学习笔记/README]] |
|
|
|
|
|
+
|
|
|
|
|
+## 使用说明
|
|
|
|
|
+
|
|
|
|
|
+- **初步学习**:按模块顺序阅读,每篇含完整原理与源码。
|
|
|
|
|
+- **复习**:每模块末尾「面试-*」文档 + 各篇「面试精选」章节。
|
|
|
|
|
+- **查询**:API/命令/寄存器均有表格,源码可直接复制。
|
|
|
|
|
+- **迁移**:每篇含 IMX6ULL vs STM32 vs RK3568 跨平台对比。
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+**创建时间**: 2026-09-18
|
|
|
|
|
+**基于资料**: 正点原子 I.MX6U《嵌入式Linux C应用编程指南V1.6》《嵌入式Qt开发指南V1.2》
|