《嵌入式Linux C编程入门(第2版)》

图书作者:华清远见 丛书名称: 嵌入式开发系列 出版日期: 2009年10月 PDF电子版免费下载

编辑推荐理由

推荐评分:5.0分

多年嵌入式人才培养及项目研发经验总结

数百家企业嵌入式研发岗位人才需求汇总

数十所嵌入式专业大学院校教学现状调研

侧重实践及案例分析并辅以代码加以讲解

图书简介

嵌入式系统是目前最热门的计算机应用领域之一,嵌入式linux是应用最广泛的嵌入式操作系统之一,嵌入式c语言在其中起着至关重要的作用。
  • 本书共13章,全面讲解了嵌入式系统基础,嵌入式linux c语言开发工具、语言基础,文件i/o相关实例,arm linux进程线程开发实例,arm linux网络开发实例,嵌入式linux设备驱动开发以及视频监控系统。
  • 本书可作为大中专院校嵌入式相关专业本科生、研究生的教材,也可供广大希望转入嵌入式领域的科研和工程技术人员使用。

图书目录

  • ※ 第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.2 for循环语句 
  • 5.3.1 while和do-while语句
  • 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.2 预定义 
  • 7.1.1 预处理的概念 
  • 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.1 驱动简介 
  • 12.5 简单的skull驱动实例 
  • 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 线程相关
  • 本章小结 
  • 动手练练