树莓派Linux操作系统移植pdf下载pdf下载

树莓派Linux操作系统移植百度网盘pdf下载

作者:
简介:本篇主要提供树莓派Linux操作系统移植pdf下载
出版社:清华大学出版社京东自营官方旗舰店
出版时间:2022-04
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

产品特色

编辑推荐

树莓派是广受电子爱好者关注的便携式计算机系统,Linux操作系统是适配树莓派的主要操作系统。本书系统介绍将Linux操作系统移植到树莓派的方法与实现,帮助读者了解操作系统的组成和运行方式,理解操作系统基本软件的作用和它们之间的关系,掌握树莓派控制接口的使用方法。全书内容涵盖如下主题:

 内核与根文件系统;

 软件移植方法、基础软件包和网络工具;

 轻量级Linux桌面环境XFCE4;

 若干Linux应用软件移植;

 构建板载开发环境、移植Python;

 树莓派I/O接口控制。


内容简介

本书介绍Linux内核的编译和移植、根文件系统的制作、基础系统、桌面系统,以及这些软件在系统中的作用、软件之间的依赖关系、软件的移植方法。由于很多树莓派应用是由Python语言编写的,本书也专门介绍树莓派上硬件接口的Python控制模块和其他一些基础应用。全书分为6章,第1章介绍Linux内核的移植及根文件系统的制作;在第1章的基础上,第2章移植了一些基础软件,增强了树莓派的联网功能:第3章介绍Linux的基础图形库、文本布局软件、XWindow系统,直至构成一个完整的XFCE4桌面环境:第4章介绍一些Linux应用软件的移植,包括远程桌面、音视频编码与解码及媒体播放、文档阅读,以及网络监控软件:第5章介绍典型的Linux开发工具的移植,移植了编译器的树莓派系统初步具备板载开发能力;鉴于树莓派被广泛用于电子设计制作,第6章专门讨论树莓派GPIO接口的功能,介绍一款典型的GPIO Python模块的使用,并介绍各种应用模块的工作原理和程序控制方法。
本书能对树莓派爱好者深入学习提供一定的帮助,对于其他嵌入式开发人员,书中介绍的内容也有参考意义。此外,本书也可作为高等学校计算机与电子信息类专业在学习嵌入式Linux操作系统时的教学参考书。

作者简介

方元 南京大学物理学博士、副教授。现就职于南京大学电子科学与工程学院,长期从事信号处理、计算机组成原理及操作系统领域的课程教学工作,主要研究领域涉及音频信号处理、计算机通信和嵌入式系统应用。

沈克勤 毕业于国防科技大学系统工程专业,于解放军理工大学工作多年,从事计算机应用领域的教学和研究工作。退役后在南京理工大学紫金学院从事物联网应用的教学和竞赛指导工作。


目录

第1章 内核与根文件系统
1.1 树莓派简介
1.1.1 核心处理器
1.1.2 树莓派操作系统
1.1.3 树莓派接口
1.2 开发工具
1.2.1 编译工具
1.2.2 调试接口
1.3 树莓派的外存储器
1.3.1 SD卡分区
1.3.2 Bootloader
1.4 Linux内核
1.4.1 获取内核源码
1.4.2 配置和编译内核
1.5 根文件系统
1.5.1 编译BusyBox
1.5.2 初始化RAMDisk
1.5.3 构造Ext4分区
1.5.4 配置文件
1.5.5 网络文件系统
1.6 本章小结
第2章 基础系统
2.1 软件编译
2.1.1 软件的依赖关系
2.1.2 基础系统软件
2.1.3 软件编译方法
2.2 包管理器
2.2.1 数据压缩
2.2.2 编译dpkg
2.2.3 安装包格式
2.3 安装软件包
2.4 其他软件编译
2.4.1 Vim编辑器
2.4.2 时区数据
2.4.3 文件系统工具
2.4.4 bash
2.4.5 systemd
2.5 网络工具
2.5.1 编译网络工具
2.5.2 远程连接
2.5.3 无线网络连接
2.5.4 安装dropbear
2.6 本章小结
第3章 桌面系统
3.1 X Window系统
3.2 基础图形库
3.2.1 libpng
3.2.2 libjpeg
3.2.3 JasPer
3.2.4 TIFF
3.2.5 librsvg
3.3 文字显示及渲染
3.3.1 Glib
3.3.2 FreeType
3.3.3 HarfBuzz
3.3.4 FriBidi
3.3.5 Fontconfig
3.3.6 Pango
3.4 图形工具库GTK
3.4.1 GDK-PixBuf
3.4.2 ATK
3.4.3 Cairo
3.4.4 mesa
3.4.5 GTK及其应用程序
3.5 XFCE4桌面环境
3.5.1 窗口管理器xfwm4
3.5.2 会话管理器xfce4-session
3.5.3 桌面设置管理器xfce4-settings
3.5.4 桌面管理器xfdesktop
3.5.5 文件管理器Thunar
3.5.6 终端仿真器
3.6 X服务
3.6.1 编译xorg-server
3.6.2 X系统其他支持
3.6.3 启动XFCE4
3.7 本章小结
第4章 Linux应用软件
4.1 远程桌面
4.1.1 移植VNC
4.1.2 中文化
4.2 媒体播放器
4.2.1 音、视频编码与解码
4.2.2 音频子系统
4.2.3 播放器mpv
4.3 文档阅读工具
4.3.1 Poppler
4.3.2 libsecret
4.3.3 libXML2
4.3.4 gspell
4.4 网络视频监控
4.5 本章小结
第5章 板载开发环境
5.1 编译器
5.2 版本控制系统GIT
5.3 Python简介
5.3.1 Python发展史
5.3.2 Python编程理念
5.3.3 Python的应用
5.4 Python的移植
5.4.1 数据库软件SQLite
5.4.2 Tcl/Tk
5.4.3 编译Python
5.4.4 安装pip
5.5 Python基本使用
5.5.1 Python编程工具
5.5.2 运行Python程序
5.5.3 交互方式
5.6 本章小结
第6章 树莓派接口控制
6.1 树莓派设备扩展
6.1.1 GPIO
6.1.2 PWM
6.1.3 扩展接口资源配置
6.2 树莓派GPIO模块
6.2.1 安装模块
6.2.2 使用GPIO模块
6.3 GPIO控制输出设备
6.4 GPIO输入功能
6.4.1 基本输入功能
6.4.2 GPIO高级输入功能
6.5 PWM模块
6.6 传感器和控制器
6.6.1 蜂鸣器
6.6.2 传感器
6.6.3 红外遥控器
6.6.4 直流电动机
6.6.5 伺服电动机
6.6.6 步进电动机
6.6.7 超声波测距
6.6.8 控制SPI设备
6.6.9 12C应用
6.7 本章小结
参考文献
扩展资源
索引

前言/序言

树莓派是在电子爱好者中广受欢迎的一款单板式计算机。自其问世以来 ,全世界众多的开发者和爱好者在这个系统上开发了大量有趣的应用。大多数应用都是基于 Linux操作系统 ,树莓派官方网站也提供了几种典型的操作系统映像。用户只要下载后 ,复制到存储卡上,操作系统就能运行起来。

多数人只是在使用这个成熟的操作系统。本书则是介绍如何从零开始 ,从源代码构造一个可用的 Linux操作系统,并在这个系统上实现一些简单的应用。通过学习这一过程 ,计算机爱好者可以根据自己的需要移植相关的软件 ,并自如地调度系统的软、硬件资源 ,甚至打造自己的 Linux发行版。

Linux是遵循自由版权协议的操作系统,本书移植的绝大部分软件都是自由软件。可以免费获得 ,其中多数还允许用户对其修改和再发布 ,但用户仍然需要遵守它们的版权协议。本书移植的软件所涉及的版权协议主要有以下几种。

. GNU通用公共版权协议 (General Public License, GPL),出自自由软件基金会。这是 Linux软件使用最多的一种版权协议 , Linux内核、 GCC、BusyBox等属此类 ;该版权协议要求由 GPL衍生的软件也必须遵守 GPL规范。

. GNU宽松通用公共版权协议 (Lesser General Public License, LGPL),同样出自自由软件基金会。以这种版权协议发布的软件允许其他版权协议 (即使是私有版权 )的软件使用 ,而不会影响其他版权协议。通常它们以共享库的方式被调用 ,以明确版权协议之间的界线。但 LGPL软件本身修改后的再发布仍需要遵守 LGPL规范。GTK、FFMpeg等软件以 LGPL发布。

. BSD及类 BSD版权协议 ,源自加州大学伯克利分校。该版权协议要求被授权者保留原著作权声明,但并不要求其衍生产品必须开源,例如 Tcl/Tk。

. MIT及类 MIT版权协议,源自麻省理工学院,又称作 “X版权协议”或 “X11版权协议 ”, X11系统的软件均以此协议发布。它要求被授权者保留著作权和版权声明 ,对软件的使用和再发布相对宽松。它也是自由软件基金会所认可的自由软件许可协议条款,与 GPL兼容。

. Python软件基金会版权协议 (Python Software Foundation License, PSFL),出自 Python软件基金会 ,要求被授权者在使用 Python及衍生产品时须保持原有的版权协议,它与 GPL兼容,但并不要求再发布的软件也开源。

. 其他开源软件版权协议,例如 zlib-libpng版权协议等。这些开源版权协议的共同特点是允许免费获得、修改、移植 ,而且不限制商业使用。但在使用和再发布时必须保持原版权声明,明确原作者的贡献。

相比软件开发 ,移植软件的技术含量并没有那么高 ,大量工作都是重复性的机械劳动。因此也有不少软件工程师将编译整个操作系统的工作写成一组脚本程序 ,一个典型的案例就是 Buildroot。开发人员通过图形配置界面 ,选择自己需要的功能 ,输入几条命令 ,剩下的就是等待。软件下载、编译、安装完全自动化实现。这个过程中 ,开发人员不需要了解软件的依赖关系,也不需要关心编译过程,甚至都不需要自己手工安装编译器。单纯从构建系统的目标来看,这种方法不失为一种方便的选择,但对理解操作系统的构成帮助不大。

本书基于树莓派平台 ,介绍从内核到桌面应用的整套系统的移植过程。在讨论软件移植方法的同时 ,还介绍这些软件的作用及它们之间的关系。作为一个完整的操作系统 ,这些软件远远不够 ,但已经足够胜任树莓派的大部分应用场合。掌握这些软件的移植方法 ,再移植其他软件也只是时间问题。

本书面向具有一定 Linux系统使用基础的树莓派爱好者。计算机技术的发展日新月异 ,软件的更新换代更是频繁。本书在移植过程中使用的软件 ,随着时间的推移会渐渐显得过时。然而 ,得益于人工智能、边缘计算、嵌入式应用的发展 , Linux操作系统正处于发展上升期,开源软件社区不断壮大。在可见的将来 ,软件移植的方法会越来越规范、越来越简单。如果有意愿自己定制 Linux操作系统,本书可提供一定的参考。

限于笔者的知识水平和认知能力 ,书中难免存在疏漏之处 ,恳请同行专家及读者批评指正。

编者

2022年春于南京