展开全部

主编推荐语

Linux系统开发与操作系统移植实验

内容简介

全书分为应用基础和实验两部分。基础部分介绍如何在Linux系统上工作与开发,系统使用侧重与开发相关的功能,软件开发侧重网络功能、多任务及设备驱动的开发。实验部分介绍从BootLoader到图形界面移植一个完整的操作系统。

目录

  • 封面
  • 书名页
  • 内容简介
  • 版权页
  • 前言
  • 目录
  • 第1部分 基 础 篇
  • 第1章 Linux系统的基本使用方法
  • 1.1 Linux系统的使用环境
  • 1.1.1 Linux系统的目录结构
  • 1.1.2 Linux系统的用户
  • 1.2 命令行工作方式
  • 1.2.1 终端
  • 1.2.2 目录操作
  • 1.2.3 文件操作
  • 1.2.4 浏览文件
  • 1.2.5 打包、压缩和解压
  • 1.2.6 进程控制
  • 1.2.7 管道与重定向
  • 1.2.8 shell脚本程序
  • 1.3 规则表达式
  • 1.4 与开发相关的常用命令
  • 1.4.1 文件比较
  • 1.4.2 文本搜索
  • 1.4.3 流编辑
  • 1.5 文本编辑工具
  • 1.5.1 vim工作模式
  • 1.5.2 vim常用编辑命令
  • 1.5.3 vim高级操作
  • 本 章 练 习
  • 本章参考资源
  • 第2章 Linux系统的主要开发工具
  • 2.1 gcc工具链
  • 2.1.1 gcc编译器
  • 2.1.2 汇编器和链接器
  • 2.2 代码分析与转换工具
  • 2.2.1 函数地址解析addr2line
  • 2.2.2 符号列表nm
  • 2.2.3 目标文件转储objdump
  • 2.2.4 代码剖析gprof
  • 2.2.5 ELF符号解析readelf
  • 2.2.6 代码瘦身strip
  • 2.3 GNU Make
  • 2.3.1 源代码的组织
  • 2.3.2 第一个Makefile
  • 2.3.3 GNU Make基本规则
  • 2.3.4 完善Makefile
  • 2.3.5 GNU Make的依赖
  • 2.4 开源软件的移植
  • 2.4.1 工具准备
  • 2.4.2 源代码的组织结构
  • 2.4.3 配置编译环境
  • 2.4.4 编译和安装
  • 2.5 调试工具
  • 2.5.1 gdb使用示例
  • 2.5.2 远程调试
  • 2.6 版本控制系统
  • 2.6.1 集中式版本控制系统svn
  • 2.6.2 追溯历史、分支与合并
  • 2.6.3 分布式版本控制系统git
  • 2.6.4 git基本操作
  • 2.6.5 git分支与合并
  • 2.7 合理地组织程序
  • 2.7.1 头文件的要求
  • 2.7.2 C语言源文件
  • 2.7.3 库的产生和作用
  • 2.7.4 项目的目录组织结构
  • 2.8 交叉编译工具链的制作
  • 本 章 练 习
  • 本章参考资源
  • 第3章 文件读写
  • 3.1 文件系统的概念
  • 3.2 文件与目录
  • 3.2.1 Linux系统中的虚拟文件系统
  • 3.2.2 Linux系统的文件类型
  • 3.2.3 改变文件属性
  • 3.3 文件描述符
  • 3.3.1 标准I/O设备
  • 3.3.2 有关文件操作的系统功能调用
  • 3.3.3 文件描述符复制
  • 3.3.4 文件描述符操作
  • 3.3.5 文件共享与读写冲突
  • 3.4 标准I/O库的文件操作
  • 3.4.1 打开文件
  • 3.4.2 文件流读写
  • 3.4.3 文件流定位
  • 3.4.4 格式化I/O文件操作函数
  • 本 章 练 习
  • 本章参考资源
  • 第4章 多任务机制
  • 4.1 理解进程的概念
  • 4.1.1 什么是进程
  • 4.1.2 进程的状态
  • 4.1.3 进程的创建和结束
  • 4.1.4 创建进程的例子
  • 4.2 进程间的数据交换
  • 4.2.1 管道
  • 4.2.2 共享内存
  • 4.2.3 消息队列
  • 4.3 守护进程
  • 4.4 线程——轻量级进程
  • 4.5 线程的竞争与同步
  • 4.5.1 互斥锁
  • 4.5.2 信号和信号量
  • 4.5.3 进程与线程的对比
  • 本 章 练 习
  • 本章参考资源
  • 第5章 网络套接字编程
  • 5.1 套接字API
  • 5.1.1 两种类型的套接口
  • 5.1.2 网络协议分层
  • 5.1.3 关闭套接口
  • 5.2 TCP网络程序分析
  • 5.2.1 网络地址
  • 5.2.2 端口
  • 5.3 TCP服务器程序设计
  • 5.4 简单的数据流对话
  • 5.5 多任务数据流对话
  • 5.6 基于数据报的对话程序
  • 本 章 练 习
  • 本章参考资源
  • 第6章 模块与设备驱动
  • 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 模块的卸载
  • 6.3.4 资源使用
  • 6.4 字符设备驱动程序
  • 6.4.1 timer的设计
  • 6.4.2 文件操作
  • 6.4.3 打开设备
  • 6.4.4 I/O控制
  • 6.4.5 阻塞型I/O
  • 6.5 设备驱动程序的使用
  • 6.5.1 驱动程序与应用程序
  • 6.5.2 内核源码中的模块结构
  • 6.5.3 将模块加入内核
  • 6.6 调试技术
  • 6.6.1 输出调试
  • 6.6.2 查询调试
  • 6.6.3 监视调试
  • 6.6.4 故障调试
  • 6.6.5 使用gdb调试工具
  • 6.6.6 使用内核调试工具
  • 6.7 硬件管理与中断处理
  • 6.7.1 I/O寄存器和常规内存
  • 6.7.2 中断
  • 6.8 内核的定时
  • 6.8.1 时间间隔
  • 6.8.2 获取当前时间
  • 6.8.3 延迟执行
  • 6.8.4 定时器
  • 本 章 练 习
  • 本章参考资源
  • 第7章 嵌入式Linux系统开发
  • 7.1 引导装载程序
  • 7.2 内核设置
  • 7.2.1 内核布局
  • 7.2.2 内核链接和装入
  • 7.2.3 参数传递和内核引导
  • 7.3 设备驱动程序
  • 7.3.1 帧缓冲区驱动程序
  • 7.3.2 输入设备驱动程序
  • 7.3.3 MTD驱动程序
  • 7.3.4 MTD驱动程序设置
  • 7.4 嵌入式设备的文件系统
  • 7.4.1 扩展文件系统
  • 7.4.2 日志闪存文件系统的第2版(JFFS2)
  • 7.4.3 tmpfs
  • 7.5 图形用户界面(GUI)
  • 7.5.1 XFree86 4.X(带帧缓冲区支持的X11R6)
  • 7.5.2 Microwindows
  • 7.5.3 Microwindows上的FLTK API
  • 7.5.4 Qt/Embedded
  • 7.6 帧缓冲
  • 第8章 GUI程序设计初步
  • 8.1 基本组件介绍
  • 8.1.1 一个简单的图形接口程序
  • 8.1.2 按钮类组件
  • 8.1.3 数据类组件
  • 8.1.4 菜单栏与工具栏
  • 8.2 画图区
  • 8.3 界面布局方法
  • 8.3.1 盒子
  • 8.3.2 表格
  • 8.3.3 对位
  • 8.3.4 便签
  • 8.3.5 对话框
  • 8.4 GTK+界面设计工具
  • 本 章 练 习
  • 本章参考资源
  • 第2部分 实 验 篇
  • 第9章 实验系统介绍
  • 9.1 实验系统性能概括
  • 9.2 软 件
  • 9.2.1 交叉编译工具链
  • 9.2.2 工具链安装
  • 9.2.3 嵌入式操作系统软件
  • 9.3 实验系统搭建
  • 第10章 嵌入式系统开发实验
  • 10.1 实验目的
  • 10.2 嵌入式系统开发过程
  • 10.2.1 串口设置(使用minicom)
  • 10.2.2 TFTP(简单文件传输协议)
  • 10.2.3 NFS服务器架设
  • 10.2.4 编译应用程序
  • 10.3 实验报告要求
  • 第11章 引导加载器
  • 11.1 实验目的
  • 11.2 BootLoader
  • 11.2.1 BootLoader的作用
  • 11.2.2 BootLoader程序结构框架
  • 11.3 实验内容
  • 11.3.1 获取U-Boot
  • 11.3.2 配置BootLoader选项
  • 11.3.3 制作TF卡
  • 11.4 实验报告要求
  • 第12章 内核配置和编译
  • 12.1 实验目的
  • 12.2 相关知识
  • 12.2.1 内核源代码目录结构
  • 12.2.2 内核配置的基本结构
  • 12.2.3 编译规则Makefile
  • 12.3 编译内核
  • 12.3.1 Makefile的选项参数
  • 12.3.2 内核配置项介绍
  • 12.4 实验内容
  • 12.5 实验报告要求
  • 第13章 根文件系统的构建
  • 13.1 实验目的
  • 13.2 Linux文件系统的类型
  • 13.2.1 EXT文件系统
  • 13.2.2 NFS文件系统
  • 13.2.3 JFFS2文件系统
  • 13.2.4 YAFFS2
  • 13.2.5 RAM Disk
  • 13.3 文件系统的制作
  • 13.3.1 BusyBox介绍
  • 13.3.2 BusyBox的编译
  • 13.3.3 配置文件系统
  • 13.3.4 制作ramdisk文件镜像
  • 13.3.5 制作init_ramfs
  • 13.4 实验内容
  • 13.5 实验报告要求
  • 第14章 图形用户接口
  • 14.1 实验目的
  • 14.2 原理概述
  • 14.2.1 帧缓冲设备
  • 14.2.2 帧缓冲与色彩
  • 14.2.3 LCD控制器
  • 14.2.4 帧缓冲设备操作
  • 14.3 实验内容
  • 14.3.1 实现基本画图功能
  • 14.3.2 合理的软件结构
  • 14.4 实验报告要求
  • 第15章 音频接口程序设计
  • 15.1 实验目的
  • 15.2 接口介绍
  • 15.3 应用软件设计
  • 15.3.1 OSS
  • 15.3.2 ALSA
  • 15.4 实验内容
  • 15.5 实验报告要求
  • 第16章 嵌入式系统中的I/O接口驱动
  • 16.1 实验目的
  • 16.2 接口电路介绍
  • 16.3 I/O端口地址映射
  • 16.4 LED控制
  • 16.5 实验内容
  • 16.6 实验报告要求
  • 第17章 触摸屏移植
  • 17.1 实验目的
  • 17.2 Linux系统的触摸屏支持
  • 17.2.1 触摸屏的基本原理
  • 17.2.2 内核配置
  • 17.2.3 触摸屏库tslib
  • 17.2.4 触摸屏库的安装和测试
  • 17.3 实验内容
  • 17.4 实验报告要求
  • 第18章 Qt/Embedded移植
  • 18.1 实验目的
  • 18.2 Qt/Embedded介绍
  • 18.2.1 Qt/Embedded软件包结构
  • 18.2.2 编译环境设置
  • 18.2.3 编译过程
  • 18.2.4 Qt/Embedded的安装
  • 18.2.5 Qt-4.8版本编译
  • 18.3 实 验 要 求
  • 18.4 实验报告要求
  • 第19章 MPlayer移植
  • 19.1 实验目的
  • 19.2 软件介绍
  • 19.3 编译准备
  • 19.4 编 译
  • 19.5 扩展功能
  • 19.6 实验报告要求
  • 第20章 GTK+移植
  • 20.1 实验目的
  • 20.2 GTK+的背景
  • 20.3 GTK+库的依赖关系
  • 20.4 编译过程
  • 20.4.1 编译准备
  • 20.4.2 一般方法
  • 20.4.3 环境变量
  • 20.4.4 一些特殊的设置
  • 20.4.5 编译技巧
  • 20.5 测 试
  • 20.6 实验要求
  • 20.7 实验报告要求
  • 第21章 实时操作系统RTEMS
  • 21.1 实验目的
  • 21.2 实时操作系统RTEMS简介
  • 21.3 编译RTEMS
  • 21.4 启用RTEMS终端
  • 21.5 实验报告要求
  • 封底
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

电子工业出版社

电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。