目录 第一篇工欲善其事,必先利其器 第1章嵌入式系统概述 1.1嵌入式系统基础知识 1.1.1嵌入式系统简介 1.1.2嵌入式系统的特点 1.1.3嵌入式系统的发展历史 1.1.4嵌入式系统的组成 1.1.5嵌入式操作系统简介 1.1.6嵌入式系统开发概述 1.2基于ARM架构的处理器 1.2.1ARM处理器概述 1.2.2ARM处理器的结构特点及其应用 1.2.3典型ARM处理器 第2章常用开发工具和Linux基本操作 2.1Windows环境下的工具 2.1.1代码阅读、编辑工具Source Insight 2.1.2文件传输工具FileZilla 2.1.3终端仿真工具PuTTY 2.2Linux环境下的工具 2.2.1代码阅读、编辑工具 2.2.2终端访问工具 2.3Linux基本操作 2.3.1编辑命令vi(vim) 2.3.2常用13个命令介绍 2.3.3SD卡烧写命令df、dd 2.3.4shell命令解析器 第3章嵌入式Linux开发环境搭建 3.1交叉开发模式 3.1.1嵌入式交叉开发模式 3.1.2硬件需求 3.2软件环境搭建与配置 3.2.1宿主机Linux操作系统的安装 3.2.2配置宿主机Linux操作系统 3.2.3在宿主机上安装、配置开发环境 3.2.4制作交叉编译工具链 第二篇千里之行,始于足下 第4章基于ARMv7的S5PV210启动流程 4.1S5PV210启动流程概述 4.1.1外部启动介质 4.1.2iROM启动的优势 4.2S5PV210上电初始化及内存空间分布 4.2.1启动流程 4.2.2空间分布 4.2.3SD卡引导块分配情况 4.2.4iROM中的时钟配置 4.3S5PV210上的程序烧写 4.3.1程序烧写概述 4.3.2制作启动代码头信息 4.3.3烧写SD卡 4.3.4制作Shell脚本 第5章通用输入/输出接口GPIO 5.1GPIO硬件介绍 5.1.1GPIO概述 5.1.2S5PV210的GPIO寄存器 5.1.3实验用到的寄存器详解 5.2S5PV210的GPIO应用实例 5.2.1GPIO实验 5.2.2程序设计与代码详解 第6章通用异步收发器UART 6.1UART介绍及其硬件使用方式 6.1.1UART通信的基本原理 6.1.2S5PV210的UART 6.2S5PV210的UART应用实例 6.2.1UART实验 6.2.2程序设计与代码详解 6.2.3实例测试 第7章中断体系结构 7.1S5PV210中断体系结构 7.1.1中断体系结构概述 7.1.2中断控制寄存器 7.2S5PV210的中断应用实例 7.2.1中断实验 7.2.2程序设计与代码详解 7.2.3实例测试 第8章系统时钟和定时器 8.1S5PV210的时钟体系结构 8.1.1S5PV210的时钟域和时钟源 8.1.2S5PV210的时钟应用和配置流程 8.1.3S5PV210时钟控制寄存器 8.2S5PV210 PWM定时器 8.2.1S5PV210 PWM定时器概述 8.2.2S5PV210定时器 8.2.3PWM定时器寄存器 8.3S5PV210时钟和定时器应用实例 8.3.1时钟实验 8.3.2程序设计与代码详解 8.3.3实验测试 第9章存储控制器 9.1S5PV210存储控制器介绍 9.1.1存储控制器概述 9.1.2DRAM存储控制器 9.1.3与外设的接线方式 9.1.4DDR2概述 9.1.5S5PV210 DDR2初始化顺序 9.1.6存储控制器的寄存器介绍 9.2存储控制器应用实例 9.2.1存储控制器实验 9.2.2程序设计与代码详解 9.2.3实验测试 第三篇欲穷千里目,更上一层楼 第10章移植UBoot 10.1Bootloader介绍 10.1.1Bootloader概述 10.1.2Bootloader的结构和启动方式 10.1.3Bootloader操作模式和安装位置 10.1.4如何编写Bootloader 10.1.5Bootloader与内核之间的交互 10.2UBoot介绍与移植到S5PV210开发板 10.2.1UBoot简介 10.2.2UBoot源码结构 10.2.3UBoot配置、编译与SPL介绍 10.2.4UBoot启动过程源码分析 10.2.5UBoot下的驱动移植 10.2.6添加启动菜单 第11章移植Linux内核 11.1Linux内核概述 11.1.1Linux内核发展及其版本特点 11.1.2Linux内核源码获取 11.1.3内核源码结构及Makefile分析 11.1.4Linux内核的Kconfig介绍 11.1.5Linux内核配置选项 11.2Linux内核移植 11.2.1Linux内核启动过程概述 11.2.2Linux内核启动源码分析 11.2.3修改内核支持S5PV210 第12章构建Linux根文件系统 12.1Linux文件系统概述 12.1.1文件系统概述 12.1.2Linux根文件系统目录结构 12.1.3Linux文件属性 12.1.4文件系统工作原理 12.2移植Busybox 12.2.1Busybox介绍 12.2.2Busybox的目录结构 12.2.3内核init进程及用户程序启动过程 12.2.4配置/编译/安装Busybox 12.2.5构建根文件系统 第13章Linux驱动程序移植 13.1Linux驱动程序概述 13.1.1驱动程序、内核和应用程序之间的关系 13.1.2驱动程序分类 13.1.3Linux设备模型介绍 13.1.4驱动程序开发步骤 13.1.5驱动程序的加载和卸载 13.2网卡驱动移植 13.2.1DM9000网卡特性 13.2.2DM9000驱动移植 第四篇万事俱备,只欠东风 第14章嵌入式Linux GUI应用开发 14.1嵌入式Linux应用开发概述 14.1.1Linux应用开发介绍 14.1.2嵌入式Linux GUI应用开发流程 14.2移植Qt 5.12到目标板 14.2.1Qt 5.12介绍 14.2.2移植Qt 5.12 14.3嵌入式Qt编程基础 14.3.1Qt桌面开发环境 14.3.2移植Qt 5.12应用程序 第15章Qt 5.12快速入门 15.1Qt Creator快速入门 15.1.1窗口部件 15.1.2布局管理 15.1.3信号与槽 15.1.4主窗口 15.1.5事件处理 15.1.6数据处理 15.1.7通信编程 15.1.8国际化 15.1.9应用程序发布 15.2基于Qt Quick的应用开发 15.2.1Qt Quick与Qt Design Studio介绍 15.2.2QML与C++混合编程 15.2.3基于Qt Quick的DAQSystem系统 参考文献