搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
嵌入式Linux系统开发标准教程
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787115194756
  • 作      者:
    华清远见嵌入式培训中心编著
  • 出 版 社 :
    人民邮电出版社
  • 出版日期:
    2009
收藏
编辑推荐
  众多专家、厂商联合推荐,业界权威培训机构的经验总结。《嵌入式Linux系统开发标准教程(第2版)》配套PPT嵌入式专家讲座视频鞂式图书样章。嵌入式系统概述、ARM嵌入式处理器、Linux编程环境,嵌入式交叉开发环境、交叉杆塔工具链、Bootloader、配置编译Linux内核、Liux内核移植、内核高度技术、制作根文件系统、开源软件的应用、系统集成测试、部署Linux系统。
展开
内容介绍
  《嵌入式Linux系统开发标准教程(第2版)》以嵌入式Linux系统开发流程为主线,剖析了嵌入式Linux系统构建的各个环节。《嵌入式Linux系统开发标准教程(第2版)》从嵌入式系统基础知识和Linux编程技术讲起,接下来介绍了嵌入式Linux交叉开发环境的建立,然后分析了嵌入式Linux系统的引导程序、内核和文件系统三大组成部分,最后介绍了嵌入式Linux系统集成和部署的方法。
  《嵌入式Linux系统开发标准教程(第2版)》先以ARM平台为例,对U-Boot和Linux内核启动过程做了详细分析,为学习嵌入式Linux系统开发奠定基础,然后从概念上阐述了嵌入式Linux系统开发流程,实践上提供了具体的操作步骤,使读者能够深入理解嵌入式Linux系统的构建。
  《嵌入式Linux系统开发标准教程(第2版)》可作为高等院校电子类、电气类、控制类等专业高年级本科生、研究生学习嵌入式Linux的教材,也可供希望进入嵌入式领域的科研和工程技术人员参考使用,还可作为嵌入式培训班的教材和教辅材料。
展开
精彩书摘
  add21ine:把程序地址转换为文件名和行号。
  在命令行中带一个地址和一个可执行文件名,它就会使用这个可执行文件的调试信息指出在给出的地址上是哪个文件以及行号。
  obidump:显示目标文件信息。
  objdump工具可以反编译二进制文件,也可以对对象文件进行反汇编,并查看机器代码。
  readelf:显示elf文件信息。
  readelf命令可以显示符号、段信息、二进制文件格式的信息等,这在分析编译器如何从源代码创建二进制文件时非常有用。
  ranlib:生成索引以加快对归档文件的访问,并将其保存到这个归档文件中。
  在索引中列出了归档文件各成员所定义的可重分配目标文件。
  size:列出目标模块或文件的代码尺寸。
  size命令可以列出目标文件每一段的大小以及总体的大小。默认情况下,对于每个目标文件或者一个归档文件中的每个模块只产生一行输出。
  strings:打印可打印的目标代码字符(至少4个字符),打印字符多少可以控制。
  对于其他格式的文件,打印字符串。打印某个文件的可打印字符串,这些字符串最少4个字符长,也可以使用选项“-n”设置字符串的最小长度。默认情况下,它只打印目标文件初始化和可加载段中的可打印字符;对于其他类型的文件它打印整个文件的可打印字符,这个程序对于了解非文本文件的内容很有帮助。
展开
目录
第1章 嵌入式系统概述
1.1 嵌入式系统的定义与特点
1.2 常见的嵌入式操作系统
1.3 嵌入式Linux的发展历史
1.4 初步认识嵌入式Linux开发环境
1.5 嵌入式Linux系统开发要点

第2章 ARM嵌入式处理器
2.1 初识ARM
2.1.1 ARM公司简介
2.1.2 ARM体系结构基础
2.1.3 Linux与ARM处理器
2.2 ARM指令集
2.2.1 ARM处理器的指令集概述
2.2.2 ARM指令寻址方式
2.2.3 Thumb指令概述
2.3 典型ARM处理器简介
2.3.1 Atmel AT91RM9200
2.3.2 Samsung S3C2410
2.3.3 TI OMAP1510/1610系列
2.3.4 Freescale i.Max21
2.4 典型的嵌入式系统开发平台——三星S3C2410开发板

第3章 Linux编程环境
3.1 Linux常用工具
3.1.1 Shell简介
3.1.2 常用Shell命令
3.1.3 编写Shell脚本
3.1.4 正则表达式
3.1.5 Linux程序编辑器
3.2 Makefile简介
3.2.1 GNU make
3.2.2 Makefile规则语法
3.2.3 Makefile文件中变量的使用
3.3 二进制代码工具的使用
3.3.1 GNU Binutils工具介绍
3.3.2 Binutils工具软件使用
3.4 编译器GCC的使用
3.4.1 GCC编译器介绍
3.4.2 GCC编译选项解析
3.5 调试器GDB的使用技巧
3.5.1 GDB调试器介绍
3.5.2 GDB调试命令
3.6 Linux编程库
3.6.1 Linux编程库介绍
3.6.2 Linux系统调用
3.6.3 Linux线程库

第4章 嵌入式交叉开发环境
4.1 交叉开发环境介绍
4.1.1 交叉开发概念模型
4.1.2 目标板与主机之间的连接
4.1.3 文件传输
4.1.4 网络文件系统
4.2 安装交叉编译工具
4.2.1 获取交叉开发工具链
4.2.2 主机安装工具链
4.3 主机开发环境配置
4.3.1 主机环境配置
4.3.2 串口控制台工具
4.3.3 DHCP服务
4.3.4 TFTP服务
4.3.5 NFS服务
4.4 启动目标板
4.4.1 系统引导过程
4.4.2 内核解压启动
4.4.3 挂接根文件系统
4.5 应用程序的远程交叉调试
4.5.1 交叉调试的模型
4.5.2 交叉调试程序实例

第5章 交叉开发工具链
5.1 工具链软件
5.1.1 相关软件工程
5.1.2 软件版本的匹配
5.1.3 工具链制作流程
5.2 制作交叉编译器
5.2.1 准备编译环境
5.2.2 编译binutils
5.2.3 编译GCC的辅助编译器
5.2.4 编译生成glibc库
5.2.5 编译生成完整的GCC编译器
5.3 制作交叉调试器
5.3.1 编译交叉调试器
5.3.2 编译gdbserver

第6章 Bootloader
6.1 Bootloader
6.1.1 Bootloader介绍
6.1.2 Bootloader的启动
6.1.3 Bootloader的种类
6.2 U-Boot编程
6.2.1 U-Boot工程简介
6.2.2 U-Boot源码结构
6.2.3 U-Boot的编译
6.2.4 U-Boot的移植
6.2.5 添加U-Boot命令
6.3 U-Boot的调试
6.3.1 硬件调试器
6.3.2 软件跟踪
6.3.3 U-Boot启动过程
6.3.4 U-Boot与内核的关系
6.4 使用U-Boot
6.4.1 烧写U-Boot到Flash
6.4.2 U-Boot的常用命令
6.4.3 U-Boot的环境变量

第7章 配置编译Linux 2.6内核
7.1 Linux内核特点
7.1.1 Linux内核版本介绍
7.1.2 Linux内核特点
7.1.3 Linux 2.6内核新特性
7.2 配置编译内核源码
7.2.1 内核源码结构
7.2.2 内核配置系统
7.2.3 Kbuild Makefile
7.2.4 内核编译
7.2.5 内核编译结果
7.3 内核配置选项
7.3.1 使用配置菜单
7.3.2 基本配置选项
7.3.3 驱动程序配置选项

第8章 基于ARM的Linux内核移植
8.1 移植内核源码
8.1.1 移植前的准备工作
8.1.2 开发板内核移植
8.1.3 移植后的工作
8.2 Linux内核启动过程分析
8.2.1 内核启动流程源代码分析
8.2.2 内核自引导程序
8.2.3 内核vmlinux入口
8.2.4 Linux系统初始化函数分析
8.2.5 挂接根文件系统
8.2.6 初始化设备驱动
8.2.7 启动用户空间init进程

第9章 内核调试技术
9.1 内核调试方法
9.1.1 内核调试概述
9.1.2 学会分析内核源程序
9.1.3 调试方法介绍
9.2 内核打印函数
9.2.1 内核映像解压前的串口输出函数
9.2.2 内核错误报告子程序
9.2.3 内核打印函数
9.3 如何获取内核信息
9.3.1 使用系统请求键
9.3.2 通过/proc接口
9.3.3 通过/sys接口
9.3.4 通过ioctl方法
9.4 处理出错信息
9.4.1 oops信息
9.4.2 panic
9.5 内核源码调试
9.5.1 KGDB调试内核源代码
9.5.2 BDI2000调试内核源代码

第10章 制作Linux根文件系统
10.1 根文件系统目录结构
10.1.1 FHS目录结构
10.1.2 文件存放规则
10.2 添加系统文件
10.2.1 添加共享链接库
10.2.2 添加内核模块
10.2.3 添加设备文件
10.3 init系统初始化过程
10.3.1 inittab文件
10.3.2 System V init启动过程
10.3.3 Busybox init启动过程分析
10.4 定制文件系统
10.4.1 定制应用程序
10.4.2 配置应用程序自动启动

第11章 在嵌入式系统中充分利用开源软件
11.1 开放源代码工程介绍
11.1.1 Linux系统和开源软件
11.1.2 开源软件的特点
11.2 Busybox使用
11.2.1 Busybox工程介绍
11.2.2 配置编译Busybox
11.3 X11图形系统
11.3.1 X Windows介绍
11.3.2 Tiny-X介绍
11.3.3 GTK图形库
11.4 Qt图形库
11.4.1 Qt介绍
11.4.2 Qt/Embedded介绍
11.4.3 Qt/Embedded架构
11.4.4 Qt/Embedded软件包与安装
11.5 MiniGUI图形系统
11.5.1 MiniGUI图形系统概述
11.5.2 MiniGUI移植
11.6 MicroWindows图形系统
11.7 Linux下的网络应用
11.7.1 嵌入式设备的网络化
11.7.2 TCP/IP协议概述
11.7.3 Linux下的Socket编程
11.8 嵌入式Linux的串行通信
11.8.1 Linux下的串口操作
11.8.2 Linux串口编程实例

第12章 系统集成测试
12.1 系统集成测试
12.1.1 系统集成测试概述
12.1.2 系统集成测试要求
12.2 系统跟踪工具
12.2.1 为什么需要跟踪工具
12.2.2 Strace
12.2.3 Ltrace
12.2.4 LTT
12.3 系统性能测量工具
12.3.1 代码效率测量
12.3.2 LTP
12.3.3 LMbench
12.4 测量内存泄漏
12.4.1 mtrace
12.4.2 dmalloc
12.4.3 memwatch
12.4.4 YAMD

第13章 部署Linux系统
13.1 部署Linux系统概述
13.1.1 部署Linux系统的基本流程
13.1.2 部署Linux系统的关键问题
13.2 文件系统类型
13.2.1 EXT2/EXT3
13.2.2 JFS
13.2.3 cramfs
13.2.4 JFFS/JFFS2
13.2.5 YAFFS
13.3 存储设备
13.3.1 MTD类型设备
13.3.2 磁盘类型设备
13.4 部署Linux系统
13.4.1 安装MTD工具
13.4.2 使用磁盘文件系统
13.4.3 使用RAMDISK设备
13.4.4 使用MTD设备和JFFS2文件系统
13.4.5 系统启动和升级

第14章 嵌入式Linux系统软硬件设计开发实例——GPS系统
14.1 需求分析
14.2 系统硬件设计
14.3 系统软件设计
14.4 系统集成与部署
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证