本书结合大量实例,在基于ARM Cortex-A9 四核处理器的硬件教学平台上,全面详细地讲解了ARM
处理器及在其上的嵌入式Linux 系统开发。本书主要内容包括ARM 处理器及常用指令介绍,Linux 编程
环境,交叉开发环境,Boot Loader 介绍U-Boot 启动过程及移植,Linux 内核配置、编译及Qt 移植等。
其中移植相关的内容不仅给出了移植的方法和步骤,还讲解了为什么要这么做。重视实践,实用是本书
的最大特点,同时,本书配合大量的习题,读者能快速地掌握嵌入式Linux 系统开发的要点。
本书可作为大学院校电子、通信、计算机、自动化等专业的“嵌入式Linux 系统开发”课程的教材,
也可作为嵌入式开发人员的参考用书。
国内领先品牌专业嵌入式培训机构一线老师作品,众多学员共同认可。
前 言
随着嵌入式及物联网技术的快速发展,ARM 处理器已经广泛地应用到了工业控制、智能仪表、汽车电子、医疗电子、军工电子、网络设备、消费类电子、智能终端等领域。而较新的ARM Cortex-A9 架构的四核处理器,更是由于其优越的性能被广泛应用在中高端的电子产品市场。比如基于ARM Cortex-A9 的三星Exynos 4412 处理器就被应用在三星GALAXY Note II 智能手机上。
另一方面,Linux 内核由于其高度的稳定性和可裁剪性等特点,被广泛地应用到嵌入式系统中,其中Android 系统就是一个典型的例子。这样,ARM 处理器和Linux 操作系统紧密地联系在一起。所以,基于ARM 和Linux 的嵌入式系统得到了快速的发展。
目前,针对上述两方面完整涵盖的书籍较少,或者就是相对较老的ARM 体系结构及较低版本的Linux 内核。为了能够跟上嵌入式Linux 技术发展的步伐,促进嵌入式技术的推广,华清远见研发中心自主研发了一套基于Exynos 4412 处理器的开发板FS4412,并组织编写了本书。本书注重实践、实用,本着从解决问题的角度出发,既给出了解决问题的方法,又给出了如何逐步解决问题的过程。
本书将ARM 处理器和嵌入式Linux 系统融为一体,形成了一套较完整的嵌入式Linux 系统开发教程。全书共11 章,循序渐进地讲解了嵌入式Linux 系统开发所涉及的核心技术和一些经验、方法。本书主要分四个部分,第一部分(第1 章和第2 章)介绍了嵌入式系统和ARM 处理器的概况;第二部分(第3 章和第4 章)介绍Linux 下的软件开发;第三部分(第5 章)介绍U-Boot 的移植;第四部分(第6~11 章)介绍Linux内核、驱动的移植,根文件系统的制作及Qt 的移植。各章节的主要内容如下。
第1 章对嵌入式系统有一个整体的概述,主要介绍当前比较流行的嵌入式操作系统,并着重介绍嵌入式Linux 系统。
第2 章介绍ARM 处理器的整体情况,主要介绍ARM 处理器的家族系列、常用的指令、寻址方式和常见的基于ARM 的SoC,重点介绍Exynos 4412 处理器及FS4412 开发板。
第3 章讲解常用的Linux 命令、Shell 脚本、正则表达式、Makefile、GNU 工具集和Linux 编程库。
第4 章讲解交叉开发环境,包括交叉编译工具链的安装、串口终端的安装和使用、TFTP 和NFS 服务器的安装和配置、根文件系统挂载、交叉调试和FS4412 开发板的开发环境的搭建实例。
第5 章讲解常见的Bootloader、U-Boot 常用命令、U-Boot 的启动过程及U-Boot 的移植过程。
第6 章讲解Linux 内核的配置及编译,包括Linux 内核源码下载、配置、Makefile、Kconfig、配置选项、编译等内容。
第7 章讲解Linux 内核的移植基础内容,包括内核移植的基本工作、Linux 设备树、Linux 启动过程的详细讲解。
第8 章讲解FS4412 开发板上Linux 内核的移植实例,包括内核的基础移植、网卡驱动移植、SD/eMMC 驱动移植、USB 主机控制器驱动移植和LCD 驱动移植的详细讲解。
第9 章讲解Linux 内核的调试技术,包括常用调试方法的介绍、调试相关的配置选项、内核打印函数分析、系统请求键、proc 和sys 接口、oops 及panic 信息分析、KGDB源码级内核调试等。
第10 章讲解根文件系统的制作和固化,包括根文件系统目录结构、init 系统初始化过程、利用Busybox 制作根文件系统的过程和根文件系统的固化等。
第11 章讲解Qt 的移植,包括Qt 的下载、配置、编译、安装和在根文件系统中的添加,Qt 集成开发环境的安装,在集成开发环境中加入ARM 平台的构建环境,Qt 应用程序的编译和在开发板上的运行测试等。
本书由华清远见成都中心的姜先刚和袁祖刚编写,其中第1~5 章由袁祖刚编写,第6~11 章由姜先刚编写,北京中心的刘洪涛完成本书的统稿及审校工作。本书的内容是华清远见嵌入式培训中心所有老师心血的结晶,是多年教学成果的积累。他们认真阅读了书稿,提出了大量的建议,并纠正了书稿中的很多错误,在此表示感谢。由于作者水平有限,书中不妥之处在所难免,恳请读者批评、指正。对于本书的批评和建议,可以发表到www.farsight.com.cn 技术论坛。
编 者