当前位置:首页 > 工业技术
嵌入式Linux系统开发  基于ARM处理器通用平台
嵌入式Linux系统开发  基于ARM处理器通用平台

嵌入式Linux系统开发 基于ARM处理器通用平台PDF电子书下载

工业技术

  • 电子书积分:13 积分如何计算积分?
  • 作 者:冯新宇编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2017
  • ISBN:9787302482192
  • 页数:393 页
图书介绍:本书主要包括,嵌入式Linux系统管理与编程基础、Linux高级编程、内核开发与系统移植和驱动程序开发等。全面系统的介绍这几部分知识,对于初学者,特别是嵌入式系统应用开发入门者学习更为合适。
《嵌入式Linux系统开发 基于ARM处理器通用平台》目录

第1章Linux概述与系统管理 1

1.1嵌入式系统概述 1

1.1.1嵌入式系统的发展历史 1

1.1.2嵌入式系统的特点 2

1.1.3嵌入式系统的体系结构 2

1.1.4典型嵌入式系统介绍 3

1.2嵌入式Linux基础 4

1.2.1 Linux发行版本 4

1.2.2 Linux定制安装 6

1.3 Linux常用命令 18

1.3.1系统管理相关命令 18

1.3.2文件管理相关命令 19

1.3.3备份压缩相关命令 25

1.3.4网络通信相关命令 26

1.3.5其他常用命令 30

1.4服务器配置 34

1.4.1 samba服务器 34

1.4.2 NFS服务器 38

1.4.3 TFTP服务器 40

习题与练习 42

第2章Linux脚本编程 43

2.1常用shell命令 43

2.2脚本编写基础 44

2.2.1特殊字符 44

2.2.2变量和参数 46

2.2.3退出和退出状态 48

2.3流程控制 49

2.3.1条件测试 49

2.3.2操作符相关主题 51

2.3.3循环控制 53

2.3.4测试与分支 55

习题与练习 58

第3章Linux编程基础 59

3.1编辑器介绍 59

3.1.1 vi介绍 59

3.1.2 vi的各模式功能键 60

3.2程序编译与调试 63

3.2.1 gcc编译流程 64

3.2.2 gcc编译选项分析 64

3.2.3 gdb程序调试 69

习题与练习 75

第4章C语言进阶 76

4.1 C语言的基本知识 76

4.2数据类型 77

4.2.1常量和变量 78

4.2.2进制 78

4.2.3字符 79

4.2.4转义符与字符集 79

4.2.5类型转换 79

4.2.6输入输出 82

4.2.7运算符 83

4.3控制语句 86

4.3.1分支语句 86

4.3.2循环语句 88

4.4数组与字符串 97

4.4.1数组的定义 97

4.4.2数组本质探讨 98

4.4.3一维数组和二维数组 99

4.4.4字符串 101

4.5函数 103

4.5.1函数的定义 103

4.5.2函数的深度剖析 103

4.5.3函数的作用剖析 104

4.6指针 108

4.6.1指针的本质 108

4.6.2连续空间的内存地址 108

4.6.3指针变量 109

4.6.4指针数组和指针的指针 111

4.6.5函数和指针 115

4.7预处理指令 119

4.7.1宏定义 120

4.7.2 #include 121

4.7.3条件编译 121

习题与练习 123

第5章 文件I/O编程 124

5.1文件和目录 124

5.2目录操作 126

5.3文件操作 134

5.3.1基本概念 134

5.3.2检查文件及确定文件的权限 136

5.3.3创建文件 137

5.3.4打开文件 138

5.3.5关闭文件 139

5.3.6删除文件 140

5.3.7文件指针移动 142

5.3.8其他常用函数 145

5.4设备控制 148

5.5 Linux时间编程 159

5.5.1取得目前的时间 159

5.5.2取得目前时间和日期 160

5.5.3取得当地目前时间和日期 161

5.5.4将时间结构数据转换成经过的秒数 162

5.5.5设置目前时间 162

5.5.6取得当前时间 163

5.5.7将时间和日期以ASCII码格式表示 164

5.5.8将时间和日期以字符串格式表示 164

习题与练习 165

第6章 进程控制 166

6.1进程控制概述 166

6.1.1进程的定义 166

6.1.2进程控制块 167

6.1.3分配进程描述符 168

6.1.4进程的创建 168

6.1.5进程状态 169

6.1.6进程调度 171

6.1.7虚拟内存 172

6.1.8文件锁 172

6.2进程控制编程 173

6.2.1创建进程 173

6.2.2进程终止 181

6.2.3守护进程 186

习题与练习 187

第7章 进程间通信 188

7.1进程间通信概述 188

7.2管道通信 190

7.2.1无名管道 190

7.2.2有名管道 192

7.2.3标准流管道 195

7.3消息队列 196

7.3.1键值 196

7.3.2打开/创建消息队列 197

7.3.3发送消息 197

7.3.4接收消息 198

7.3.5消息控制 198

7.4信号 201

7.4.1信号处理的方式 201

7.4.2信号操作指令 201

7.5信号量 207

7.5.1信号量创建 208

7.5.2信号量操作 208

7.6内存共享 214

7.6.1共享内存创建 214

7.6.2共享内存的操作 216

7.6.3共享内存段连接到本进程空间 216

7.6.4共享内存解除 217

习题与练习 220

第8章 多线程技术 221

8.1 Linux多线程概念 221

8.2 Linux线程实现 222

8.2.1线程创建 222

8.2.2线程退出 224

8.2.3线程等待 226

8.2.4线程标识获取 228

8.2.5线程清除 229

8.3线程函数传递及修改线程的属性 232

8.3.1线程函数传递 232

8.3.2绑定属性 235

8.3.3分离属性 236

8.3.4优先级属性 237

8.3.5线程的互斥 239

8.3.6线程的同步 241

8.3.7信号量 243

习题与练习 245

第9章 网络编程 246

9.1基本概念 246

9.1.1 OSI模型 246

9.1.2常用命令 247

9.1.3网络地址 247

9.1.4 IP设置项 248

9.1.5端口 248

9.2 TCP/IP协议 249

9.2.1整体构架概述 249

9.2.2 IP协议 250

9.2.3 ICMP协议 251

9.2.4 UDP协议 251

9.2.5 TCP协议 252

9.2.6 TCP连接的建立 253

9.3基本网络函数介绍 253

9.3.1建立一个socket通信 253

9.3.2对socket定位 254

9.3.3等待连接 255

9.3.4建立socket连线 255

9.4服务器和客户端的信息函数 256

9.4.1字节转换函数 256

9.4.2 IP和域名的转换 257

9.4.3字符串的IP和32位的IP转换 259

9.4.4服务信息函数 260

9.5完整的读写函数 260

9.5.1 write 260

9.5.2 read 261

9.5.3数据的传递 261

9.6用户数据报发送 262

9.6.1 recvfrom 262

9.6.2 sendto 262

9.7高级套接字函数 263

9.7.1 recv 263

9.7.2 send 263

9.7.3 recvmsg 264

9.7.4 sendmsg 264

9.7.5套接字的关闭 265

9.8套接字选项 265

9.8.1 getsockopt 265

9.8.2 setsockopt 266

9.8.3 ioctl 267

9.9服务器模型 267

9.9.1循环服务器:UDP服务器 267

9.9.2循环服务器:TCP服务器 268

9.9.3并发服务器:TCP服务器 271

9.9.4并发服务器:多路复用I/O 272

9.9.5并发服务器:UDP服务器 273

习题与练习 276

第10章 内核开发基础 277

10.1嵌入式开发环境搭建 277

10.1.1交叉编译工具链 278

10.1.2终端软件 281

10.2 Linux内核简介 282

10.2.1 Linux内核 282

10.2.2 Linux内核源代码 285

10.3 Linux内核配置与编译 285

10.3.1 Linux内核配置 286

10.3.2编译内核 288

10.4 Linux内核模块 288

10.4.1内核模块简介 288

10.4.2内核模块编译与相关命令 289

10.5文件系统 289

10.5.1文件系统简介 290

10.5.2根文件系统 291

10.5.3 Busybox 293

10.5.4 Ramdisk文件系统 299

习题与练习 299

第11章BootLoader 300

11.1 BootLoader介绍 300

11.1.1 BootLoader的安装和启动 300

11.1.2 BootLoader的操作模式 301

11.1.3 BootLoader与主机之间的通信方式 301

11.1.4常用BootLoader介绍 301

11.2 U-boot介绍 302

11.2.1目录结构 302

11.2.2 U-boot的主要功能 303

11.2.3 U-boot的工具 303

11.3 U-boot工作流程 304

11.3.1 stage1 305

11.3.2 stage2 306

11.4 U-boot编译 308

习题与练习 309

第12章Linux驱动开发基础与调试 310

12.1设备驱动简介 310

12.1.1设备类型分类 311

12.1.2内核空间和用户空间 312

12.1.3驱动程序层次结构 312

12.1.4驱动程序与外界接口 313

12.2打印调试 315

习题与练习 316

第13章 字符设备驱动 317

13.1字符设备驱动程序基础 317

13.1.1关键数据结构 317

13.1.2设备驱动开发的基本函数 319

13.1.3设备文件和设备号 324

13.1.4加载和卸载驱动程序 325

13.2 LED设备驱动程序 326

13.2.1 LED接口电路 326

13.2.2 LED驱动程序 327

13.2.3加载运行LED驱动程序 329

13.3按键设备驱动程序 330

13.3.1按键模块硬件电路 330

13.3.2按键驱动程序 331

13.3.3加载运行按键驱动程序 335

13.4 DS 18B20驱动程序设计分析 336

13.4.1 DS 18B20基础知识 336

13.4.2 DS 18B20代码设计 337

习题与练习 344

第14章 块设备驱动 345

14.1块设备驱动程序开发基础 345

14.1.1块设备的I/O操作特点 345

14.1.2块设备主要数据结构 345

14.1.3块设备的操作 353

14.2 IDE硬盘设备驱动 359

14.2.1 IDE硬盘设备原理 359

14.2.2 S3C2440 与 IDE接口电路 360

14.2.3 block_device_ operations及成员函数 361

14.2.4 1/O请求处理 363

14.2.5在内核中增加对新系统IDE设备的支持 369

习题与练习 372

第15章 网络设备驱动 373

15.1网络设备驱动简介 373

15.1.1驱动程序体系结构 373

15.1.2主要数据结构 374

15.1.3基本函数 376

15.2 CS8900A网卡设备 378

15.2.1 CS8900A简介 378

15.2.2 CS8900A网卡接口电路 379

15.3 CS8900A设备驱动程序 380

15.3.1初始化网络设备 380

15.3.2打开网络设备 385

15.3.3关闭网络设备 386

15.3.4中断处理 387

15.3.5发送数据 389

15.3.6接收数据 391

习题与练习 392

参考文献 393

相关图书
作者其它书籍
返回顶部