Linux嵌入式实时应用开发实战

Linux嵌入式实时应用开发实战

(美) 阿伯特 (Abbott,D.) , 著

出版社:机械工业出版社

年代:2014

定价:59.0

书籍简介:

本书介绍目前广泛应用于嵌入式产品的Linux系统开发,包括Linux系统特性、环境配置、交叉开发环境中的应用编程,以及Linux开发组件和工具,并辅以相关参考资料,对于初次在嵌入式和实时领域应用Linux的工程技术人员来说,是一本十分详尽的指导书。

作者介绍:

Doug Abbott ,是一位在嵌入式领域拥有30多年经验的顾问,他在面向工业和科研领域的数据采集产品方面拥有非常丰富的软硬件开发经验。Doug在加州大学伯克利分校讲授PC技术和实时编程课程,是一位颇受学生爱戴的导师,由他发起和组织的研讨在学校非常受欢迎。有数百位资深工程师接受过他的实时编程技术和多任务操作系统培训。      周艳,硕士毕业于中国科学院声学研究所,曾供职于中国电子科技集团某研究所,从事嵌入式实时系统开发工作。研究方向为传感器和通信领域的实时数据采集与控制,对嵌入式系统的系统架构与软硬件开发等都有丰富的实战经验,负责过多个项目的实时信号处理系统开发,有五年的相关经验。

书籍目录:

译者序

前言

第一部分 入门指导

第1章 嵌入式和实时空间

1.1 什么是嵌入式

1.2 什么是实时

1.3 为什么Linux适用

1.3.1 开源

1.3.2 移植和定制

1.4 哪里用嵌入式Linux

1.5 开源协议

1.6 资源

第2章 安装Linux

2.1 发行版

2.1.1 Debian GNU

2.1.2 Fedora

2.1.3 Red Hat企业版Linux

2.1.4 SUSE

2.1.5 Ubuntu

2.2 硬件需求

2.3 安装方案

2.3.1 单机版

2.3.2 双启动

2.3.3 虚拟化

2.4 DVD 还是激活CD

2.5 安装过程

2.5.1 磁盘分区

2.5.2 包的选择

2.6 资源

第3章 Linux入门

3.1 运行Linux——KDE

3.1.1 文件管理器

3.1.2 shell 窗口

3.2 Linux属性

3.3 保护模式架构

3.3.1 实模式

3.3.2 保护模式

3.3.3 平面与分段的存储器模型

3.3.4 分页

3.4 Linux进程模型

3.4.1 fork()函数

3.4.2 execve()函数

3.5 Linux文件系统

3.5.1 文件权限

3.5.2 “根”用户

3.5.3 /proc文件系统

3.5.4 文件系统等级标准

3.5.5 挂载文件系统

3.6 系统配置

3.7 shell

3.8 获得帮助

3.9 资源

第4章 主机开发环境

4.1 交叉开发工具——GNU工具链

4.1.1 GCC

4.1.2 make

4.1.3 GDB

4.2 安装软件

4.2.1 DVD上有什么

4.2.2 安装交叉工具链

4.2.3 安装根文件系统

4.3 终端仿真器minicom

4.4 网络

4.4.1 网络地址

4.4.2 无线怎么样

4.4.3 网络文件系统

4.4.4 普通文件传输协议

4.5 资源

第5章 硬件

5.1 嵌入式硬件

5.2 ARM单板计算机

5.3 其他的板怎么样

5.3.1  BeagleBoard

5.3.2 Gumstix

5.3.3 Raspberry Pi

5.4 设置Mini2440

5.5 Flash存储器和文件系统

5.5.1 Flash存储器——NAND和NOR

5.5.2 Flash中的根文件系统

5.6 板的准备工作

5.6.1 例程

5.6.2 factory_images

5.6.3 脚本文件

5.6.4 过程

5.6.5 最后几步

5.6.6 哪里会出错

5.7 boot loader

5.8 资源

第6章 Eclipse 集成开发环境

6.1 概述

6.1.1 插件

6.1.2 工作台

6.2 安装

6.3 使用Eclipse

6.4 C开发环境——CDT

6.4.1 创建一个新工程

6.4.2 给工程添加源代码

6.4.3 编程助手

6.4.4 代码模板

6.4.5 自动补齐

6.5 程序

6.6 生成工程

6.7 使用CDT调试

6.7.1 调试视图

6.7.2 变量视图

6.7.3 断点视图

6.7.4 存储器视图

6.8 完成调试

6.9 总结

6.10 资源

第二部分 交叉开发环境中的应用编程

第7章 从用户空间访问硬件

7.1 回顾

7.2 ARM I

7.3 我们的第一个程序——从Linux访问I/O/

7.3.1 创建一个工程

7.3.2 目标执行环境

7.4 led 程序

7.5 一个数据采集的例子

7.6 资源

第8章 调试嵌入式软件

8.1 使用Eclipse进行远程调试

8.2 thermostat

8.3 主机工作站作为调试环境

8.4 调试器服务框架(DSF)

8.4.1 安装SSH

8.4.2 为根添加一个口令

8.4.3 配置RSE

8.4.4 使用RSE调试

8.5 资源

第9章 Posix 线程

9.1 线程

9.2 同步——互斥量

9.2.1 互斥量属性

9.2.2 解决资源共享问题而引入的问题——优先级倒置

9.3 通信——条件变量

9.4 线程终止和取消

9.5 Pthread实现

9.6 更新thermostat

9.6.1 Linux设备驱动

9.6.2 底层I

9.6.3 thermostat.c中需要的改变

9.7 调试多线程程序

9.8 资源

第10章 嵌入式网络

10.1 Sockets

10.1.1 服务器进程

10.1.2 客户进程

10.1.3 socket 属性

10.2 一个简单的例子

10.2.1 服务器

10.2.2 客户

10.3 远程thermostat

10.4 嵌入式网络服务器

10.4.1 HTTP的背景

10.4.2 使用了网络的thermostat

10.4.3 动态网络内容

10.4.4 表单和POST方法

10.4.5 生成和尝试

10.5 一个“真正的”网络服务——boa

10.6 嵌入式E-mail

10.7 其他应用级协议

10.8 资源

第11章 配置和生成内核

11.1 开始

11.1.1 内核版本编号

11.1.2 内核源树

11.2 内核makefile

11.3 修补内核

11.4 配置内核——make config、menuconfig、xconfig

11.4.1 xconfig 选项

11.4.2 .config 文件

11.5 表象背后——真正发生了什么

11.6 生成内核

11.7 引导新内核

11.8 资源

第12章 内核模块和设备驱动

12.1 内核模块

12.1.1 一个模块的例子

12.1.2 破坏内核

12.1.3 内核模块和GPL

12.1.4 生成内核模块

12.1.5 模块的作用

12.2 什么是设备驱动

12.3 Linux设备驱动

12.3.1 /dev目录

12.3.2 底层用户空间I/O API

12.3.3 内部驱动结构

12.3.4 驱动数据结构

12.3.5 init()和exit()

12.3.6 open()和release()

12.3.7 read()和write()

12.3.8 生成和运行驱动

12.4 调试内核代码

12.4.1 printk

12.4.2 /proc 文件

12.5 处理中断

12.5.1 注册中断handler

12.5.2 探测中断

12.5.3 延迟处理——“bottom half”

12.6 将你的驱动生成至内核

12.7 资源

第三部分 组件和工具

第13章 BusyBox和Linux初始化

13.1 BusyBox简介

13.2 配置和安装BusyBox

13.2.1 BusyBox设置

13.2.2 小程序

13.2.3 生成和安装

13.3 使用BusyBox

13.4 thermostat 显示示例

13.4.1 ANSI终端Escape 序列

13.4.2 thermostat 显示

13.4.3 ncurses库

13.5 用户空间初始化

13.5.1 第一步boot loader

13.5.2 u-boot

13.5.3 Linux内核

13.5.4 init进程

13.6 资源

第14章 u-boot boot loader和准备发布

14.1 u-boot

14.1.1 背景

14.1.2 安装和配置u-boot

14.1.3 测试一个新的u-boot

14.1.4 通过JTAG重新编程NOR

14.2 创建一个flash文件系统

14.2.1 关于flash分区的更多考虑

14.2.2 扁平设备树

14.3 资源

第15章 源代码控制——git

15.1 背景

15.2 git介绍

15.2.1 文件状态和生命周期

15.2.2 分支和合并

15.3 配置git

15.4 图形化git

15.5 资源

第16章 build工具

16.1 Buildroot

16.2 开源嵌入式

16.2.1 开始

16.2.2 个人观点

16.3 安卓

16.3.1 应用开发

16.3.2 平台开发

16.4 总结

16.5 资源

附录A u-boot命令

附录B 为什么软件不应该有版权

内容摘要:

一直以来,嵌入式Linux领域都没有一本系统且全面的入门书籍。大多数单片机和STM32开发者在掌握了MCU的开发技术之后,要再通过学习μC/OS这样的嵌入式实时操作系统,才能过渡到Linux操作系统的学习。这其中很重要的一个原因是没有一本专门针对嵌入式工程师的Linux入门书籍。《Linux嵌入式实时应用开发实战(原书第3版)》没有从复杂的PC级操作系统的角度为读者讲解Linux,而是从实时应用的角度向读者讲解Linux的基本概念和原理,并辅以配置、操作和实战案例,这些都是作者的第一手经验。《华章 Linux嵌入式实时应用开发实战(原书第3版)》是嵌入式工程师学习Linux的绝佳入门读物。

编辑推荐:

《华章 Linux嵌入式实时应用开发实战(原书第3版)》是一本实用、全面、系统的嵌入式Linux入门书籍。
  围绕实时应用逐章分模块,从基本概念、原理、配置到实战案例全面解构嵌入式Linux。
  以ARM单板机为平台,涵盖Linux基础、交叉编译、Linux组件和工具三大部分内容。
  本书不拘泥于形式,立足实战,为读者提供详细的操作指南。

书籍规格:

书籍详细信息
书名Linux嵌入式实时应用开发实战站内查询相似图书
丛书名电子与嵌入式系统设计译丛
9787111488576
如需购买下载《Linux嵌入式实时应用开发实战》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位机械工业出版社
版次1版印次1
定价(元)59.0语种简体中文
尺寸19 × 24装帧平装
页数 274 印数 4000

书籍信息归属:

Linux嵌入式实时应用开发实战是机械工业出版社于2015.1出版的中图分类号为 TP316 的主题关于 Linux操作系统 的书籍。