《嵌入式Linux9应用开发详解》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:刘峥嵘等编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2004
  • ISBN:7111147650
  • 页数:449 页
图书介绍:本书介绍了嵌入式LINUX的基本知识和如何配置嵌入式的开发环境等。

目 录 1

第一篇 基础篇 1

第1章 嵌入式Linux基础 1

1.1嵌入式系统 2

1.1.1 嵌入式系统的应用 2

1.1.2嵌入式系统的特点 3

1.2实时与实时系统 5

1.2.1 实时与实时系统的基本概念 5

1.2.2 目前应用广泛的嵌入式实时操作系统 7

1.3嵌入式Linux 9

1.3.1 从Linux到嵌入式Linux 9

1.3.2嵌入式Linux的特点 11

1.3.3嵌入式Linux发展现状 12

1.4主流嵌入式心芯片简介 14

1.4.1 Motorola公司嵌入式芯片简介 15

1.4.2 Intel公司X86体系结构嵌入式芯片简介 16

1.4.3 ARM公司嵌入式芯片简介 17

1.5 小结 18

1.6思考题 18

第2章 开发嵌入式Linux应用软件 19

2.1建立嵌入式开发平台 20

2.1.1嵌入式开发平台简介 20

2.1.2 uClinux简介 21

2.1.3 uCsimm 22

2.1.4建立uClinux开发平台 23

2.2嵌入式Linux软件开发工具 28

2.2.1使用vi编辑器 28

2.2.2使用gcc编译嵌入式C应用程序 31

2.2.3编写MakeFile 33

2.2.4 debug工具GDB 37

2.3嵌入式Linux应用软件开发流程 40

2.3.1对需求进行分析 40

2.3.2任务和模块的划分 41

2.3.3生成代码 43

2.3.4调试代码 43

2.3.5固化运行 44

2.4一个简单的应用程序——Hello World 45

2.5 小结 51

2.6思考题 51

第二篇 系统篇 53

第3章 任务管理 53

3.1 任务概述 54

3.1.1标准Linux进程 54

3.1.4嵌入式Linux中的进程 55

3.1.2任务的数据结构表示 55

3.1.3实时任务 55

3.2任务状态的转变 56

3.3任务调度 62

3.3.1调度目标 62

3.3.2调度方法分类 65

3.3.3经典常用实时调度算法 68

3.3.4多处理器调度算法 74

3.3.5 Linux进程调度 74

3.4常用任务管理API 85

3.5关于任务的实例 90

3.6小结 93

3.7 思考题 94

第4章 任务的同步与通信 95

4.1任务间同步与互斥 96

4.2.1重要概念 97

4.2任务间的同步 97

4.2.2信号量的概念 102

4.3任务间的通信 105

4.4嵌入式Linux 中的任务间同步与通信 106

4.4.1 Linux中的信号 106

4.4.2 Linux中的管道 117

4.4.3先进先出文件FIFO 119

4.4.4 System V IPC机制 120

4.5 小结 130

4.6思考题 130

第5章 存储器管理 131

5.1存储器管理概述 132

5.1.1基本概念 133

5.1.3早期连续内存分配 135

5.1.2内存管理的分类 135

5.1.4基于段、页的存储管理 137

5.1.5虚拟存储器管理 142

5.2 Linux存储器管理 146

5.2.1物理内存管理 147

5.2.2虚拟内存管理 150

5.3小结 165

5.4思考题 166

第6章 中断处理 167

6.1 中断概述 168

6.1.1 中断源 168

6.1.2中断类型号、中断向量表和中断描述符表 169

6.1.3中断服务程序及其入口地址 169

6.1.4中断优先级和中断嵌套 170

6.2.1中断响应过程 171

6.2中断机制 171

6.3 使用中断驱动串口 173

6.3.1 PC机串口的基本概念 173

6.2.2中断服务程序设计 173

6.3.2 PC机串口驱动程序的实现 178

6.4小结 190

6.5思考题 191

第7章 嵌入式Linux下串口通信 192

7.1 串行I/O的基本概念 193

7.1.1 同步通信与异步通信 193

7.1.2串口传输速率与流控 194

7.1.3差错控制 196

7.1.4 DTE和DCE通信过程 197

7.1.5 RS-232C串口规范简介 199

7.2.1 嵌入式Linux驱动程序简介 202

7.2编写串口通信程序 202

7.2.2 串口访问函数 208

7.2.3设置串口属性 210

7.3嵌入式Linux串口通信实例 212

7.4小结 221

7.5 思考题 221

第三篇 应用篇 222

第8章 键盘开发和时钟管理 222

8.1最简单的键盘——按键开关 223

8.1.1按键开关电路 223

8.1.2去除按键抖动 224

8.1.3把按键接入嵌入式系统 225

8.2在嵌入式系统中扩展键盘 225

8.2.1矩阵键盘 226

8.2.2用Intel 8279扩展键盘 228

8.3.1时间日期管理 239

8.3嵌入式Linux时钟管理 239

8.3.2用户任务中的定时器 244

8.3.3内核中的时钟管理 246

8.4小结 249

8.5思考题 249

第9章 图形界面应用程序开发 250

9.1 嵌入式GUI特点及种类 251

9.2 MiniGUI简介 252

9.2.1 MiniGUI是什么 252

9.2.2 MiniGUI特点及优势 252

9.2.3 MiniGUI的安装与配置 253

9.3 MiniGUI程序框架及示例 255

9.3.1主函数MiniGUIMain() 255

9.3.3 第一个MiniGUI程序 256

9.3.2消息处理函数 256

9.4 MiniGUI中的窗口与消息 258

9.4.1窗口的建立与销毁 258

9.4.2消息与消息循环 259

9.4.3几个重要的消息 261

9.5键盘与鼠标 262

9.5.1键盘消息与字符消息 263

9.5.2 鼠标消息 263

9.6绘图工具与图形设备接口 264

9.6.1设备描述表 265

9.6.2画点与画线 267

9.6.3封闭曲线及区域填充 268

9.6.4字体与文字输出 269

9.7 MiniGUI中的常用控件 271

9.7.1静态控件与按钮控件 273

9.7.2列表框 276

9.7.3编辑控件 279

9.7.4工具栏控件 280

9.7.5控件子类化 282

9.7.6 自定义控件 284

9.8对话框 285

9.8.1创建模式对话框 286

9.8.2创建非模式对话框 288

9.8.3带属性页的对话框 288

9.9菜单的使用 293

9.9.1创建菜单 293

9.9.2处理菜单消息 296

9.9.3更改菜单项状态 297

9.11思考题 298

9.10小结 298

第10章 USB设备驱动程序开发 299

10.1 USB体系结构 300

10.1.1 USB系统的描述 300

10.1.2电气特性 301

10.1.3 电源分配与管理 302

10.2 USB通信协议 302

10.2.1USB数据流模型 302

10.2.2USB数据单元 303

10.2.3 USB设备请求 306

10.2.4 USB设备枚举 308

10.2.5 小结 309

10.3 USB设备驱动程序设计 309

10.3.1USB设备驱动程序分类 309

10.3.2主机端设备驱动程序分析 310

10.3.3设备端USB驱动程序分析 316

10.4小结 328

10.5思考题 328

第1 1章 用LED和LCD作系统输出 329

11.1 在嵌入式Linux系统中扩展LED输出 330

11.1.1 LED显示输出的原理和结构 330

11.1.2 LED显示方式 331

11.1.3在嵌入式Linux系统中使用LED显示器 334

11.2 LCD显示器的使用 338

11.2.1 LCD简介 338

1 1.2.2 在嵌入式Linux中驱动LCD 342

11.3在嵌入式Linux中使用LCD 346

11.3.1 EZ328对LCD的支持 346

11.3.2 uClinux对LCD显示器的支持 347

11.3.3图形API使用实例 352

11.4小结 357

11.5思考题 358

第12章 在嵌入式Linux系统中扩展PCI设备 359

12.1 PCI总线规范 360

12.1.1 PCI总线规范简介 360

12.1.2 PCI配置空间 365

12.2嵌入式Linux对PCI设备的支持 371

12.2.1扫描PCI设备 371

12.2.2为PCI设备分配资源 376

12.2.3对PCI配置空间的访问 380

12.3编写嵌入式Linux下PCI驱动程序 381

12.3.1编写PCI驱动程序 381

12.3.2嵌入式Linux下PCI驱动实例——NE2000网卡驱动程序 387

12.4小结 393

12.5思考题 393

第13章 嵌入式Linux网络编程 394

13.1嵌入式Linux网络体系结构 395

13.1.1 TCP/IP网络简介 395

13.1.2嵌入式Linux中TCP/IP网络结构 398

13.2嵌入式Linux环境下的socket编程 399

13.2.1套接字接口 400

13.2.2 socket编程基础 403

13.2.3 socket通信常用API函数 404

13.2.4数据流和数据报通信 409

13.2.5 socket编程高级特性 417

13.3 网络编程实例——使用socket编写代理服务器 421

13.3.1功能说明 421

13.3.2代码 422

13.3.3代码分析 428

13.5思考题 433

13.4小结 433

第14章 嵌入式数据库 434

14.1嵌入式系统中的数据库 435

14.1.1嵌入式数据库特点 435

14.1.2嵌入式数据库现状与发展 435

14.2 mSQL简介 435

14.3 在Linux上安装和配置mSQL 436

14.3.1 mSQL的安装 436

14.3.2 mSQL系统配置 437

14.4 mSQL工具程序 439

14.5 mSQL的C API函数 442

14.6 mSQL嵌入式数据库应用实例分析 446

14.7小结 448

14.8思考题 448

参考文献 449