书籍详情
零基础学嵌入式Linux C编程
作者:陈立伟,王桐,杨蕾 编著
出版社:机械工业出版社
出版时间:2010-08-01
ISBN:9787111307181
定价:¥55.00
购买这本书可以去
内容简介
《零基础学嵌入式Linux C编程》分为4篇,共20章,主要内容包括:嵌入式系统基础知识,Linux环境下C语言的开发,构建嵌入式Linux开发环境,Linux下c编程基础,数据、运算符和表达式,数据的输入和输出,基本语句,数组,函数、编译预处理,动态内存的堆与栈,指针、回调函数、结构体与共同体,Linux C语言嵌入汇编语言与移植性问题,嵌人式Linux环境下GUI开发技术,嵌入式Linux设备驱动开发,Linux文件操作,进程控制,线程控制,嵌入式网络防御体系设计实例,Linux 视频采集与传输实例,ARM Linux 指纹识别实例等。全书重点突出,层次分明,注重知识的系统性、针对性和先进性;注重理论联系实践,培养工程应用能力。《零基础学嵌入式Linux C编程》不仅介绍详细的理论基础知识,还提供大量的开发案例作参考,可读性和实用性强。适合没有或者缺乏嵌入式Linux 程序设计经验的初学者作为嵌入式Linux 语言开发的自学教材,同时也适合已掌握C语言基础编程技术,需要提高嵌入式C语言编程实践能力,以及对嵌入式Linux编程感兴趣的程序员阅读。《零基础学嵌入式Linux C编程》的配套光盘给出了书中的实例文件、开发过程的操作录像文件、常用元器件及芯片等丰富的拓展资源,极大地方便了读者自学,动手实践。
作者简介
暂缺《零基础学嵌入式Linux C编程》作者简介
目录
前言
第一篇 开发基础
第1章 嵌入式系统基础知识
1.1 嵌入式系统概述
1.1.1 嵌入式系统的定义
1.1.2 嵌入式系统的特点
1.1.3 嵌入式系统的发展历史
1.1.4 嵌入式系统的应用领域
1.1.5 嵌入式系统与PC之间的区别
1.2 嵌入式系统的组成
1.3 典型的嵌入式操作系统
1.4 ARM处理器平台介绍
1.5 嵌入式系统开发
1.6 嵌入式Linux软件设计
1.6.1 嵌入式Linux软件需求分析
1.6.2 嵌入式Linux软件架构设计
1.7 实践拓展
1.8 思考与练习
第2章 Linux环境下C语言的开发
2.1 C语言简单回顾
2.2 Linux下的C语言开发环境
2.3 嵌入式Linux语言的开发
2.4 Linux系统
2.4.1 Linux的安装、启动与关闭
2.4.2 Linux的基本使用
2.4.3 Linux的常用命令
2.5 嵌入式Linux中程序的运行原理
2.6 实践拓展
2.7 思考与练习
第3章 构建嵌入式Linux开发环境
3.1 嵌入式系统开发环境的构建
3.2 移植U-Boot
3.2.1 BooLoader概述
3.2.2 U-Boot分析与移植
3.3 嵌入式Linux操作系统内核编译
3.3.1 内核的配置
3.3.2 内核编译的过程
3.4 内核的移植
3.5 实践拓展
3.6 思考与练习
第二篇 基础编程
第4章 Linux下C编程基础
4.1 嵌入式Linux语言编程概述
4.2 嵌入式Linux编辑器
4.2.1 Vi的基本模式
4.2.2 Vi的基本操作
4.2.3 Vi的使用实例分析
4.3 嵌入式Linux编译器GCC
4.3.1 GCC编译流程分析
4.3.2 GCC编译选项分析
4.3.3 GCC使用的库函数
4.4 嵌入式Linux调试器GDB的使用
4.4.1 GDB使用实例
4.4.2 GDB的帮助命令
4.4.3 设置/删除断点
4.4.4 数据相关命令
4.4.5 调试运行环境相关命令
4.4.6 堆栈相关命令
4.5 make工程管理器
4.5.1 Makefile文件的构成
4.5.2 Makefile变量
4.5.3 make的使用
4.6 Emacs综合编辑器
4.6.1 Emacs的启动与退出
4.6.2 Emacs的基本编辑
4.6.3 Emacs的C模式
4.6.4 Emacs的Shell模式
4.7 实践拓展
4.8 思考与练习
第5章 数据、运算符和表达式
5.1 C程序的结构和语法规则
5.2 c程序语句概述
5.3 基本概念
5.3.1 标识符
5.3.2 关键字
5.3.3 常量
5.3.4 变量
5.4 基本数据类型
5.4.1 整型变量及其常量
5.4.2 浮点型变量及其常量
5.4.3 字符型变量及其常量
5.4.4 长整型、短整型和无符号整型
5.4.5 类型定义typecdef
5.5 算术运算符、赋值运算符及翼表达式
5.5.1 算术运算符和算术表达式
5.5.2 赋值运算符和赋值表达式
5.6 关系运算符、逻辑运算符及舅表达式
5.6.1 关系运算符和关系表达式
5.6.2 逻辑运算符和逻辑表达式
5.7 逗号运算符和逗号表达式
5.8 变量的初始化
5.9 不同类型数据之间的转换
5.9.1 自动类型转换
5.9.2 强制类型转换
5.1 0实践拓展
5.1 1思考与练习
第6章 数据的输入和输出
6.1 数据的输出
6.1.1 字符输出函数putchar()
6.1.2 格式输出函数printf()
6.2 数据的输入
6.2.1 字符输入函数getchar()
6.2.2 格式输入函数scanf()
6.3 实践拓展
6.4 思考与练习
第7章 基本语句
7.1 结构化程序设计概述
7.2 语句和复合语句
7.3 条件语句
7.3.1 if语句
7.3.2 条件运算符
7.3.3 switch语句
7.4 循环控制
7.4.1 while循环语句
7.4.2 do-while循环语句
7.4.3 for循环语句
7.4.4 got0语句
7.4.5 break语句和continue语句
7.5 实践拓展
7.6 思考与练习
第8章 数组
8.1 一维数组
8.1.1 一维数组的定义和引用
8.1.2 一维数组元素的初始化
8.2 二维数组
8.2.1 二维数组的定义和引用
8.2.2 二维数组元素的初始化
8.3 字符数组和字符串
8.3.1 字符数组
8.3.2 字符串和字符串结束标志
8.3.3 字符串处理函数
8.4 实践拓展
8.5 思考与练习
第9章 函数、编译预处理
9.1 函数的概念
9.2 函数的定义和调用
9.2.1 函数的定义
9.2.2 函数的调用
9.3 函数的返回值
9.4 函数的参数及其传递方式
9.4.1 非数组作为函数参数
9.4.2 数组作为函数参数
9.5 函数的嵌套调用和递归调用
9.5.1 函数的嵌套调用
9.5.2 函数的递归调用
9.6 变量的作用域及其存储类型
9.6.1 局部变量及其存储类型
9.6.2 全局变量及其存储类型
9.7 内部函数和外部函数
9.8 编译预处理
9.8.1 宏定义
9.8.2 文件包含处理
9.8.3 条件编译
9.9 实践拓展
9.10 思考与练习
第10章 动态内存的堆与栈
10.1 程序内存区域的使用
10.1.1 C语言程序的存储区域
10.1.2 C语言中的动态内存
10.2 C程序中栈的应用
10.3 c程序中堆空间的使用
10.4 堆内存和栈内存使用的比较
10.5 实践拓展
10.6 思考与练习
第11章 指针、回调函数,结构体与共同体
11.1 指针
11.1.1 指针的概念
11.1.2 变量的指针和指向变量的指针变量
11.1.3 数组的指针和指向数组的指针变量
11.1.4 字符串的指针和指向字符串的指针变量
11.1.5 函数的指针和指向函数的指针变量
11.1.6 指针数组和指向指针的指针
11.2 回调函数
11.2.1 回调函数的概念与作用
11.2.2 回调函数的语法
11.3 结构体
11.3.1 结构体类型变量
11.3.2 结构体数组
11.3.3 指向结构体类型数据的指针
11.3.4 用指针处理链表
11.4 共同体
11.5 实践拓展
11.6 思考与练习
第12章 Linux C语言嵌入汇编语言与移植性问题
12.1 嵌入汇编语言
12.1.1 C和汇编的接口
12.1.2 内嵌汇编的语法
12.1.3 memory描述符
12.1.4 GCC对内嵌汇编语言的处理方式
12.2 嵌入式Linux可移植性问题
12.2.1 字长和数据类型:
12.2.2 数据对齐
12.2.3 字节顺序
12.3 实践拓展
12.4 思考与练习
第三篇 高级编程
第13章 嵌入式Linux环境下GUI开发技术
13.1 嵌入式图形用户界面概述:
13.2 Linux下几种主流的GUI
13.2.1 MiniGUI
13.2.2 Qt/Embedded
13.2.3 Micr0Windows
13.2.4 OpenGUI
13.2.5 GTK+
13.3 基于G1x+的图形界面编程
13.3.1 GTK+程序的初始化与退出
13.3.2 GTK+预定义的函数和数据类型
13.3.3 回调函数
13.3.4 GTK+的事件处理
13.3.5 使用GTK+实现“Hell0World程序
13.3.6 编译GTK+程序
13.3.7 在GTK+中排列控件
13.3.8 常用控件
13.4 实践拓展
13.5 思考与练习
第14章 嵌入式Linux设备驱动开发
14.1 Linux设备驱动程序概述
14.2 Linux设备驱动程序与内核的关系
14.3 Linux设备驱动程序开发基础
14.3.1 内存管理问题
14.3.2 中断处理
14.3.3 I/O端口
14.3.4 DMA处理
14.3.5 时间流
14.4 字符设备驱动
14.4.1 字符设备驱动相关函数和结构体
14.4.2 字符设备驱动程序实例
……
第15章 Linux文件操作
第16章 进程
第17章 线程控制
第四篇 综合实例
第18章 嵌入式网络防御体系设计
第19章 ARM Linux视频采集与传输
第20章 ARM Linux指纹识别
附录A 嵌入式Linux函数索引
附录B Linux Shell常用命令索引
参考文献
第一篇 开发基础
第1章 嵌入式系统基础知识
1.1 嵌入式系统概述
1.1.1 嵌入式系统的定义
1.1.2 嵌入式系统的特点
1.1.3 嵌入式系统的发展历史
1.1.4 嵌入式系统的应用领域
1.1.5 嵌入式系统与PC之间的区别
1.2 嵌入式系统的组成
1.3 典型的嵌入式操作系统
1.4 ARM处理器平台介绍
1.5 嵌入式系统开发
1.6 嵌入式Linux软件设计
1.6.1 嵌入式Linux软件需求分析
1.6.2 嵌入式Linux软件架构设计
1.7 实践拓展
1.8 思考与练习
第2章 Linux环境下C语言的开发
2.1 C语言简单回顾
2.2 Linux下的C语言开发环境
2.3 嵌入式Linux语言的开发
2.4 Linux系统
2.4.1 Linux的安装、启动与关闭
2.4.2 Linux的基本使用
2.4.3 Linux的常用命令
2.5 嵌入式Linux中程序的运行原理
2.6 实践拓展
2.7 思考与练习
第3章 构建嵌入式Linux开发环境
3.1 嵌入式系统开发环境的构建
3.2 移植U-Boot
3.2.1 BooLoader概述
3.2.2 U-Boot分析与移植
3.3 嵌入式Linux操作系统内核编译
3.3.1 内核的配置
3.3.2 内核编译的过程
3.4 内核的移植
3.5 实践拓展
3.6 思考与练习
第二篇 基础编程
第4章 Linux下C编程基础
4.1 嵌入式Linux语言编程概述
4.2 嵌入式Linux编辑器
4.2.1 Vi的基本模式
4.2.2 Vi的基本操作
4.2.3 Vi的使用实例分析
4.3 嵌入式Linux编译器GCC
4.3.1 GCC编译流程分析
4.3.2 GCC编译选项分析
4.3.3 GCC使用的库函数
4.4 嵌入式Linux调试器GDB的使用
4.4.1 GDB使用实例
4.4.2 GDB的帮助命令
4.4.3 设置/删除断点
4.4.4 数据相关命令
4.4.5 调试运行环境相关命令
4.4.6 堆栈相关命令
4.5 make工程管理器
4.5.1 Makefile文件的构成
4.5.2 Makefile变量
4.5.3 make的使用
4.6 Emacs综合编辑器
4.6.1 Emacs的启动与退出
4.6.2 Emacs的基本编辑
4.6.3 Emacs的C模式
4.6.4 Emacs的Shell模式
4.7 实践拓展
4.8 思考与练习
第5章 数据、运算符和表达式
5.1 C程序的结构和语法规则
5.2 c程序语句概述
5.3 基本概念
5.3.1 标识符
5.3.2 关键字
5.3.3 常量
5.3.4 变量
5.4 基本数据类型
5.4.1 整型变量及其常量
5.4.2 浮点型变量及其常量
5.4.3 字符型变量及其常量
5.4.4 长整型、短整型和无符号整型
5.4.5 类型定义typecdef
5.5 算术运算符、赋值运算符及翼表达式
5.5.1 算术运算符和算术表达式
5.5.2 赋值运算符和赋值表达式
5.6 关系运算符、逻辑运算符及舅表达式
5.6.1 关系运算符和关系表达式
5.6.2 逻辑运算符和逻辑表达式
5.7 逗号运算符和逗号表达式
5.8 变量的初始化
5.9 不同类型数据之间的转换
5.9.1 自动类型转换
5.9.2 强制类型转换
5.1 0实践拓展
5.1 1思考与练习
第6章 数据的输入和输出
6.1 数据的输出
6.1.1 字符输出函数putchar()
6.1.2 格式输出函数printf()
6.2 数据的输入
6.2.1 字符输入函数getchar()
6.2.2 格式输入函数scanf()
6.3 实践拓展
6.4 思考与练习
第7章 基本语句
7.1 结构化程序设计概述
7.2 语句和复合语句
7.3 条件语句
7.3.1 if语句
7.3.2 条件运算符
7.3.3 switch语句
7.4 循环控制
7.4.1 while循环语句
7.4.2 do-while循环语句
7.4.3 for循环语句
7.4.4 got0语句
7.4.5 break语句和continue语句
7.5 实践拓展
7.6 思考与练习
第8章 数组
8.1 一维数组
8.1.1 一维数组的定义和引用
8.1.2 一维数组元素的初始化
8.2 二维数组
8.2.1 二维数组的定义和引用
8.2.2 二维数组元素的初始化
8.3 字符数组和字符串
8.3.1 字符数组
8.3.2 字符串和字符串结束标志
8.3.3 字符串处理函数
8.4 实践拓展
8.5 思考与练习
第9章 函数、编译预处理
9.1 函数的概念
9.2 函数的定义和调用
9.2.1 函数的定义
9.2.2 函数的调用
9.3 函数的返回值
9.4 函数的参数及其传递方式
9.4.1 非数组作为函数参数
9.4.2 数组作为函数参数
9.5 函数的嵌套调用和递归调用
9.5.1 函数的嵌套调用
9.5.2 函数的递归调用
9.6 变量的作用域及其存储类型
9.6.1 局部变量及其存储类型
9.6.2 全局变量及其存储类型
9.7 内部函数和外部函数
9.8 编译预处理
9.8.1 宏定义
9.8.2 文件包含处理
9.8.3 条件编译
9.9 实践拓展
9.10 思考与练习
第10章 动态内存的堆与栈
10.1 程序内存区域的使用
10.1.1 C语言程序的存储区域
10.1.2 C语言中的动态内存
10.2 C程序中栈的应用
10.3 c程序中堆空间的使用
10.4 堆内存和栈内存使用的比较
10.5 实践拓展
10.6 思考与练习
第11章 指针、回调函数,结构体与共同体
11.1 指针
11.1.1 指针的概念
11.1.2 变量的指针和指向变量的指针变量
11.1.3 数组的指针和指向数组的指针变量
11.1.4 字符串的指针和指向字符串的指针变量
11.1.5 函数的指针和指向函数的指针变量
11.1.6 指针数组和指向指针的指针
11.2 回调函数
11.2.1 回调函数的概念与作用
11.2.2 回调函数的语法
11.3 结构体
11.3.1 结构体类型变量
11.3.2 结构体数组
11.3.3 指向结构体类型数据的指针
11.3.4 用指针处理链表
11.4 共同体
11.5 实践拓展
11.6 思考与练习
第12章 Linux C语言嵌入汇编语言与移植性问题
12.1 嵌入汇编语言
12.1.1 C和汇编的接口
12.1.2 内嵌汇编的语法
12.1.3 memory描述符
12.1.4 GCC对内嵌汇编语言的处理方式
12.2 嵌入式Linux可移植性问题
12.2.1 字长和数据类型:
12.2.2 数据对齐
12.2.3 字节顺序
12.3 实践拓展
12.4 思考与练习
第三篇 高级编程
第13章 嵌入式Linux环境下GUI开发技术
13.1 嵌入式图形用户界面概述:
13.2 Linux下几种主流的GUI
13.2.1 MiniGUI
13.2.2 Qt/Embedded
13.2.3 Micr0Windows
13.2.4 OpenGUI
13.2.5 GTK+
13.3 基于G1x+的图形界面编程
13.3.1 GTK+程序的初始化与退出
13.3.2 GTK+预定义的函数和数据类型
13.3.3 回调函数
13.3.4 GTK+的事件处理
13.3.5 使用GTK+实现“Hell0World程序
13.3.6 编译GTK+程序
13.3.7 在GTK+中排列控件
13.3.8 常用控件
13.4 实践拓展
13.5 思考与练习
第14章 嵌入式Linux设备驱动开发
14.1 Linux设备驱动程序概述
14.2 Linux设备驱动程序与内核的关系
14.3 Linux设备驱动程序开发基础
14.3.1 内存管理问题
14.3.2 中断处理
14.3.3 I/O端口
14.3.4 DMA处理
14.3.5 时间流
14.4 字符设备驱动
14.4.1 字符设备驱动相关函数和结构体
14.4.2 字符设备驱动程序实例
……
第15章 Linux文件操作
第16章 进程
第17章 线程控制
第四篇 综合实例
第18章 嵌入式网络防御体系设计
第19章 ARM Linux视频采集与传输
第20章 ARM Linux指纹识别
附录A 嵌入式Linux函数索引
附录B Linux Shell常用命令索引
参考文献
猜您喜欢