微信扫一扫,移动浏览光盘
简介
本书以案例的形式系统地讲解了嵌入式Linux开发所需要的各种知识和
实际应用。全书共15章,主要介绍了嵌入式Linux系统基础、开发基础、
Linux高级编程、驱动开发,以及综合实验等部分知识,主要内容包括Shell
编程,GDB调试工具,Linux系统内核的编译、进程和线程的概念,Socket编
程,Linux图形化界面开发的技巧,Java语言在嵌入式Linux开发中的应用,
嵌入式Linux数据库,Linux驱动开发基础,字符设备驱动开发等知识,最后
通过两个综合实验巧妙地将枯燥的知识学习变成了有趣的动手实践。
本书可作为高等院校电子类、电气类、控制类等专业高年级本科生、研
究生学习嵌入式Linux的教材,也可供广大嵌入式领域的科研和工程技术人
员参考使用,还可作为相关培训班的培训教材。
目录
目录
前言
第1章 嵌入式Linux系统简介
1.1 嵌入式系统
1.1.1 概述
1.1.2 嵌入式系统的发展历史
1.1.3 嵌入式Linux的特性
1.2 嵌入式Linux操作系统简介
1.2.1 Linux系统
1.2.2 从Linux到嵌入式Linux
1.2.3 常用嵌入式Linux系统简介
1.3 常见嵌入式处理器简介
1.3.1 ARM处理
1.3.2 Motorola公司处理器
1.3.3 IBM Power PC处理器
1.3.4 Intel x86系列处理器
1.3.5 MIPS
1.4 选择开发平台
1.4.1 硬件平台的选择
1.4.2 软件平台的选择
1.4.3 集成开发环境考虑的因素
1.4.4 硬件调试工具的选择
1.4.5 软件组件的选择
第2章 Linux编程基础
2.1 Shell编程
2.2 Makefile写法
2.2.1 为什么要使用makefile
2.2.2 基本makefile结构
2.2.3 编写make规则
2.2.4 一个比较有效的makefile
2.2.5 使用autotools建立makefile
2.3 开发工具
2.3.1 Vi工具简介
2.3.2 GCC工具
2.3.3 GDB调试
2.3.4 GDB调试嵌入式系统
第3章 Linux操作系统实践
3.1 Linux操作系统分析
3.1.1 Linux源码文件系统目录
3.1.2 Linux在x86 PC机上的启动分析
3.2 Linux内核分析
3.2.1 Linux进程线程调度
3.2.2 内存管理
3.2.3 嵌入式Linux实时性解决方案
3.3 Linux操作系统的安装
3.4 内核编译实践
3.4.1 编译步骤
3.4.2 内核选项
第4章 嵌入式Linux系统交叉编译环境的安装与配置
4.1 交叉编译环境的安装
4.1.1 相关软件包的下载
4.1.2 Linux头文件的安装
4.1.3 编译安装binutils
4.1.4 编译安装gcc的c编译器
4.1.5 编译安装glibc
4.2 交叉编译环境的配置
4.2.1 Bootloader概述
4.2.2 常见的Linux bootloader的介绍
4.2.3 三星SMDK2410开发板上的bootloader分析
4.2.4 μ-Boot在s3c2410上的移植分析
第5章 Linux系统的进程与线程管理
5.1 进程/线程的概念
5.1.1 进程的概念
5.1.2 线程的概念
5.1.3 进程状态及转换
5.2 进程的基本操作
5.2.1 进程信息获取函数
5.2.2 设置进程的属性
5.2.3 创建进程
5.2.4 执行进程
5.2.5 退出进程
5.2.6 跟踪进程
5.3 进程通信与同步
5.4 线程基本操作与相关函数
5.4.1 线程的执行层次和流程
5.4.2 线程相关函数
第6章 Linux驱动开发基础
6.1 引言
6.2 模块编程
6.2.1 模块编程简介
6.2.2 helloworld模块
6.2.3 程序编译及注意事项
6.2.4 从2.4到2.6驱动开发的变化
第7章 嵌入式Linux的网络体系结构和网卡驱动
7.1 嵌入式Linux的网络协议栈结构
7.1.1 网络协议栈结构
7.1.2 嵌入式系统中实现网络协议
7.1.3 Linux TCP/IP网络协议栈
7.1.4 Linux网络设备驱动程序分析
7.1.5 网络设备驱动程序的加载
7.2 DM9000网卡驱动程序的编写
7.2.1 DM9000网卡功能简介
7.2.2 DM9000相关寄存器
7.2.3 DM9000以太网控制器的内存结构
7.2.4 DM9000网卡驱动程序分析
7.3 FTP应用程序在嵌入式Linux下的应用
7.3.1 FTP协议的描述
7.3.2 嵌入式FTP服务程序原理
第8章 嵌入式Linux中Socket套接口开发
8.1 引言
8.2 Socket编程简介
8.2.1 基本概念简介
8.2.2 服务方式
8.2.3 客户机/服务器模式
8.2.4 套接字分类
8.3 TCP Socket案例分析
8.3.1 常用函数介绍
8.3.2 代码分析
8.3.3 运行结果分析
8.4 UDP Socket案例分析
8.4.1 UDP Socket简介
8.4.2 代码分析
8.4.3 程序运行结果分析
8.5 raw socket案例分析
8.5.1 raw socket简介
8.5.2 一个简单的例子
8.5.3 程序运行结果分析
8.6 总结与提高
8.6.1 一个综合实验
8.6.2 运行结果分析
第9章 Linux字符设备驱动程序
9.1 Linux字符设备驱动程序简介
9.1.1 字符设备驱动相关函数和结构体简介
9.1.2 一个简单的字符设备驱动程序例子
9.2 Linux系统中断、异常和系统调用的分析
9.2.1 Linux系统中断的分析
9.2.2 ARM嵌入式设备对中断的处理
9.2.3 Linux系统异常的分析
9.2.4 ARM嵌入式设备对异常的处理
9.2.5 Linux系统调用的分析
9.2.6 Linux处理中断的相关函数
9.2.7 中断与异常的简单测试
9.3 Linux的LED驱动程序编写
9.3.1 LED显示输出的原理和结构
9.3.2 简单的三色LED驱动程序的编写
第10章 嵌入式USB设备的驱动开发
10.1 USB技术介绍
10.1.1 USB技术的发展历史
10.1.2 USB技术概述
10.2 USB系统构成
10.2.1 USB应用系统设计的组成
10.2.2 USB嵌入式系统的数据传输模式
10.2.3 USB应用系统的设备初始化和数据传输
10.3 USB主机驱动结构和相关函数
10.3.1 USB主机驱动结构
10.3.2 主要的通用数据结构和接口函数
10.3.3 针对特定芯片组的USB Host驱动程序
10.4 USB设备驱动结构和相关函数
10.4.1 数据结构usb_driver
10.4.2 USB数据传输相关函数
10.4.3 USB驱动程序注册函数
10.4.4 USB驱动程序卸载函数
10.5 设备类驱动与相关函数
10.5.1 Linux内核中USB鼠标实现层次
10.5.2 相关结构体和主要函数功能
10.6 设备端USB驱动
10.7 S3C2410 USB控制器
第11章 嵌入式Linux Qt程序的开发
11.1 图形用户界面的发展现状
11.2 Qt简介
11.2.1 Qt/Embeded体系结构
11.2.2 Qt编程的特点
11.2.3 QMake简介
11.3 建立Qt/Embedded开发环境
11.3.1 建立QTE开发环境
11.3.2 建立QTE程序的PC机仿真环境
11.3.3 Qt测试:编写运行Qt环境下的测试程序
11.4 一个简单的Qt程序
第12章 Java与嵌入式开发
12.1 Java简介
12.1.1 Java语言简介
12.1.2 Java语言的特点
12.1.3 Java程序的运行过程
12.1.4 Java与嵌入式的结合
12.2 Linux下的Java开发简介
12.2.1 Java开发环境设置
12.2.2 一个简单的Java程序
12.3 J2ME
12.3.1 J2ME概述
12.3.2 J2ME的体系结构
12.3.3 J2ME配置简介
12.3.4 J2ME简表
12.3.5 其他J2ME规范
12.4 使用Java语言在Palom OS上进行开发
12.4.1 Sun的解决方案:KVM、Configuration和Profile
12.4.2 Kawt的解决方案
12.4.3 IBM解决方案
12.4.4 Waba/SuperWaba解决方案
12.5 Java虚拟机
12.5.1 Java虚拟机简介
12.5.2 Java虚拟机的体系结构
12.5.3 虚拟机移植案例
第13章 嵌入式数据库的开发
13.1 嵌入式数据库介绍
13.1.1 嵌入式数据库简介
13.1.2 嵌入式实时数据库应用现状
13.1.3 常用嵌入式数据库介绍
13.2 mSQL数据库
13.2.1 mSQL构成
13.2.2 mSQL安装
13.2.3 mSQL的配置
13.3 mSQL数据库的使用
13.3.1 mSQL目录结构
13.3.2 mSQL服务器的标准命令
13.3.3 mSQL支持的SQL语句
13.3.4 mSQL数据库应用实例
13.4 利用mSQL提供的API进行二次开发
13.4.1 mSQL提供的API函数
13.4.2 案例分析
第14章 基于ARM9的嵌入式远程视频采集系统的实现
14.1 视频采集系统体系结构设计
14.1.1 视频采集系统的硬件结构
14.1.2 视频采集系统的软件结构
14.2 视频采集系统的系统程序配置
14.2.1 JFFS2文件系统的建立
14.2.2 摄像头驱动的加载
14.3 视频采集系统的应用程序配置
14.3.1 视频采集应用程序的设计
14.3.2 视频编码程序的设计
14.3.3 视频数据网络传输程序的设计
14.4 测试结果
第15章 综合实验
15.1 嵌入式开发流程简介
15.1.1 嵌入式开发的硬件结构简介
15.1.2 嵌入式开发的软件结构简介
15.1.3 嵌入式开发模式
15.1.4 嵌入式开发流程
15.2 项目背景简介
15.2.1 MIPv6基本操作简介
15.2.2 新IPv6协议,报文类型和目的选项
15.2.3 移动IPv6安全概述
15.3 实现代码分析
15.3.1 数据更新维护模块
15.3.2 解析和构造报文
15.3.3 移动检测模块
15.3.4 移动报文收发与路由优化
15.3.5 绑定模块
15.4 嵌入式开发环境搭建
15.4.1 拓扑环境的介绍
15.4.2 宿主机的安装及配置
15.4.3 μ-Boot的启动
15.4.4 MIPv6-1.1的移植
15.5 代码的调试
15.5.1 在宿主机生成目标板能够利用的FS(文件系统)
15.5.2 minicom的使用
15.5.3 镜像的下载
15.5.4 查看启动信息并修改bug
15.6 系统测试
15.6.1 软件测试简介
15.6.2 嵌入式系统测试简介
15.6.3 协议一致性测试
参考文献
前言
第1章 嵌入式Linux系统简介
1.1 嵌入式系统
1.1.1 概述
1.1.2 嵌入式系统的发展历史
1.1.3 嵌入式Linux的特性
1.2 嵌入式Linux操作系统简介
1.2.1 Linux系统
1.2.2 从Linux到嵌入式Linux
1.2.3 常用嵌入式Linux系统简介
1.3 常见嵌入式处理器简介
1.3.1 ARM处理
1.3.2 Motorola公司处理器
1.3.3 IBM Power PC处理器
1.3.4 Intel x86系列处理器
1.3.5 MIPS
1.4 选择开发平台
1.4.1 硬件平台的选择
1.4.2 软件平台的选择
1.4.3 集成开发环境考虑的因素
1.4.4 硬件调试工具的选择
1.4.5 软件组件的选择
第2章 Linux编程基础
2.1 Shell编程
2.2 Makefile写法
2.2.1 为什么要使用makefile
2.2.2 基本makefile结构
2.2.3 编写make规则
2.2.4 一个比较有效的makefile
2.2.5 使用autotools建立makefile
2.3 开发工具
2.3.1 Vi工具简介
2.3.2 GCC工具
2.3.3 GDB调试
2.3.4 GDB调试嵌入式系统
第3章 Linux操作系统实践
3.1 Linux操作系统分析
3.1.1 Linux源码文件系统目录
3.1.2 Linux在x86 PC机上的启动分析
3.2 Linux内核分析
3.2.1 Linux进程线程调度
3.2.2 内存管理
3.2.3 嵌入式Linux实时性解决方案
3.3 Linux操作系统的安装
3.4 内核编译实践
3.4.1 编译步骤
3.4.2 内核选项
第4章 嵌入式Linux系统交叉编译环境的安装与配置
4.1 交叉编译环境的安装
4.1.1 相关软件包的下载
4.1.2 Linux头文件的安装
4.1.3 编译安装binutils
4.1.4 编译安装gcc的c编译器
4.1.5 编译安装glibc
4.2 交叉编译环境的配置
4.2.1 Bootloader概述
4.2.2 常见的Linux bootloader的介绍
4.2.3 三星SMDK2410开发板上的bootloader分析
4.2.4 μ-Boot在s3c2410上的移植分析
第5章 Linux系统的进程与线程管理
5.1 进程/线程的概念
5.1.1 进程的概念
5.1.2 线程的概念
5.1.3 进程状态及转换
5.2 进程的基本操作
5.2.1 进程信息获取函数
5.2.2 设置进程的属性
5.2.3 创建进程
5.2.4 执行进程
5.2.5 退出进程
5.2.6 跟踪进程
5.3 进程通信与同步
5.4 线程基本操作与相关函数
5.4.1 线程的执行层次和流程
5.4.2 线程相关函数
第6章 Linux驱动开发基础
6.1 引言
6.2 模块编程
6.2.1 模块编程简介
6.2.2 helloworld模块
6.2.3 程序编译及注意事项
6.2.4 从2.4到2.6驱动开发的变化
第7章 嵌入式Linux的网络体系结构和网卡驱动
7.1 嵌入式Linux的网络协议栈结构
7.1.1 网络协议栈结构
7.1.2 嵌入式系统中实现网络协议
7.1.3 Linux TCP/IP网络协议栈
7.1.4 Linux网络设备驱动程序分析
7.1.5 网络设备驱动程序的加载
7.2 DM9000网卡驱动程序的编写
7.2.1 DM9000网卡功能简介
7.2.2 DM9000相关寄存器
7.2.3 DM9000以太网控制器的内存结构
7.2.4 DM9000网卡驱动程序分析
7.3 FTP应用程序在嵌入式Linux下的应用
7.3.1 FTP协议的描述
7.3.2 嵌入式FTP服务程序原理
第8章 嵌入式Linux中Socket套接口开发
8.1 引言
8.2 Socket编程简介
8.2.1 基本概念简介
8.2.2 服务方式
8.2.3 客户机/服务器模式
8.2.4 套接字分类
8.3 TCP Socket案例分析
8.3.1 常用函数介绍
8.3.2 代码分析
8.3.3 运行结果分析
8.4 UDP Socket案例分析
8.4.1 UDP Socket简介
8.4.2 代码分析
8.4.3 程序运行结果分析
8.5 raw socket案例分析
8.5.1 raw socket简介
8.5.2 一个简单的例子
8.5.3 程序运行结果分析
8.6 总结与提高
8.6.1 一个综合实验
8.6.2 运行结果分析
第9章 Linux字符设备驱动程序
9.1 Linux字符设备驱动程序简介
9.1.1 字符设备驱动相关函数和结构体简介
9.1.2 一个简单的字符设备驱动程序例子
9.2 Linux系统中断、异常和系统调用的分析
9.2.1 Linux系统中断的分析
9.2.2 ARM嵌入式设备对中断的处理
9.2.3 Linux系统异常的分析
9.2.4 ARM嵌入式设备对异常的处理
9.2.5 Linux系统调用的分析
9.2.6 Linux处理中断的相关函数
9.2.7 中断与异常的简单测试
9.3 Linux的LED驱动程序编写
9.3.1 LED显示输出的原理和结构
9.3.2 简单的三色LED驱动程序的编写
第10章 嵌入式USB设备的驱动开发
10.1 USB技术介绍
10.1.1 USB技术的发展历史
10.1.2 USB技术概述
10.2 USB系统构成
10.2.1 USB应用系统设计的组成
10.2.2 USB嵌入式系统的数据传输模式
10.2.3 USB应用系统的设备初始化和数据传输
10.3 USB主机驱动结构和相关函数
10.3.1 USB主机驱动结构
10.3.2 主要的通用数据结构和接口函数
10.3.3 针对特定芯片组的USB Host驱动程序
10.4 USB设备驱动结构和相关函数
10.4.1 数据结构usb_driver
10.4.2 USB数据传输相关函数
10.4.3 USB驱动程序注册函数
10.4.4 USB驱动程序卸载函数
10.5 设备类驱动与相关函数
10.5.1 Linux内核中USB鼠标实现层次
10.5.2 相关结构体和主要函数功能
10.6 设备端USB驱动
10.7 S3C2410 USB控制器
第11章 嵌入式Linux Qt程序的开发
11.1 图形用户界面的发展现状
11.2 Qt简介
11.2.1 Qt/Embeded体系结构
11.2.2 Qt编程的特点
11.2.3 QMake简介
11.3 建立Qt/Embedded开发环境
11.3.1 建立QTE开发环境
11.3.2 建立QTE程序的PC机仿真环境
11.3.3 Qt测试:编写运行Qt环境下的测试程序
11.4 一个简单的Qt程序
第12章 Java与嵌入式开发
12.1 Java简介
12.1.1 Java语言简介
12.1.2 Java语言的特点
12.1.3 Java程序的运行过程
12.1.4 Java与嵌入式的结合
12.2 Linux下的Java开发简介
12.2.1 Java开发环境设置
12.2.2 一个简单的Java程序
12.3 J2ME
12.3.1 J2ME概述
12.3.2 J2ME的体系结构
12.3.3 J2ME配置简介
12.3.4 J2ME简表
12.3.5 其他J2ME规范
12.4 使用Java语言在Palom OS上进行开发
12.4.1 Sun的解决方案:KVM、Configuration和Profile
12.4.2 Kawt的解决方案
12.4.3 IBM解决方案
12.4.4 Waba/SuperWaba解决方案
12.5 Java虚拟机
12.5.1 Java虚拟机简介
12.5.2 Java虚拟机的体系结构
12.5.3 虚拟机移植案例
第13章 嵌入式数据库的开发
13.1 嵌入式数据库介绍
13.1.1 嵌入式数据库简介
13.1.2 嵌入式实时数据库应用现状
13.1.3 常用嵌入式数据库介绍
13.2 mSQL数据库
13.2.1 mSQL构成
13.2.2 mSQL安装
13.2.3 mSQL的配置
13.3 mSQL数据库的使用
13.3.1 mSQL目录结构
13.3.2 mSQL服务器的标准命令
13.3.3 mSQL支持的SQL语句
13.3.4 mSQL数据库应用实例
13.4 利用mSQL提供的API进行二次开发
13.4.1 mSQL提供的API函数
13.4.2 案例分析
第14章 基于ARM9的嵌入式远程视频采集系统的实现
14.1 视频采集系统体系结构设计
14.1.1 视频采集系统的硬件结构
14.1.2 视频采集系统的软件结构
14.2 视频采集系统的系统程序配置
14.2.1 JFFS2文件系统的建立
14.2.2 摄像头驱动的加载
14.3 视频采集系统的应用程序配置
14.3.1 视频采集应用程序的设计
14.3.2 视频编码程序的设计
14.3.3 视频数据网络传输程序的设计
14.4 测试结果
第15章 综合实验
15.1 嵌入式开发流程简介
15.1.1 嵌入式开发的硬件结构简介
15.1.2 嵌入式开发的软件结构简介
15.1.3 嵌入式开发模式
15.1.4 嵌入式开发流程
15.2 项目背景简介
15.2.1 MIPv6基本操作简介
15.2.2 新IPv6协议,报文类型和目的选项
15.2.3 移动IPv6安全概述
15.3 实现代码分析
15.3.1 数据更新维护模块
15.3.2 解析和构造报文
15.3.3 移动检测模块
15.3.4 移动报文收发与路由优化
15.3.5 绑定模块
15.4 嵌入式开发环境搭建
15.4.1 拓扑环境的介绍
15.4.2 宿主机的安装及配置
15.4.3 μ-Boot的启动
15.4.4 MIPv6-1.1的移植
15.5 代码的调试
15.5.1 在宿主机生成目标板能够利用的FS(文件系统)
15.5.2 minicom的使用
15.5.3 镜像的下载
15.5.4 查看启动信息并修改bug
15.6 系统测试
15.6.1 软件测试简介
15.6.2 嵌入式系统测试简介
15.6.3 协议一致性测试
参考文献
嵌入式Linux案例开发指南
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×