登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入 新註冊 | 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / EMS,時效:出貨後2-3日

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

2023年08月出版新書

2023年07月出版新書

2023年06月出版新書

2023年05月出版新書

2023年04月出版新書

2023年03月出版新書

2023年02月出版新書

『簡體書』嵌入式Linux系统开发:基于Yocto Project

書城自編碼: 3231199
分類: 簡體書→大陸圖書→計算機/網絡操作系統/系統開發
作者: [美] 鲁道夫 J. 斯特雷夫[Rudolf J. Stre
國際書號(ISBN): 9787111603825
出版社: 机械工业出版社
出版日期: 2018-07-01


書度/開本: 16开 釘裝: 平装

售價:NT$ 644

share:

** 我創建的書架 **
未登入.



新書推薦:
所有治愈,都是自愈
《 所有治愈,都是自愈 》

售價:NT$ 381.0
财富管理的中国实践
《 财富管理的中国实践 》

售價:NT$ 717.0
先秦汉魏晋南北朝诗(附作者篇目索引)(全四册)精——中国古典文学总集
《 先秦汉魏晋南北朝诗(附作者篇目索引)(全四册)精——中国古典文学总集 》

售價:NT$ 2789.0
财之道丛书·太古传:商业帝国200年
《 财之道丛书·太古传:商业帝国200年 》

售價:NT$ 717.0
不要相信你所想的一切:如何停止过度思考,克服焦虑、自我怀疑和自我破坏
《 不要相信你所想的一切:如何停止过度思考,克服焦虑、自我怀疑和自我破坏 》

售價:NT$ 235.0
万历四大征(全两册)
《 万历四大征(全两册) 》

售價:NT$ 549.0
凝望:我的摄影与人生
《 凝望:我的摄影与人生 》

售價:NT$ 605.0
工业机器人从基础到实战
《 工业机器人从基础到实战 》

售價:NT$ 717.0

建議一齊購買:

+

NT$ 780
《 树莓派实战全攻略:Scratch、Python、Linux、Minecraft应用与机器人智能制作 》
+

NT$ 861
《 GNU/Linux嵌入式快速编程 》
+

NT$ 569
《 嵌入式Linux系统开发——基于ARM处理器通用平台 》
+

NT$ 641
《 Linux驱动程序开发实例(第2版) 》
+

NT$ 497
《 嵌入式Linux驱动开发教程 》
+

NT$ 569
《 嵌入式Linux编程 》
編輯推薦:
开发者越来越多地集成Linux到嵌入式系统中。Linux几乎支持所有硬件架构和很多外设,可扩展性好,能提供完整的源代码,并且不要求特许权使用费。Yocto项目使得定制Linux用于嵌入式系统变得尤其简单。如果你是有实际Linux经验的开发者,那么本书将帮助你物尽其用。
本书提供了对Yocto项目构建系统和引擎的深入探究,并且讲授了从板支持包到合规管理的高级主题。通过阅读本书,你将学习如何
·解决创建定制嵌入式发行版的关键挑战
·用OpenEmbedded构建系统启动和迭代操作系统栈的构建
·掌握构建工作流、架构和BitBake构建引擎
·快速故障排除构建问题
·用内置的蓝图或者从头开始定制新的发行版
·使用BitBake菜谱创建新软件包
·构建内核、设置配置和应用补丁
·支持多样的CPU架构和系统
·为硬件特定的调整创建板支持包
·为往返开发提供应用开发工具包
·在实际硬件目标上进行远程运行和调试应用
·确保开源许可合规
·用Toaster、构建历史、源仓库和自动构建器扩展基于团队的项目
鲁道夫·J. 斯特雷夫(Rudolf J. Streif)有超过20
內容簡介:
通过本书,你将会学习OpenEmbedded构建系统如何工作、如何编写菜谱来构建你自己的软件组件、如何使用和创建Yocto项目板支持包来支持不同的硬件平台以及如何调试构建失败。你将学习如何为应用开发构建软件开发包以及如何为无缝的往返做开发并将它们和流行的Eclipse集成开发环境(IntegratedDevelopmentEnvironment,IDE)集成起来。
目錄
Contents?目录
译者序

前言
致谢
第1章 用于嵌入式系统的Linux1
1.1 为什么为嵌入式系统选择Linux1
1.2 嵌入式Linux形势3
1.2.1 嵌入式Linux发行版3
1.2.2 嵌入式Linux开发工具4
1.3 定制Linux发行版—为什么困难6
1.4 关于开源许可的几句话8
1.5 组织、相关实体和标准9
1.5.1 Linux基金会9
1.5.2 Apache软件基金会9
1.5.3 Eclipse基金会9
1.5.4 Linux标准基10
1.5.5 消费电子产品工作组10
1.6 总结11
1.7 参考文献11
第2章 Yocto项目12
2.1 启动第一个Yocto项目构建12
2.1.1 先决条件13
2.1.2 获取Yocto项目工具14
2.1.3 设置构建主机15
2.1.4 配置构建环境16
2.1.5 启动构建18
2.1.6 验证构建结果19
2.1.7 Yocto项目构建器具19
2.2 Yocto项目系列20
2.3 历史概览22
2.3.1 OpenEmbedded22
2.3.2 BitBake22
2.3.3 Poky Linux23
2.3.4 Yocto项目23
2.3.5 OpenEmbedded和Yocto项目的关系23
2.4 Yocto项目术语24
2.5 总结25
2.6 参考文献26
第3章 OpenEmbedded构建系统27
3.1 构建开源软件包27
3.1.1 获取28
3.1.2 解压28
3.1.3 打补丁28
3.1.4 配置29
3.1.5 构建29
3.1.6 安装29
3.1.7 打包30
3.2 OpenEmbedded工作流30
3.2.1 元数据文件31
3.2.2 工作流过程步骤33
3.3 OpenEmbedded构建系统架构35
3.3.1 构建系统结构36
3.3.2 构建环境结构39
3.3.3 元数据层结构41
3.4 总结44
3.5 参考文献44
第4章 BitBake构建引擎45
4.1 获取和安装BitBake45
4.1.1 使用发布快照46
4.1.2 克隆BitBake开发仓库46
4.1.3 构建和安装BitBake46
4.2 运行BitBake46
4.2.1 BitBake执行环境47
4.2.2 BitBake命令行48
4.3 BitBake元数据54
4.4 元数据语法55
4.4.1 注释55
4.4.2 变量55
4.4.3 包含59
4.4.4 继承60
4.4.5 可执行元数据61
4.4.6 元数据属性66
4.4.7 元数据名(键)扩展66
4.5 源下载66
4.5.1 使用Fetch类67
4.5.2 获取器实现68
4.5.3 镜像72
4.6 HelloWorld—BitBake方式74
4.7 依赖处理77
4.7.1 配置77
4.7.2 声明依赖78
4.7.3 多个提供器79
4.8 版本选择79
4.9 变体80
4.10 默认元数据80
4.10.1 变量81
4.10.2 任务84
4.11 总结84
4.12 参考文献85
第5章 故障排除86
5.1 记日志86
5.1.1 日志文件87
5.1.2 使用记日志语句90
5.2 任务执行92
5.2.1 执行特定任务93
5.2.2 任务脚本文件94
5.3 分析元数据94
5.4 开发shell95
5.5 依赖性关系图95
5.6 调试层97
5.7 总结98
第6章 Linux系统架构100
6.1 Linux或者GNULinux?100
6.2 Linux系统的剖析101
6.3 引导加载程序102
6.3.1 引导加载程序的角色102
6.3.2 Linux引导加载程序103
6.4 内核106
6.4.1 主要Linux内核子系统107
6.4.2 Linux内核启动111
6.5 用户空间112
6.6 总结113
6.7 参考文献113
第7章 构建定制Linux发行版114
7.1 核心镜像—?Linux发行版蓝图114
7.1.1 通过本地配置来扩展核心镜像117
7.1.2 用QEMU测试镜像118
7.1.3 使用构建历史验证和比较镜像119
7.1.4 用菜谱扩展核心镜像120
7.1.5 镜像特性120
7.1.6 包组122
7.2 从头构建镜像126
7.3 镜像选项128
7.3.1 语言和区域128
7.3.2 包管理128
7.3.3 镜像大小129
7.3.4 根文件系统类型130
7.3.5 用户、组和密码131
7.3.6 调整根文件系统132
7.4 发行版配置134
7.4.1 标准发行版策略134
7.4.2 Poky发行版策略135
7.4.3 发行版特性140
7.4.4 系统管理器142
7.4.5 默认发行版设置143
7.5 外部层144
7.6 Hob145
7.7 总结147
第8章 软件包菜谱148
8.1 菜谱布局和惯例148
8.1.1 菜谱文件名149
8.1.2 菜谱布局149
8.1.3 格式指导方针156
8.2 写新菜谱157
8.2.1 建立菜谱159
8.2.2 获取源代码159
8.2.3 解压源代码160
8.2.4 为源代码打补丁161
8.2.5 增加许可信息161
8.2.6 配置源代码162
8.2.7 编译163
8.2.8 安装构建输出164
8.2.9 设置系统服务165
8.2.10 打包构建输出166
8.2.11 定制安装脚本168
8.2.12 变体169
8.3 菜谱例子170
8.3.1 C文件软件包170
8.3.2 基于makefile的软件包171
8.3.3 基于CMake的软件包173
8.3.4 基于GNU Autotools的软件包174
8.3.5 外部构建软件包175
8.4 devtool175
8.4.1 使用devtool的往返开发176
8.4.2 用于现有菜谱的工作流179
8.5 总结180
8.6 参考文献180
第9章 内核菜谱181
9.1 内核配置182
9.1.1 菜单配置182
9.1.2 配置片段184
9.2 内核
內容試閱
前言?Preface
智能家居、智能汽车、智能手机、智能电视、智能恒温器、智能电灯、智能手表、智能洗衣机、智能烘干机、智能冰箱以及智能篮球。欢迎来到智能万物的勇敢新世界。
在日常生活中,我们触及和交互的几乎所有东西中都有嵌入式计算机,它的剧增,使得嵌入式系统工程和嵌入式软件开发受到了瞩目。嵌入式系统隐藏在其用户的直接视线之外,它们缺少那些带有浮华用户界面的网络应用所具有的吸引力,也缺少那些带有动画和逼真图像的计算机游戏所具有的酷酷的感觉。毫不奇怪的是,计算机科学专业的学生和软件开发者几乎不会把嵌入式软件工程当成他们的第一职业选择。然而,“智能万物革命”和物联网正在推动人们对那些能够桥接硬件和软件世界的专业人士的需求。那些使用电路原理图语言和编程语言的专家将受到雇主的追捧。
对于爆炸式增多的嵌入式应用来说,Linux已经成为第一选择。对于这种选择,有很多恰当的理由。我们将在接下来的章节中详细阐述这些理由。经历了作为服务于各种行业的嵌入式软件开发者的旅程,我通过艰辛的方式学习了嵌入式系统的Linux。对几乎任何编程语言来说,都不缺少优秀的开发工具。绝大部分用于Linux的库和应用都会由于它们的工具化而被简单原生地构建。使用内核自有的构建系统,即使从头开始构建Linux内核几乎也是一件轻而易举的事。然而,当需要把所有的东西整合进可启动的系统时,选择就很少了。
通过提供一套全面的、以OpenEmbedded构建系统为中心的集成化工具,Yocto项目弥补了这种鸿沟。在大约几个小时内实现从源代码到可启动的系统——我希望在我开始使用嵌入式Linux的时候会有这样的奢侈。
本书定位
集成多个不同的必要步骤来从头创建完全可用的Linux操作系统栈的构建系统是相当复杂的。本书专注于构建系统本身以及如何有效使用它来构建定制的Linux发行版。本书不是关于嵌入式Linux的教程。虽然第6章解释了Linux系统架构的基础(因为该信息对于理解构建系统如何组合多个不同的组件成为可运行的系统是必要的),但是就嵌入式Linux本身而言,不会深入它的细节。如果你是嵌入式Linux开发新手,那么强烈推荐Christopher Hallinan的好书《Embedded Linux Primer》,该书与本书是同一系列丛书(Prentice Hall开源软件开发系列)。
在本书中,你将会学习OpenEmbedded构建系统如何工作、如何编写菜谱(recipe)来构建你自己的软件组件、如何使用和创建Yocto项目板支持包(Board Support Package,BSP)来支持不同的硬件平台以及如何调试构建失败。你还将学习如何为应用开发构建软件开发包,以及如何为了无缝的往返开发(round-trip development)而把这些开发包和流行的Eclipse集成开发环境(Integrated Development Environment,IDE)集成起来。
本书读者
本书面向那些具有Linux实践知识的软件开发者和程序员。假设你熟悉Linux命令行,可以使用典型的工具(例如Make和CC++编译器)在Linux系统上构建程序,还可以阅读和理解基本的shell脚本。
构建系统是完全用Python编写的。即使你不是Python专家也可以使用它,并理解它如何工作,但是具备一些核心的Python知识一定是有利的。
本书内容
第1章对采用嵌入式系统的Linux进行简要介绍,为嵌入式Linux的形势和创建定制嵌入式发行版的挑战的概览奠定了基础。
第2章通过用构建系统启动Linux操作系统栈的首次构建来介绍Yocto项目,同时也给出了Yocto项目系列和Yocto项目历史的概览。
第3章解释了构建系统的基础、工作流和架构。
第4章解析了BitBake——处于OpenEmbedded构建系统核心的构建引擎。其中解释了菜谱(recipe)的元数据(metadata)概念、类、配置文件及其语法。BitBake方式的“Hello World”项目说明了构建工作流。通过提供的信息,你会获得用于理解所提供的菜谱和编写自己的菜谱的必要知识。
第5章介绍了可用于对构建问题进行故障排除的工具和机制,并且提供了如何有效使用这些工具的实用建议。
第6章提供了Linux操作系统栈的基础,并解释了不同组件是如何分层的。另外还讨论了内核空间和用户空间的概念以及应用程序如何通过由标准C库提供的系统调用来和Linux内核交互。
第7章细致讲解了如何使用Yocto项目创建定制化的Linux发行版。它以构建系统可用的Linux发行版蓝图以及如何定制它们的简要介绍作为开始。然后演示了如何使用构建系统工具完全从头创建Linux发行版。读完本章以后,你将知道如何构建自己的操作系统镜像。
第8章解释了BitBake菜谱以及如何编写它们来用构建系统构建自己的软件包。这一章提供了你可以尝试的各种真实世界的菜谱例子。
第9章仔细研究了用OpenEmbedded构建系统来构建Linux内核的细节,解释了构建系统工具如何与内核的构建环境交互以设置内核配置和应用补丁。本章以关于构建系统如何处理树外(out-of-tree)内核模块以及合并构建设备树和构建过程的讨论结束。
第10章介绍了构建系统如何支持针对不同硬件的构建——也就是说,为不同CPU架构和系统构建。在介绍了Yocto项目板支持包的概念以后,本章细致讲解了如何使用板支持包构建项目。然后研究了Yocto项目板支持包的内部原理,并用实际的例子来解释如何构建自己的板支持包,你可以将这个例子使用在真实硬件上。本章以为不同硬件配置创建可启动介质镜像结束。
第11章描述了Yocto项目对开发应用的支持,这些应用被用在通过构建系统创建的Linux操作系统栈上。其中提供了关于如何构建那些包含用于往返应用开发的全部必需工具的应用开发工具集(Application Development Toolkit,ADT)的实际操作指南。示例说明了如何通过命令行工具和Eclipse集成开发环境来将应用开发工具集用于应用开发。指南会一步步教你如何远程运行和调试真实硬件目标上的应用。
第12章讨论了对于开源许可合规性的要求以及Yocto项目提供的那些有助于满足要求的工具。
第13章介绍了帮助你把Yocto项目扩展到团队的一些工具。Toaster是基于Web的图形用户界面,它可用于创建能从Web浏览器远程控制的构建系统。构建历史是提供追踪和审计能力的工具。使用源镜像,你可以共享源包来避免重复的下载,并为产品交付控制源版本。最后但并非最不重要的是,Autobuilder为自动化构建、质量保证和发布过程提供了开箱即用的持续构建和集成框架。掌握了本章的知识后,你可以为Yocto项目有效地设置团队环境。
附录包括流行的开源许可,以及以字母排序的构建系统元数据层和机器的参考。
动手操作经验
本书的撰写目的是提供Yocto项目的实际动手操作经验。如果依照并且尝试了相关示例,那么你会收获良多。它们中的大部分可以依赖运行最新Linux发行版的基于x86的工作站来轻松完成(详细的需求会在第2章提供)。为了获得更好的经验,要利用流行的开发板,例如BeagleBone、MinnowBoard Max或者Wandboard。BeagleBone是优秀的低成本的实验平台。另外两个板提供更好的性能,也让你获得关于多核系统的经验。
分析代码并且尝试理解本书的代码。遵循步骤,然后通过改变设置、应用你自己的配置等来完成自己的设计。这是最好的学习方式,并且我可以告诉你,这也相当有趣。让你自己的第一个Linux发行版工作在你选择的一个硬件上是很棒的体验。

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.