Linux嵌入式实时应用开发实战(原书第3版)

Linux嵌入式实时应用开发实战(原书第3版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美]
出版社: 机械工业出版社
2015-01
版次: 1
ISBN: 9787111488576
定价: 59.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 210页
正文语种: 简体中文
  •   一直以来,嵌入式Linux领域都没有一本系统且全面的入门书籍。大多数单片机和STM32开发者在掌握了MCU的开发技术之后,要再通过学习μC/OS这样的嵌入式实时操作系统,才能过渡到Linux操作系统的学习。这其中很重要的一个原因是没有一本专门针对嵌入式工程师的Linux入门书籍。《Linux嵌入式实时应用开发实战(原书第3版)》没有从复杂的PC级操作系统的角度为读者讲解Linux,而是从实时应用的角度向读者讲解Linux的基本概念和原理,并辅以配置、操作和实战案例,这些都是作者的第一手经验。《华章Linux嵌入式实时应用开发实战(原书第3版)》是嵌入式工程师学习Linux的绝佳入门读物。   DougAbbott,是一位在嵌入式领域拥有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 DebianGNU
    2.1.2 Fedora
    2.1.3 RedHat企业版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 RaspberryPi
    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 bootloader
    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 ARMI
    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 配置内核——makeconfig、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/OAPI
    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 延迟处理——“bottomhalf”
    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 第一步bootloader
    13.5.2 u-boot
    13.5.3 Linux内核
    13.5.4 init进程
    13.6 资源
    第14章 u-bootbootloader和准备发布
    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的绝佳入门读物。
  • 作者简介:
      DougAbbott,是一位在嵌入式领域拥有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 DebianGNU
    2.1.2 Fedora
    2.1.3 RedHat企业版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 RaspberryPi
    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 bootloader
    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 ARMI
    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 配置内核——makeconfig、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/OAPI
    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 延迟处理——“bottomhalf”
    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 第一步bootloader
    13.5.2 u-boot
    13.5.3 Linux内核
    13.5.4 init进程
    13.6 资源
    第14章 u-bootbootloader和准备发布
    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嵌入式实时应用开发实战(原书第3版)
20世纪思想史:从弗洛伊德到互联网
[英]彼得·沃森 著;杨阳 译;张凤
Linux嵌入式实时应用开发实战(原书第3版)
想象一朵未来的玫瑰
[葡]费尔南多·佩索阿 著;杨铁军 译
Linux嵌入式实时应用开发实战(原书第3版)
语言与死亡/当代激进思想家译丛
[意]吉奥乔·阿甘本 著
Linux嵌入式实时应用开发实战(原书第3版)
爸爸妈妈,请做我的摄影师:十万父母拍娃智慧分享儿童摄影
枫糖盒子 著
Linux嵌入式实时应用开发实战(原书第3版)
陈规再造:巫鸿美术史文集卷三
[美]巫鸿 著;郑岩 编
Linux嵌入式实时应用开发实战(原书第3版)
另一个世界:中国记忆1961-1962
[瑞典]林西莉 著;李之义 译
Linux嵌入式实时应用开发实战(原书第3版)
生活,在别处:海明威影像集
鲍里斯·维多夫斯基 著;吴天楚 译;[美国]玛瑞儿·海明威;高方;王天宇
Linux嵌入式实时应用开发实战(原书第3版)
大西洋的故事
[英]西蒙·温彻斯特(Simon Winchester) 著
Linux嵌入式实时应用开发实战(原书第3版)
图说勃鲁盖尔
[日]冈部纮三 著;曹逸冰 译
Linux嵌入式实时应用开发实战(原书第3版)
巴别塔(我要世界都听见我的声音,我曾被压抑,但绝不沉默。)(读客外国小说文库)
[英]A.S.拜厄特 著;王一鸣 译
Linux嵌入式实时应用开发实战(原书第3版)
四十二年,我的"恶邻"李敖大师
林恒范 著;[中国台湾]林丽蘋 口述
Linux嵌入式实时应用开发实战(原书第3版)
灭绝与演化:化石中的生命全史
[美]尼尔斯·艾崔奇 著;周亚纯 译;董丽萍