1、为什么要写这本书?随着芯片制造技术的不断完善和升级,如今的芯片不仅体积越来越小,功能也越来越多,速度也成倍提升。典型的芯片如大家所熟知的ARM系列,已经从过去我们比较熟悉的ARM7、ARM9时代发展到现在的Cortex系列,从单核时代发展到多核时代。硬件在飞速发展的同时,带来了电子产品的快速更新换代,应用领域越来越广,知识更新越来越快。嵌入式Linux系统开发是嵌入式领域非常热门的专业,需求量很大,但是嵌入式Linux入门难度很大,很多人不知道从何下手,迷失方向,甚至半途而废。还有很多初学者,如在校学生,对嵌入式学习知识缺乏,经常会担心买什么开发板,买了开发板之后从哪里下手,说到底还是很多人不懂嵌入式开发,或者缺乏相关的技术帮助资料。 鉴于以上原因,笔者对目前的嵌入式开发市场做了一些调研,发现很多与ARM相关的资料还是基于ARM7、ARM9,而关于ARM11、Cortex的资料比较少,没有与时俱进,或者有些过于专业,不适合初学者。笔者对ARM系列处理器做了一些比较,从ARM11开始,属于ARM的一个时代,而从Cortex开始,可以说是ARM产品中的新亮点,未来基于它的产品会越来越多,而且Cortex也兼容之前的ARM架构。
看来Cortex系列应该是未来的一个趋势,因此作者选择以Cortex家族中的A8为例,并结合自己的学习和工作经历,循序渐进、由浅入深地讲解了嵌入式Linux系统开发的各个环节,最终完成了本书,希望能够帮助读者加速嵌入式Linux系统开发的入门,并对嵌入式Linux的学习产生浓厚的兴趣。 2.内容特点 本书与同类图书相比,有以下几个特点。 (1)循序渐进,由浅入深 本书以TQ210(基于Cortex-A8架构,S5PV210处理器)开发板为例,从开发环境的安装与配置、ARM基本指令的使用、Linux常用命令的使用以及嵌入式C语言等相关基础知识讲解。在读者掌握了基础知识之后,结合硬件原理图,逐一分析硬件各部件的工作原理、编程方法等。 最终带领读者一步步走进嵌入式Linux系统开发的殿堂,学习U-Boot、Linux内核移植、根文件系统制作、驱动开发与移植等各项技术。 (2)实例丰富、讲解详尽 古人云:“读唐诗三百首,不会写诗也能背诵”。本书基于S5PV210开发板(TQ210),编写了丰富的实例源码,每个实例源码都在S5PV210开发板上调试过,每段代码后都附有详细的分析注解,帮助读者理解、掌握,进而加深对相关理论知识的理解。
另外,一些编程思想、经验和技巧也可以为读者提供参考。 嵌入式Linux系统开发指南—基于ARM Cortex-A8处理器(3) 资源共享,增值服务 书中用到的所有软件工具、程序源代码、文档学习资料以及基于S5PV210开发板的所有裸机程序、U-Boot代码、Linux内核代码、根文件系统等学习资源都可以在清华大学出版社网站书籍页面下载,可以直接使用和测试。另外,作者为本书开设了专门的网站,读者可以直接与我们交流,共同学习、提高。另外,作者的博客(ID:js_gary)在EEWorld、CSDN、EDN China等国内知名技术交流网站均可查阅,读者可以通过博客与作者取得联系。 (4)传承经典,彰显前沿 本书详细讨论了基于Cortex-A8架构的嵌入式Linux系统的开发,对Cortex-A8架构处理器的操作时序、通用GPIO接口、内存管理器、中断机制等做了详细的讲解。书中配有大量新颖的图片,提升读者的兴趣,加深对理论的理解。 3.内容结构 本书从简单到复杂,从基础工具使用到系统开发,讲解了嵌入式Linux初学者的学习过程。全书分为3部分,共16章。
第一部分(1-4章)为嵌入式Linux系统开发环境的搭建,主要包括以下内容: 第1章介绍嵌入式系统的概念、特点、发展历史,重点介绍了ARM架构的Cortex-A8和S5PV210处理器。 第2章讲解了如何搭建嵌入式Linux开发环境,包括在宿主机上安装、配置Linux操作系统(Ubuntu)、制作交叉编译工具链等。 第3章介绍了嵌入式开发中经常用到的一些开发工具和Linux系统常用命令,如代码读写工具、终端仿真工具等。 第4章介绍了常见的GNU ARM汇编指令、Makefile的基本语法和交叉编译工具的选项,以及ARM基本指令集相关的知识。本章可作为阅读本书的参考手册。 第二部分(第5-12章)是Cortex-A8嵌入式系统的基础裸机编程。该部分内容基于S5PV210的数据手册,介绍了硬件部件的原理和使用方法,然后介绍了如何编写程序(即裸机程序)来控制它们。书中介绍了常见硬件部件的使用方法,这是上层应用程序开发人员不具备的技能。通过读/写各个硬件部件的寄存器来控制硬件,读者可以深刻理解“软件”和“硬件”是如何协同工作的。另外,本篇也是第三篇的基础。第三篇(第13至16章)是嵌入式Linux系统移植。具体内容如下:第13章分析了U-Boot代码的结构,最后详细讲解了如何将U-Boot移植到S5PV210开发板上。
第14章分析了Linux内核代码结构以及内核启动过程,最后详细讲解了内核到S5PV210的移植过程。 第15章介绍了嵌入式Linux文件系统的目录结构,移植Linux常用命令工具集Busybox,创建各类目录和配置文件,最后编译并制作文件系统映像文件。 第16章为驱动移植章节,首先概括介绍嵌入式内核中驱动的编写及移植方法,然后重点介绍如何在S5PV210平台上移植相关功能模块的驱动程序。四、目标读者 对嵌入式Linux开发感兴趣的读者; 电子信息工程、计算机科学与技术专业的本科生、研究生; 相关工程技术人员。五、致谢本书主要由李建祥撰写,王峰、卞树旺、曲肃、石瑞东等人参与了本书的写作。 另外,在本书的写作过程中,我们得到了广州天乾科技有限公司的大力支持和帮助,他们提供的优质开发板和技术资料,使得本书的写作有了良好的硬件平台,效率更高,在此表示感谢。感谢家人在写作过程中给予的强大精神支持和鼓励,使我能够坚持下去,完成本书。从本书的写作到出版,我得到了刘启明教授的指导,他对书中的关键章节提出了宝贵的建议,在此表示感谢。另外,还要感谢清华大学出版社的工作人员在本书资料的编校工作中付出的辛勤劳动。由于编者水平和经验有限,时间安排也比较紧张,难免有疏漏或错误之处,欢迎读者批评指正。有兴趣的朋友可以发邮件到js_gary@163.com与作者交流。编辑部 2016年2月
更多 >