收藏 分享(赏)

嵌入式Linux系统开发技术详解——基于ARM.pdf

上传人:刘佐伊 文档编号:10314 上传时间:2018-06-01 格式:PDF 页数:416 大小:10.79MB
下载 相关 举报
嵌入式Linux系统开发技术详解——基于ARM.pdf_第1页
第1页 / 共416页
嵌入式Linux系统开发技术详解——基于ARM.pdf_第2页
第2页 / 共416页
嵌入式Linux系统开发技术详解——基于ARM.pdf_第3页
第3页 / 共416页
嵌入式Linux系统开发技术详解——基于ARM.pdf_第4页
第4页 / 共416页
嵌入式Linux系统开发技术详解——基于ARM.pdf_第5页
第5页 / 共416页
点击查看更多>>
资源描述

1、 前 言 随着Linux操作系统的发展,特别是Linux 2.6内核的迅速发展,嵌入式Linux在嵌入式领域的应用越来越广泛。Linux 具备源码开放、内核稳定高效、软件丰富等优势,而且还具备支持广泛的处理器结构和硬件平台、可定制性好、可靠性高等特点。据IDC的报告显示,嵌入式 Linux 在未来两年将占嵌入式操作系统市场份额的 50%,约 3.5 亿美元,由此产生的应用市场前景更是不可估量。 正是由于市场的需求,嵌入式领域也需要大量的嵌入式 Linux 开发者。目前国内 Linux程序员的素质和数量还不能满足企业的需要。 编写目的 大学计算机相关专业课程都已经包含计算机组成原理、计算机编程语

2、言、计算机体系结构、计算机操作系统,甚至还包括电子技术和半导体技术。尽管已经具备这些嵌入式 Linux系统的基础知识,但是多数大学毕业生不清楚到底该如何开发嵌入式Linux系统。 编写本书的目的就是阐述嵌入式Linux 系统的各组成部分,从概念上和实践上说明嵌入式 Linux 系统开发的基本过程。这本书可以帮助具备计算机基础知识的开发者迅速进入嵌入式系统开发领域。 希望本书能够帮助读者更好地理解嵌入式Linux系统,并且参与到嵌入式Linux 系统开发中来。 主要内容 本书以嵌入式Linux系统开发流程为主线,剖析了嵌入式Linux系统构建的各个环节。从嵌入式系统基础知识和 Linux 编程技

3、术讲起,接下来说明了建立嵌入式 Linux 交叉开发环境,然后分析了嵌入式 Linux 系统的引导程序、内核和文件系统三大组成部分,最后介绍了嵌入式Linux系统集成和部署的方法。 第1章介绍了嵌入式系统和嵌入式操作系统的概况,讲述了嵌入式Linux发展历史和开发环境,概括说明了嵌入式Linux系统开发的特点。 第2章描述了ARM体系结构和ARM Linux的发展,介绍了几种应用Linux的典型ARM处理器和开发板。 2 嵌入式 系统开发技术详解基于ARM 第3章介绍了Linux 编程常用的工具,Makefile语法规则,还有binutils、gcc和gdb 等工具的用法。 第4章介绍了嵌入式

4、交叉开发环境的概念和配置,说明了应用程序交叉开发和调试的基本方法。 第5章介绍了编译生成GNU工具链的基本步骤。 第6章介绍了Bootloader的类型的特点,详细分析了U-Boot的使用、编译和移植。 第7章介绍了Linux 2.6内核的特点和Kbuild管理方式,说明了内核基本的配置选项的用法。 第8章以ARM平台为例介绍了内核移植的基本方法,并且详细分析了Linux 内核启动过程。 第9章介绍了各种Linux内核调试方法,为内核移植提供了有效的调试手段。 第10章介绍了Linux根文件系统的组织结构,并且分析了init进程调用文件系统脚本初始化的过程。 第11章介绍了嵌入式Linux系统

5、常用的开源软件,包括系统工具、图形库、网络和串口应用程序等。 第 12 章介绍了系统集成测试需要的各种工具,主要包括系统跟踪、性能测试和内存测试3个方面。 第13章介绍了Linux系统部署的基本方法,分析了文件系统和存储介质的特点。 第14章介绍了以S3C2410 处理器的 GPS手持设备开发过程为例,介绍了嵌入式Linux系统软硬件的设计与开发。 本书可作为高等院校电子类、电气类、控制类等专业高年级本科生、研究生学习嵌入式Linux 的教材,也可供广大希望转入嵌入式领域科研和工程技术人员参考使用,还可作为广大嵌入式Linux就业培训班的教材和教辅材料。 阅读建议 根据本书的指导,可以自己动手

6、构建嵌入式Linux 开发环境和嵌入式Linux 系统。这对于深刻理解和掌握嵌入式Linux开发是非常重要的。 嵌入式的开发与具体的硬件环境紧密相关,本书的内容以常见的ARM 9 S3C2410平台为例来讲解。对于其他硬件平台可以触类旁通,通过分析具体的源代码学习。 感谢 感谢张小全的密切合作,他的努力使得本书得以及时完稿,他撰写了第 2 章、第 3章、第10章、第11章。 感谢开放源码软件和开放文档的作者们。 感谢华清远见的季久峰老师。 感谢麦克泰公司和我的同事们,特别是支持我的龙中花和易松华。 另外还要感谢以下人员的支持:孙天泽、袁文菊、田彦、周明、黄昕、史宜彬、张秀丽、谭翠君等。 第1

7、章 前言 3 相关内容 本书内容来自北京华清远见科技信息有限公司(http:/)的培训课程资料,有关本书的相关资料和嵌入式Linux更多的资料、公开课视频,请参见http:/. cn/download/。 由于时间仓促,加之水平有限,书中的不足之处在所难免,敬请读者批评指正。本书责任编辑的联系方法是,欢迎来信交流。 编者 2006年6月 目 录 第1章 概述. 1 1.1 嵌入式系统. 1 1.2 嵌入式操作系统. 2 1.3 嵌入式Linux历史. 4 1.4 嵌入式Linux开发环境. 5 1.5 嵌入式Linux系统开发要点. 7 第2章 ARM处理器. 8 2.1 ARM处理器简介.

8、8 2.1.1 ARM公司简介. 9 2.1.2 ARM处理器体系结构. 10 2.1.3 Linux与ARM处理器. 12 2.2 ARM指令集. 13 2.2.1 ARM微处理器的指令集概述. 13 2.2.2 ARM指令寻址方式. 15 2.2.3 Thumb指令概述. 17 2.3 典型ARM处理器简介. 17 2.3.1 Atmel AT91RM9200. 17 2.3.2 Samsung S3C2410 . 18 2.3.3 TI OMAP1510/1610系列. 19 2.3.4 Freescale i.Max21 . 22 2.3.5 Intel Xscale PXA系列. 2

9、3 2.4 三星S3C2410开发板. 24 2.4.1 三星S3C2410开发板介绍. 24 2.4.2 众多的开发板供应商. 26 第3章 Linux编程环境. 28 2 嵌入式 系统开发技术详解基于ARM 3.1 Linux常用工具. 28 3.1.1 Shell简介. 28 3.1.2 常用Shell命令. 30 3.1.3 编写Shell脚本. 38 3.1.4 正则表达式. 42 3.1.5 程序编辑器. 44 3.2 Makefile . 48 3.2.1 GNU make . 48 3.2.2 Makefile规则语法. 49 3.2.3 Makefile文件中变量的使用. 5

10、1 3.3 二进制代码工具的使用. 52 3.3.1 GNU Binutils工具介绍. 52 3.3.2 Binutils工具软件使用. 54 3.4 编译器GCC的使用. 54 3.4.1 GCC编译器介绍. 54 3.4.2 GCC编译选项解析. 56 3.5 调试器GDB的使用技巧. 60 3.5.1 GDB调试器介绍. 60 3.5.2 GDB调试命令. 61 3.6 Linux编程库. 66 3.6.1 Linux编程库介绍. 66 3.6.2 Linux系统调用. 67 3.6.3 Linux线程库. 70 第4章 交叉开发环境. 73 4.1 交叉开发环境介绍. 73 4.1.

11、1 交叉开发概念模型. 73 4.1.2 目标板与主机之间的连接. 75 4.1.3 文件传输. 76 4.1.4 网络文件系统. 77 4.2 安装交叉编译工具. 78 4.2.1 获取交叉开发工具链. 78 4.2.2 主机安装工具链. 79 4.3 主机开发环境配置. 80 4.3.1 主机环境配置. 80 4.3.2 串口控制台工具. 81 4.3.3 DHCP服务. 84 4.3.4 TFTP服务. 85 4.3.5 NFS服务. 86 第1 章 目录 3 4.4 启动目标板. 88 4.4.1 系统引导过程. 88 4.4.2 内核解压启动. 89 4.4.3 挂接根文件系统. 9

12、0 4.5 应用程序的远程交叉调试. 91 4.5.1 交叉调试的模型. 91 4.5.2 交叉调试程序实例. 92 第5章 交叉开发工具链. 94 5.1 工具链软件. 94 5.1.1 相关软件工程. 94 5.1.2 软件版本的匹配. 95 5.1.3 工具链制作流程. 97 5.2 制作交叉编译器. 98 5.2.1 准备编译环境. 98 5.2.2 编译binutils. 99 5.2.3 编译GCC的辅助编译器. 100 5.2.4 编译生成glibc库. 101 5.2.5 编译生成完整的GCC编译器. 105 5.3 制作交叉调试器. 106 5.3.1 编译交叉调试器. 10

13、6 5.3.2 编译gdbserver . 106 第6章 Bootloader. 108 6.1 Bootloader . 108 6.1.1 Bootloader介绍. 108 6.1.2 Bootloader的启动. 109 6.1.3 Bootloader的种类.111 6.2 U-Boot编程.113 6.2.1 U-Boot工程简介.113 6.2.2 U-Boot源码结构.113 6.2.3 U-Boot的编译.114 6.2.4 U-Boot的移植.117 6.2.5 添加U-Boot命令.118 6.3 U-Boot的调试. 121 6.3.1 硬件调试器. 121 6.3.2 软件跟踪. 121 6.3.3 U-Boot启动过程. 123 6.3.4 U-Boot与内核的关系. 128 4 嵌入式 系统开发技术详解基于ARM 6.4 使用U-Boot. 133 6.4.1 烧写U-Boot到Flash . 134 6.4.2 U-Boot的常用命令. 134 6.4.3 U-Boot的环境变量. 141 第7章 配置编译内核. 143 7.1 Linux内核特点. 143 7.1.1 Linux内核版本介绍. 143 7.1.2 Linux内核特点.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 网络技术 > 热门技术

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报