《嵌入式Linux应用开发教程》

图书作者:华清远见 丛书名称: 21世纪高等学校计算机规划教材 出版日期:2009年10月

编辑推荐理由

推荐评分:5.0分

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

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

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

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

图书简介

本书重点介绍嵌入式linux应用开发的基本概念和核心理论。全书分为3大部分,包括嵌入式linux开发基础知识、嵌入式linux c编程知识和嵌入式linux应用开发知识。本书在讲解中给出了翔实的实例,并在部分章节的后面详细设计并分析了贴近实践的实验内容。
  • 本书可作为高等院校计算机类、电子类、电气类、控制类专业高年级本科生、研究生学习嵌入式linux应用开发的教材,也可供希望转入嵌入式领域的科研和工程技术人员参考使用。...

图书目录

  • ※第1章 嵌入式系统基础 

  • 1.1 嵌入式系统概述 
  • 1.1.1 嵌入式系统的基本概念 
  • 1.1.2 嵌入式系统的体系结构 
  • 1.1.3 几种常用的嵌入式操作系统 
  • 1.1.4 嵌入式系统发展趋势 
  • 1.2 arm处理器硬件开发平台 
  • 1.2.1 嵌入式处理器简介 
  • 1.2.2 arm处理器简介 
  • 1.2.3 s3c2410处理器介绍 
  • 1.3 嵌入式软件开发流程 
  • 1.3.1 嵌入式系统开发概述 
  • 1.3.2 嵌入式软件开发概述 
  • 1.4 实验内容:使用jtag烧写nand flash 
  • 小结 
  • 思考与练习 
  • ※第2章 嵌入式linux c语言程序开发工具 

  • 2.1 嵌入式linux下c语言概述 
  • 2.2 编辑器vim 
  • 2.2.1 vim的基本模式 
  • 2.2.2 vim的基本操作
  • 2.3 编译器gcc 
  • 2.3.1 gcc的简介 
  • 2.3.2 gcc的编译流程 
  • 2.3.3 gcc的常用编译选项 
  • 2.4 调试器gdb 
  • 2.4.1 gdb使用流程 
  • 2.4.2 gdb基本命令 
  • 2.4.3 gdbserver远程调试
  • 2.5 make工程管理器 
  • 2.5.1 makefile基本结构
  • 2.5.2 makefile变量 
  • 2.5.3 makefile规则 
  • 2.5.4 make管理器的使用 
  • 2.6 autotools 
  • 2.6.1 autotools使用流程 
  • 2.6.2 使用autotools所生成的makefile 
  • 2.7 实验内容 
  • 2.7.1 vim使用练习 
  • 2.7.2 用gdb调试程序的bug
  • 2.7.3 编写包含多文件的makefile 
  • 2.7.4 使用autotools生成包含多文件的makefile 
  • 小结 
  • 思考与练习 
  • ※第3章 嵌入式linux c语言基础

  • 3.1 预处理 
  • 3.1.1 预定义 
  • 3.1.2 文件包含 
  • 3.1.3 条件编译 
  • 3.2 c语言中的内存分配 
  • 3.2.1 c语言程序所占内存分类 
  • 3.2.2 堆和栈的区别 
  • 3.3 程序的可移植性考虑 
  • 3.3.1 字长和数据类型
  • 3.3.2 数据对齐 
  • 3.3.3 字节顺序 
  • 3.4 c和汇编的接口 
  • 3.4.1 内嵌汇编的语法 
  • 3.4.2 编译器优化介绍 
  • 3.4.3 c语言关键字volatile 
  • 3.4.4 memory描述符 
  • 3.5 arm linux内核常见数据结构 
  • 3.5.1 链表 
  • 3.5.2 树、二叉树、平衡树 
  • 3.5.3 哈希表 
  • 小结 
  • 思考与练习 
  • ※第4章 嵌入式linux开发环境的搭建 

  • 4.1 构建嵌入式linux开发环境 
  • 4.1.1 嵌入式交叉编译环境搭建 
  • 4.1.2 主机交叉开发环境配置 
  • 4.2 bootloader 
  • 4.2.1 bootloader的种类 
  • 4.2.2 u-boot编译与使用 
  • 4.2.3 u-boot移植 
  • 4.3 linux内核与移植 
  • 4.3.1 linux内核结构 
  • 4.3.2 linux内核配置与编译 
  • 4.3.3 linux内核移植 
  • 4.4 嵌入式文件系统构建 
  • 小结 
  • 思考与练习 
  • ※第5章 嵌入式linux文件i/o编程 

  • 5.1 linux系统调用及用户编程接口 
  • 5.1.1 系统调用 
  • 5.1.2 用户编程接口 
  • 5.1.3 系统命令 
  • 5.2 linux文件i/o系统概述 
  • 5.2.1 虚拟文件系统 
  • 5.2.2 通用文件模型 
  • 5.2.3 linux中文件及文件描述符 
  • 5.3 底层文件i/o操作
  • 5.3.1 基本文件操作
  • 5.3.2 文件锁 
  • 5.3.3 多路复用 
  • 5.4 嵌入式linux串口应用编程 
  • 5.4.1 串口概述 
  • 5.4.2 串口设置详解 
  • 5.4.3 串口使用详解 
  • 5.5 标准i/o编程 
  • 5.5.1 基本操作 
  • 5.5.2 其他操作 
  • 5.6 实验内容 
  • 5.6.1 文件读写及上锁
  • 5.6.2 多路复用式串口操作
  • 小结 
  • 思考与练习 
  • ※第6章 嵌入式linux多任务编程 

  • 6.1 linux下多任务概述
  • 6.1.1 任务 
  • 6.1.2 进程 
  • 6.1.3 线程 
  • 6.2 进程控制编程 
  • 6.2.1 进程编程基础 
  • 6.2.2 linux守护进程 
  • 6.3 进程间通信 
  • 6.3.1 linux下进程间通信概述 
  • 6.3.2 管道通信 
  • 6.3.3 信号通信 
  • 6.3.4 信号量 
  • 6.3.5 共享内存 
  • 6.3.6 消息队列 
  • 6.4 多线程编程 
  • 6.4.1 线程基本编程 
  • 6.4.2 线程之间的同步与互斥 
  • 6.4.3 线程属性 
  • 6.5 实验内容 
  • 6.5.1 编写多进程程序 
  • 6.5.2 编写守护进程 
  • 6.5.3 有名管道通信实验 
  • 6.5.4 共享内存实验 
  • 6.5.5 多线程实验 
  • 小结 
  • 思考与练习 
  • ※第7章 嵌入式linux网络编程 

  • 7.1 tcp/ip概述
  • 7.1.1 tcp/ip的分层模型
  • 7.1.2 tcp/ip分层模型特点 
  • 7.1.3 tcp/ip核心协议 
  • 7.2 网络编程基本知识 
  • 7.2.1 套接字概述 
  • 7.2.2 地址及顺序处理 
  • 7.2.3 套接字编程 
  • 7.2.4 编程实例 
  • 7.3 网络高级编程 
  • 7.4 web服务器 
  • 7.4.1 web服务器的工作原理 
  • 7.4.2 web服务器的编程实现 
  • 7.4.3 运行web服务器 
  • 7.5 实验内容:ntp的客户端实现
  • 小结 
  • 思考与练习 
  • ※第8章 嵌入式linux设备驱动编程 

  • 8.1 设备驱动编程基础
  • 8.1.1 linux设备驱动概述
  • 8.1.2 linux内核模块编程 
  • 8.2 字符设备驱动编程 
  • 8.2.1 字符设备驱动编写流程 
  • 8.2.2 重要数据结构 
  • 8.2.3 设备驱动程序主要组成 
  • 8.3 gpio驱动程序实例 
  • 8.3.1 gpio工作原理 
  • 8.3.2 gpio驱动程序 
  • 8.4 按键驱动程序实例 
  • 8.4.1 中断编程 
  • 8.4.2 按键工作原理 
  • 8.4.3 按键驱动程序 
  • 8.4.4 按键驱动的测试程序 
  • 小结 
  • 思考与练习 
  • ※第9章 qt图形编程 

  • 9.1 嵌入式gui简介 
  • 9.1.1 qt/embedded 
  • 9.1.2 minigui 
  • 9.1.3 microwindows、tiny x等 
  • 9.2 qt/embedded开发入门
  • 9.2.1 qt/embedded介绍 
  • 9.2.2 qt/embedded信号和插槽机制 
  • 9.2.3 搭建qt/embedded开发环境 
  • 9.2.4 qt/embedded窗口部件 
  • 9.2.5 qt/embedded图形界面编程 
  • 9.2.6 qt/embedded对话框设计 
  • 9.3 实验内容:使用qt编写“hello,world”程序 
  • 小结 
  • 思考与练习 
  • ※第10章 综合实例??视频监控系统 

  • 10.1 视频监控系统概述 
  • 10.1.1 系统组成 
  • 10.1.2 音视频服务器 
  • 10.1.3 音视频客户端 
  • 10.1.4 通信传输控制协议 
  • 10.2 基本数据结构 
  • 10.3 功能实现 
  • 10.3.1 传输控制 
  • 10.3.2 用户检验 
  • 10.3.3 控制命令处理 
  • 10.3.4 云台转动控制 
  • 10.3.5 线程相关 
  • 小结 
  • 思考与练习 
  • 参考文献