基本信息

编辑推荐
从源码实现和工程实践两个维度深度讲解了u-boot、Linux内核、驱动和应用程序的移植原理和方法。
内容简介
计算机书籍
随着物联网时代的到来,市场对各类智能设备的需求也日渐高涨。智能设备的核心技术是集成电路芯片和嵌入操作系统,而嵌入式操作系统更可以称为是智能设备的灵魂。多年来,Linux系统因为其开源免费、安全稳定、社区支持丰富和移植裁剪方便等特点—直备受全球各大设备厂商的青睐,当仁不让地成为众多嵌入式操作系统中最耀眼的明星。在智能手机大行其道的今天,Android系统牢牢占据着80%以上的市场份额,而在Androd系统华丽的外衣之下,依然是Linux系统强有力的支撑。
智能设备的发展并没有止步在智能手机,而是陕速朝着智能可穿戴设备、智能家居和车联网等方向扩张。但要想把Linux系统移植到这些外设丰富并且处理器架构各异的设备中,对于初级工程师而言也并非易事,因为这不仅要求工程师熟悉c、汇编等编程语言,了解基本的硬件操作方法和协议规范,还要求工程师对Linux的内核架构、编译系统、调试方法以及各个子系统的源码结构有所理解。为了让读者能够顺利具备Linux系统移植的能力,本书被设计为一站式学习教程,即:
.涉及Linux系统各个层面的移植,包括启动加载程序、Linux内核、Linux应用程序等;
.提供深入的理论讲解和完整的源码剖析,同事也分析了启动加载程序和Linux内核的编译系统;
.分别提供对使用ARM9/S3C2440和ARM11/S3C6410两款处理器的开发板移植过程的详细实录,以最为人性化的方式让读者理解整个移植过程中代码和系统功能的变迁。
目录
绪论篇
第1章嵌入式系统架构与移植环境搭建2
1.1 嵌入式系统硬件架构2
1.1.1 微处理器3
1.1.2 总线4
1.1.3 存储器5
1.2 嵌入式系统软件架构6
1.3 嵌入式Linux移植环境搭建7
1.3.1 Ubuntu开发平台7
1.3.2 搭建交叉编译环境8
1.3.3 获取内核9
1.3.4 获取启动加载器9
1.3.5 配置必要服务9
1.3.6 PuTTY的安装和配置12
1.4 本章小结12
u-boot移植篇
第2章u-boot工程与编译系统14
2.1 u-boot介绍14
2.1.1 u-boot工程简介15
前言
近年来,以嵌入式技术为基础的物联网产业正如火如荼地发展,就业需求和薪资待遇年年看涨。许多学校和培训机构纷纷开设了嵌入式相关的课程,但这些课程的实践环节往往存在以下几个方面的问题:
过于偏重理论,缺乏对实践环节的指导。
有实践环节,但内容过于简单,流于表面。
有实践环节,但移植实践部分讨论的内容不完整。
由于存在上述的问题,通过这些课程培养出来的学生往往满足不了企业的真正需求。因此,相关学员也很难圆高薪就业的梦想。
本书力求为上述三个问题寻求解决方案:第一,在注重理论知识的前提下,坚持以实践环节为本书内容的主体,从实践中提炼理论知识,以源码分析作为移植实践的依据;第二,绝不做浅尝辄止的实践,绝不停留于只求在某个开发板上做出某个简单的效果,而是从对多个开发板的移植实践中提炼出更一般性的方法;第三,力求做到功能完善的系统移植。虽然嵌入式系统往往需要根据需求对功能进行裁剪,但为了打造一本面向广大嵌入式工程师和爱好者的书,笔者还是决定向读者介绍更多功能的移植方法,以让本书可以作为一本工具书常备、常用。
读者对象
这里可以根据软件需求来划分本书的读者:
Linux系统爱好者
嵌入式u-boot移植工程师
嵌入式Linux移植工程师
Linux驱动开发工程师
嵌入式应用开发工程师
高校相关课程的教师与学生
参加嵌入式职业培训的人员
如何阅读本书
本书共23章,分为四篇。
第一篇为绪论篇(第1章)。本篇只有一章内容,从整体上简单地介绍了嵌入式系统架构,并探讨了系统移植环境的搭建方法。本章中的所有内容均以介绍和指导实践为主,读者仅需了解相关的概念,之后自会在移植实践过程中有深刻体会。
第二篇为u-boot移植篇(第2~5章)。从绪论篇中得知,嵌入式系统的移植首先需要完成的工作是启动加载程序的移植,由于本书是以实践为目的,因此选择了嵌入式系统最为常用的u-boot作为移植的依据。 本篇首先介绍u-boot工程与编译系统以及u-boot启动流程等基础知识,并深入源码进行详细分析。读者在掌握这些基础知识后,可以参照使用ARM9/S3C2440芯片的开发板和使用ARM11/S3C6410芯片的开发板这两个实例进行系统的u-boot移植实战。由于力求深入与完整,移植实战涵盖了从最初的启动代码到各种常见驱动的移植,并在最后整合所有的移植功能,完成一个功能强大的启动菜单。所有的移植代码和相关资源均可在本书配套资源文件中找到。