图书介绍

嵌入式 Linux 系统开发入门2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

嵌入式 Linux 系统开发入门
  • 方元编著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121335341
  • 出版时间:2018
  • 标注页数:249页
  • 文件大小:35MB
  • 文件页数:260页
  • 主题词:Linux操作系统-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

嵌入式 Linux 系统开发入门PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1部分 基础篇2

第1章 Linux系统的基本使用方法2

1.1 Linux系统的使用环境2

1.1.1 Linux系统的目录结构3

1.1.2 Linux系统的用户3

1.2 命令行工作方式4

1.2.1 终端4

1.2.2 目录操作5

1.2.3 文件操作6

1.2.4 浏览文件7

1.2.5 打包、压缩和解压8

1.2.6 进程控制8

1.2.7 管道与重定向9

1.2.8 shell脚本程序10

1.3 规则表达式11

1.4 与开发相关的常用命令12

1.4.1 文件比较12

1.4.2 文本搜索13

1.4.3 流编辑13

1.5 文本编辑工具14

1.5.1 vim工作模式14

1.5.2 vim常用编辑命令15

1.5.3 vim高级操作17

本章练习17

本章参考资源18

第2章 Linux系统的主要开发工具19

2.1 gcc工具链19

2.1.1 gcc编译器19

2.1.2 汇编器和链接器20

2.2 代码分析与转换工具20

2.2.1 函数地址解析addr2line21

2.2.2 符号列表nm21

2.2.3 目标文件转储objdump22

2.2.4 代码剖析gprof22

2.2.5 ELF符号解析readelf24

2.2.6 代码瘦身strip24

2.3 GNU Make25

2.3.1 源代码的组织25

2.3.2 第一个Makefile27

2.3.3 GNU Make基本规则27

2.3.4 完善Makefile28

2.3.5 GNU Make的依赖30

2.4 开源软件的移植32

2.4.1 工具准备32

2.4.2 源代码的组织结构32

2.4.3 配置编译环境33

2.4.4 编译和安装34

2.5 调试工具34

2.5.1 gdb使用示例35

2.5.2 远程调试36

2.6 版本控制系统37

2.6.1 集中式版本控制系统svn38

2.6.2 追溯历史、分支与合并39

2.6.3 分布式版本控制系统git40

2.6.4 git基本操作40

2.6.5 git分支与合并43

2.7 合理地组织程序44

2.7.1 头文件的要求44

2.7.2 C语言源文件45

2.7.3 库的产生和作用45

2.7.4 项目的目录组织结构47

2.8 交叉编译工具链的制作47

本章练习52

本章参考资源52

第3章 文件读写53

3.1 文件系统的概念53

3.2 文件与目录54

3.2.1 Linux系统中的虚拟文件系统54

3.2.2 Linux系统的文件类型54

3.2.3 改变文件属性56

3.3 文件描述符57

3.3.1 标准I/O设备57

3.3.2 有关文件操作的系统功能调用58

3.3.3 文件描述符复制59

3.3.4 文件描述符操作59

3.3.5 文件共享与读写冲突60

3.4 标准I/O库的文件操作61

3.4.1 打开文件61

3.4.2 文件流读写62

3.4.3 文件流定位63

3.4.4 格式化I/O文件操作函数64

本章练习64

本章参考资源65

第4章 多任务机制66

4.1 理解进程的概念66

4.1.1 什么是进程66

4.1.2 进程的状态66

4.1.3 进程的创建和结束67

4.1.4 创建进程的例子68

4.2 进程间的数据交换69

4.2.1 管道69

4.2.2 共享内存71

4.2.3 消息队列73

4.3 守护进程75

4.4 线程——轻量级进程77

4.5 线程的竞争与同步78

4.5.1 互斥锁78

4.5.2 信号和信号量79

4.5.3 进程与线程的对比81

本章练习81

本章参考资源82

第5章 网络套接字编程83

5.1 套接字API83

5.1.1 两种类型的套接口83

5.1.2 网络协议分层84

5.1.3 关闭套接口84

5.2 TCP网络程序分析85

5.2.1 网络地址86

5.2.2 端口86

5.3 TCP服务器程序设计88

5.4 简单的数据流对话90

5.5 多任务数据流对话95

5.6 基于数据报的对话程序97

本章练习100

本章参考资源100

第6章 模块与设备驱动101

6.1 设备驱动程序简介101

6.1.1 内核功能划分101

6.1.2 设备驱动程序的作用102

6.1.3 设备和模块分类102

6.2 构建和运行模块103

6.2.1 第一个示例模块103

6.2.2 模块的编译104

6.2.3 模块的运行105

6.2.4 内核模块与应用程序105

6.3 模块的结构106

6.3.1 模块的初始化和清除函数107

6.3.2 内核符号表108

6.3.3 模块的卸载108

6.3.4 资源使用109

6.4 字符设备驱动程序112

6.4.1 timer的设计112

6.4.2 文件操作115

6.4.3 打开设备117

6.4.4 I/O控制124

6.4.5 阻塞型I/O130

6.5 设备驱动程序的使用133

6.5.1 驱动程序与应用程序133

6.5.2 内核源码中的模块结构134

6.5.3 将模块加入内核135

6.6 调试技术135

6.6.1 输出调试136

6.6.2 查询调试139

6.6.3 监视调试142

6.6.4 故障调试142

6.6.5 使用gdb调试工具143

6.6.6 使用内核调试工具144

6.7 硬件管理与中断处理145

6.7.1 I/O寄存器和常规内存145

6.7.2 中断150

6.8 内核的定时152

6.8.1 时间间隔152

6.8.2 获取当前时间154

6.8.3 延迟执行156

6.8.4 定时器157

本章练习161

本章参考资源161

第7章 嵌入式Linux系统开发162

7.1 引导装载程序162

7.2 内核设置163

7.2.1 内核布局164

7.2.2 内核链接和装入164

7.2.3 参数传递和内核引导165

7.3 设备驱动程序166

7.3.1 帧缓冲区驱动程序167

7.3.2 输入设备驱动程序167

7.3.3 MTD驱动程序167

7.3.4 MTD驱动程序设置168

7.4 嵌入式设备的文件系统169

7.4.1 扩展文件系统169

7.4.2 日志闪存文件系统的第2版(JFFS2)170

7.4.3 tmpfs171

7.5 图形用户界面(GUI)172

7.5.1 XFree86 4.X(带帧缓冲区支持的X11R6)172

7.5.2 Microwindows173

7.5.3 Microwindows上的FLTK API173

7.5.4 Qt/Embedded174

7.6 帧缓冲174

第8章 GUI程序设计初步177

8.1 基本组件介绍177

8.1.1 一个简单的图形接口程序177

8.1.2 按钮类组件180

8.1.3 数据类组件183

8.1.4 菜单栏与工具栏184

8.2 画图区185

8.3 界面布局方法186

8.3.1 盒子187

8.3.2 表格188

8.3.3 对位188

8.3.4 便签188

8.3.5 对话框188

8.4 GTK+界面设计工具189

本章练习191

本章参考资源191

第2部分 实验篇194

第9章 实验系统介绍194

9.1 实验系统性能概括194

9.2 软件195

9.2.1 交叉编译工具链195

9.2.2 工具链安装195

9.2.3 嵌入式操作系统软件195

9.3 实验系统搭建196

第10章 嵌入式系统开发实验197

10.1 实验目的197

10.2 嵌入式系统开发过程197

10.2.1 串口设置(使用minicom)198

10.2.2 TFTP(简单文件传输协议)199

10.2.3 NFS服务器架设200

10.2.4 编译应用程序200

10.3 实验报告要求201

第11章 引导加载器202

11.1 实验目的202

11.2 BootLoader202

11.2.1 BootLoader的作用202

11.2.2 BootLoader程序结构框架202

11.3 实验内容203

11.3.1 获取U-Boot203

11.3.2 配置BootLoader选项203

11.3.3 制作TF卡204

11.4 实验报告要求204

第12章 内核配置和编译205

12.1 实验目的205

12.2 相关知识205

12.2.1 内核源代码目录结构205

12.2.2 内核配置的基本结构205

12.2.3 编译规则Makefile205

12.3 编译内核206

12.3.1 Makefile的选项参数206

12.3.2 内核配置项介绍207

12.4 实验内容208

12.5 实验报告要求208

第13章 根文件系统的构建209

13.1 实验目的209

13.2 Linux文件系统的类型209

13.2.1 EXT文件系统209

13.2.2 NFS文件系统210

13.2.3 JFFS2文件系统210

13.2.4 YAFFS2211

13.2.5 RAM Disk211

13.3 文件系统的制作212

13.3.1 BusyBox介绍212

13.3.2 BusyBox的编译212

13.3.3 配置文件系统212

13.3.4 制作ramdisk文件镜像214

13.3.5 制作init ramfs215

13.4 实验内容216

13.5 实验报告要求216

第14章 图形用户接口217

14.1 实验目的217

14.2 原理概述217

14.2.1 帧缓冲设备217

14.2.2 帧缓冲与色彩218

14.2.3 LCD控制器218

14.2.4 帧缓冲设备操作218

14.3 实验内容220

14.3.1 实现基本画图功能220

14.3.2 合理的软件结构220

14.4 实验报告要求220

第15章 音频接口程序设计221

15.1 实验目的221

15.2 接口介绍221

15.3 应用软件设计221

15.3.1 OSS221

15.3.2 ALSA222

15.4 实验内容223

15.5 实验报告要求223

第16章 嵌入式系统中的I/O接口驱动224

16.1 实验目的224

16.2 接口电路介绍224

16.3 I/O端口地址映射224

16.4 LED控制225

16.5 实验内容225

16.6 实验报告要求226

第17章 触摸屏移植227

17.1 实验目的227

17.2 Linux系统的触摸屏支持227

17.2.1 触摸屏的基本原理227

17.2.2 内核配置227

17.2.3 触摸屏库tslib227

17.2.4 触摸屏库的安装和测试228

17.3 实验内容229

17.4 实验报告要求229

第18章 Qt/Embedded移植230

18.1 实验目的230

18.2 Qt/Embedded介绍230

18.2.1 Qt/Embedded软件包结构230

18.2.2 编译环境设置230

18.2.3 编译过程231

18.2.4 Qt/Embedded的安装232

18.2.5 Qt-4.8版本编译233

18.3 实验要求234

18.4 实验报告要求235

第19章 MPlayer移植236

19.1 实验目的236

19.2 软件介绍236

19.3 编译准备236

19.4 编译236

19.5 扩展功能237

19.6 实验报告要求237

第20章 GTK+移植238

20.1 实验目的238

20.2 GTK+的背景238

20.3 GTK+库的依赖关系238

20.4 编译过程240

20.4.1 编译准备240

20.4.2 一般方法240

20.4.3 环境变量241

20.4.4 一些特殊的设置242

20.4.5 编译技巧243

20.5 测试244

20.6 实验要求244

20.7 实验报告要求244

第21章 实时操作系统RTEMS245

21.1 实验目的245

21.2 实时操作系统RTEMS简介245

21.3 编译RTEMS246

21.4 启用RTEMS终端247

21.5 实验报告要求247

热门推荐