基本信息·出版社:人民邮电出版社 ·页码:408 页 ·出版日期:2009年10月 ·ISBN:7115212813/9787115212818 ·条形码:9787115212818 ·版本:第2版 · ...
商家名称 |
信用等级 |
购买信息 |
订购本书 |
|
|
嵌入式 Linux C 编程入门(第2版)(附赠光盘1张) |
|
|
|
嵌入式 Linux C 编程入门(第2版)(附赠光盘1张) |
|
基本信息·出版社:人民邮电出版社
·页码:408 页
·出版日期:2009年10月
·ISBN:7115212813/9787115212818
·条形码:9787115212818
·版本:第2版
·装帧:平装
·开本:16
·正文语种:中文
·丛书名:嵌入式开发系列,国家信息技术紧缺人才培养工程系列丛书
内容简介 《嵌入式 Linux C 编程入门(第2版)》内容简介:嵌入式系统是目前最热门的计算机应用领域之一,嵌入式Linux是应用最广泛的嵌入式操作系统之一,嵌入式C语言在其中起着至关重要的作用。《嵌入式 Linux C 编程入门(第2版)》共13章,全面讲解了嵌入式系统基础,嵌入式Linux C语言开发工具、语言基础,文件I/O相关实例,ARM Linux进程线程开发实例,ARM Linux网络开发实例,嵌入式Linux设备驱动开发以及视频监控系统。
《嵌入式 Linux C 编程入门(第2版)》可作为大中专院校嵌入式相关专业本科生、研究生的教材,也可供广大希望转入嵌入式领域的科研和工程技术人员使用。
编辑推荐 《嵌入式 Linux C 编程入门(第2版)》:众多专家、厂商联合推荐,业界权威培训机构的经验总结。提供36小时嵌入式专家讨论视频和PPT课件,国家信息技术紧缺人才培养工程。
目录 第1章 嵌入式系统基础知识
1.1 嵌入式系统概述
1.1.1 嵌入式系统的发展史
1.1.2 嵌入式系统的定义与特点
1.1.3 嵌入式系统的特点
1.2 嵌入式系统的组成
1.2.1 嵌入式系统的硬件架构
1.2.2 嵌入式操作系统
1.2.3 嵌入式应用软件
1.3 ARM处理器平台介绍
1.3.1 ARM处理器简介
1.3.2 ARM处理器系列
1.3.3 ARM体系结构简介
1.3.4 S3C2410处理器简介
1.4 嵌入式系统硬件平台选型
1.4.1 硬件平台的选择
1.4.2 ARM处理器选型
1.5 嵌入式系统开发概述
1.5.1 嵌入式系统开发流程
1.5.2 嵌入式软件开发流程
本章小结
动手练练
第2章 嵌入式Linux C语言开发工具
2.1 嵌入式Linux下C语言概述
2.1.1 C语言简史
2.1.2 C语言特点
2.1.3 嵌入式Linux C语言编程环境
2.2 嵌入式Linux编辑器vi的使用
2.2.1 vi的基本模式
2.2.2 vi的基本操作
2.2.3 vi的使用实例分析
2.3 嵌入式Linux编译器GCC的使用
2.3.1 GCC概述
2.3.2 GCC编译流程分析
2.3.3 GCC警告提示
2.3.4 GCC使用库函数
2.3.5 GCC代码优化
2.4 嵌入式Linux调试器GDB的使用
2.4.1 GDB使用实例
2.4.2 设置/删除断点
2.4.3 数据相关命令
2.4.4 调试运行环境相关命令
2.4.5 堆栈相关命令
2.5 make工程管理器
2.5.1 Makefile基本结构
2.5.2 Makefile变量
2.5.3 Makefile规则
2.5.4 make使用
2.6 Emacs综合编辑器
2.6.1 Emacs的启动与退出
2.6.2 Emacs的基本编辑
2.6.3 Emacs的C模式
2.6.4 Emacs的Shell模式
本章小结
动手练练
第3章 构建嵌入式Linux系统
3.1 嵌入式系统开发环境的构建
3.1.1 嵌入式交叉编译环境搭建
3.1.2 minicom和超级终端配置及使用
3.1.3 宿主机服务配置
3.2 Bootloader
3.2.1 Bootloader的概念
3.2.2 Bootloader启动流程分析
3.2.3 U-Boot概述
3.2.4 U-Boot源码导读
3.3 编译嵌入式Linux内核
3.4 Linux内核目录结构
3.5 制作文件系统
本章小结
动手练练
第4章 嵌入式Linux C语言基础——数据、表达式
4.1 嵌入式Linux C语言概述
4.2 基本数据类型
4.2.1 整型家族
4.2.2 实型家族
4.2.3 字符型家族
4.2.4 枚举家族
4.2.5 指针家族
4.3 变量与常量
4.3.1 变量的定义
4.3.2 typedef
4.3.3 常量定义
4.3.4 ARM-Linux基本数据类型综合应用实例
4.4 运算符与表达式
4.4.1 算术运算符和表达式
4.4.2 赋值运算符和表达式
4.4.3 逗号运算符和表达式
4.4.4 位运算符和表达式
4.4.5 关系运算符和表达式
4.4.6 逻辑运算符和表达式
4.4.7 sizeof操作符
4.4.8 条件(?)运算符
4.4.9 运算符优先级总结
4.4.10 ARM-Linux运算符
综合实例
本章小结
动手练练
第5章 嵌入式Linux C语言基础——控制语句及函数
5.1 嵌入式Linux C语言程序结构概述
5.1.1 嵌入式Linux C语言3种程序结构
5.1.2 嵌入式Linux C语言基本语句
5.2 选择语句
5.2.1 if语句
5.2.2 switch语句
5.2.3 ARM-Linux选择语句应用实例
5.3 循环语句
5.3.1 while和do-while语句
5.3.2 for循环语句
5.3.3 break和continue语句
5.3.4 ARM-Linux循环语句应用实例
5.4 goto语句
5.4.1 goto语句语法
5.4.2 ARM-Linux中goto语句应用实例
5.5 函数的定义与声明
5.5.1 C语言函数概述
5.5.2 函数定义
5.5.3 函数声明
5.5.4 ARM-Linux函数定义与声明实例
5.6 函数的参数、值和基本调用
5.6.1 函数的参数
5.6.2 函数的值
5.6.3 函数的基本调用
5.7 函数的嵌套、递归调用
5.7.1 函数的嵌套调用
5.7.2 函数的递归调用
5.7.3 ARM-Linux函数调用应用实例
本章小结
动手练练
第6章 嵌入式Linux C语言基础——数组、指针与结构
6.1 数组
6.1.1 一维数组
6.1.2 字符串
6.1.3 二维数组
6.2 指针
6.2.1 指针的概念
6.2.2 指针变量的操作
6.2.3 指针和数组
6.2.4 指针高级议题
6.3 结构体与联合
6.3.1 结构体
6.3.2 联合
6.3.3 ARM-Linux指针、结构体使用实例
本章小结
动手练练
第7章 嵌入式Linux C语言基础——高级议题
7.1 预处理
7.1.1 预处理的概念
7.1.2 预定义
7.1.3 文件包含
7.1.4 条件编译
7.2 C语言中的内存分配
7.2.1 C语言程序所占内存分类
7.2.2 堆和栈的区别
7.3 嵌入式Linux可移植性考虑
7.3.1 字长和数据类型
7.3.2 数据对齐
7.3.3 字节顺序
7.4 C和汇编的接口
7.4.1 内嵌汇编的语法
7.4.2 编译器优化介绍
7.4.3 C语言关键字volatile
7.4.4 memory描述符
7.4.5 gcc对内嵌汇编语言的处理方式
本章小结
动手练练
第8章 嵌入式Linux C语言基础——ARM Linux内核常见数据结构
8.1 链表
8.1.1 链表概述
8.1.2 单向链表
8.1.3 双向链表
8.1.4 循环链表
8.1.5 ARM Linux中链表使用实例
8.2 树、二叉树、平衡树
8.2.1 树
8.2.2 二叉树
8.2.3 平衡树
8.2.4 ARM Linux中红黑树使用实例
8.3 哈希表
8.3.1 哈希表的概念及作用
8.3.2 哈希表的构造方法
8.3.3 哈希表的处理冲突方法
8.3.4 ARM Linux中哈希表使用实例
本章小结
动手练练
第9章 文件I/O相关实例
9.1 Linux系统调用及用户编程接口(API)
9.1.1 系统调用
9.1.2 用户编程接口(API)
9.1.3 系统命令
9.2 ARM Linux文件I/O系统概述
9.2.1 虚拟文件系统(VFS)
9.2.2 通用文件模型
9.2.3 ARM Linux的设备文件
9.3 文件I/O操作
9.3.1 不带缓存的文件I/O操作
9.3.2 标准I/O开发
9.4 嵌入式Linux串口应用开发
9.4.1 串口概述
9.4.2 串口设置详解
9.4.3 串口使用详解
本章小结
动手练练
第10章 ARM Linux进程线程开发实例
10.1 ARM Linux进程线程管理
10.1.1 进程描述符及任务结构
10.1.2 进程的调度
10.1.3 Linux中的线程
10.1.4 Linux中进程间通信
10.2 ARM Linux进程控制相关API
10.3 ARM Linux进程间通信API
10.3.1 管道通信
10.3.2 信号通信
10.3.3 共享内存
10.3.4 消息队列
10.4 ARM Linux线程相关API
10.5 Linux守护进程
10.5.1 守护进程概述
10.5.2 编写规则
10.5.3 守护进程实例
本章小结
动手练练
第11章 ARM Linux网络开发实例
11.1 TCP/IP协议简介
11.1.1 TCP/IP的分层模型
11.1.2 TCP/IP分层模型特点
11.1.3 TCP/IP核心协议
11.2 网络基础编程
11.2.1 socket概述
11.2.2 地址及顺序处理
11.2.3 socket基础编程
11.3 Web服务器
11.3.1 Web服务器功能
11.3.2 Web服务器协议
11.3.3 Web服务器协议
11.3.4 运行Web服务器
11.4 Traceroute程序实例
11.4.1 Traceroute原理简介
11.4.2 traceroute实例与分析
11.4.3 traceroute实例运行结果
本章小结
动手练练
第12章 嵌入式Linux设备驱动开发
12.1 设备驱动概述
12.1.1 设备驱动简介
12.1.2 设备驱动程序的特点
12.2 模块编程
12.2.1 模块编程简介
12.2.2 模块相关命令
12.2.3 模块编程流程
12.3 字符设备驱动编写
12.4 块设备驱动编写
12.4.1 块设备驱动程序描述符
12.4.2 块设备驱动编写流程
12.5 简单的skull驱动实例
12.5.1 驱动简介
12.5.2 驱动编写流程
12.5.3 结果分析
12.6 LCD驱动编写实例
12.6.1 LCD工作原理
12.6.2 LCD驱动实例
本章小结
动手练练
第13章 视频监控系统
13.1 视频监控系统概述
13.1.1 系统组成
13.1.2 音视频服务器
13.1.3 音视频客户端
13.1.4 通信传输控制协议
13.2 基本数据结构
13.3 功能实现
13.3.1 传输控制
13.3.2 用户检验
13.3.3 控制命令处理
13.3.4 云台转动控制
13.3.5 线程相关
本章小结
动手练练
……
序言 嵌入式产业现已成为中国IT产业中的一个重要的新兴产业和增长点,主要表现在:产业持续快速增长;新产品、新技术更新速度加快;应用市场空间不断拓展,终端应用产品市场规模巨大;嵌入式技术不断进步;嵌入式产业发展环境不断改善。
发展嵌入式技术可以全面提高“中国制造”核心竞争力,是实现“中国制造”向“中国创造”转变的良好契机。
工业和信息化部软件与集成电路促进中心(CSIP)作为国家软件与集成电路公共服务平台承载单位,秉承“促进产业发展,助力企业创新”的宗旨,以促进中国嵌入式产业的发展为己任,在嵌入式领域为国内广大企业提供政策保障、技术支持和培训服务,极大地促进了中国嵌入式相关产业的发展。
“国家信息技术紧缺人才培养工程系列丛书”由CSIP组织发起,在培养国家急需人才方面已经发挥了巨大作用,并将继续发挥巨大的作用。
嵌入式开发系列丛书是带领开发者进入嵌入式开发领域的最佳选择,希望能在嵌入式技术的普及、推广中发挥重大作用。
文摘 插图:
第1章 嵌入式系统基础知识
1.1 嵌入式系统概述
1.1.1 嵌入式系统的发展史
本节从现代计算机发展历史的角度来讲解嵌入式系统的由来,从而使读者能够更加深刻地理解嵌入式系统的定义、特点以及与通用计算机的区别等。
1.始于微型机时代的嵌入式应用
电子计算机诞生于1946年,在其后漫长的历史进程中,计算机始终是供养在特殊的机房中、实现数值计算的大型昂贵设备。直到20世纪70年代微处理器出现后,计算机发生了历史性的变革。以微处理器为核心的微型计算机凭借其体积小、价格低、可靠性高的优势,迅速走出机房。
微型机表现出的智能化特性引起了控制专业人士的关注,他们将微型机嵌入到一个对象体系中,实现了对象体系的智能化控制。例如,将微型计算机经电气加固、机械加固,并配置各种外围接口电路,安装到大型舰船中构成自动驾驶仪或轮机状态监测系统。
这样一来,此类计算机便失去了原来的形态和通用的计算机功能。为了区别于原有的通用计算机系统,把嵌入到对象体系中、实现对象体系智能化控制的计算机称做嵌入式计算机系统。因此,嵌入式系统诞生于微型机时代,嵌入式系统的本质是将一个计算机嵌入到一个对象体系中去,这是理解嵌入式系统的基本出发点。