首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 图书频道 > 计算机与网络 > 操作系统 >

嵌入式Linux应用开发教程

2010-04-12 
基本信息·出版社:人民邮电出版社 ·页码:329 页 ·出版日期:2009年10月 ·ISBN:7115209049/9787115209047 ·条形码:9787115209047 ·版本:第1版 · ...
商家名称 信用等级 购买信息 订购本书
嵌入式Linux应用开发教程 去商家看看
嵌入式Linux应用开发教程 去商家看看

 嵌入式Linux应用开发教程


基本信息·出版社:人民邮电出版社
·页码:329 页
·出版日期:2009年10月
·ISBN:7115209049/9787115209047
·条形码:9787115209047
·版本:第1版
·装帧:平装
·开本:16
·正文语种:中文
·丛书名:21世纪高等学校计算机规划教材

内容简介 《嵌入式Linux应用开发教程》重点介绍嵌入式Linux应用开发的基本概念和核心理论。全书分为3大部分,包括嵌入式Linux开发基础知识、嵌入式LinuxC编程知识和嵌入式Linux应用开发知识。《嵌入式Linux应用开发教程》在讲解中给出了翔实的实例,并在部分章节的后面详细设计并分析了贴近实践的实验内容。
《嵌入式Linux应用开发教程》可作为高等院校计算机类、电子类、电气类、控制类专业高年级本科生、研究生学习嵌入式Linux应用开发的教材,也可供希望转入嵌入式领域的科研和工程技术人员参考使用。
编辑推荐 《嵌入式Linux应用开发教程》以S3C2410为基础,讲解基本概念;结合丰富代码实例,突出理论重点;精心设计实验内容,重视实践应用。
在社会日益信息化的今天,计算机和网络的应用已经全面渗透到日常生活中,各种应用嵌入式系统的电子产品随处可见。嵌入式Linux(Embedded Linux)是指对标准Linux经过小型化裁剪处理之后,能够固化在容量只有几KB或者几MB的存储器芯片或者单片机中,是适合于特定嵌入式应用场合的专用Linux操作系统。在目前已经开发成功的嵌入式系统中,大约有一半使用的是嵌入式Linux。这与它自身的优良特性是分不开的。
华清远见嵌入式学院 是华清远见在6年高端嵌入式人才培养的基础上倾力打造的“嵌入式领域就业优势倍增”项目,学院充分整合行业经验及专业优势,并借助自身丰富的合作企业资源及专业、科学的实训体系,帮助合作院校时刻紧跟嵌入式行业用人需求的最新趋势。引导毕业生在知识结构上更好地实现与企业真实需求的对接。从而有效提高其就业竞争优势,顺利进入嵌入式专业领域。华清远见嵌入式学院将继续专注于为更多希望从事嵌入式行业工作。但又缺乏相关经验的人员提供更专业的嵌入式实训课程,培养出更多合格的嵌入式人才,以促进行业的健康、持续发展。华清远见嵌入式学院官方网站为:WWW.embedu.org。
目录
第1章 嵌入式系统基础 1
1.1 嵌入式系统概述 1
1.1.1 嵌入式系统的基本概念 1
1.1.2 嵌入式系统的体系结构 2
1.1.3 几种常用的嵌入式操作系统 2
1.1.4 嵌入式系统发展趋势 5
1.2 ARM处理器硬件开发平台 6
1.2.1 嵌入式处理器简介 6
1.2.2 ARM处理器简介 6
1.2.3 S3C2410处理器介绍 10
1.3 嵌入式软件开发流程 13
1.3.1 嵌入式系统开发概述 13
1.3.2 嵌入式软件开发概述 14
1.4 实验内容:使用JTAG烧写NAND Flash 18
小结 21
思考与练习 21

第2章 嵌入式Linux C语言程序开发工具 22
2.1 嵌入式Linux下C语言概述 22
2.2 编辑器vim 23
2.2.1 vim的基本模式 23
2.2.2 vim的基本操作 24
2.3 编译器gcc 26
2.3.1 gcc的简介 26
2.3.2 gcc的编译流程 27
2.3.3 gcc的常用编译选项 29
2.4 调试器GDB 34
2.4.1 gdb使用流程 34
2.4.2 gdb基本命令 37
2.4.3 gdbserver远程调试 40
2.5 make工程管理器 42
2.5.1 makefile基本结构 43
2.5.2 makefile变量 43
2.5.3 makefile规则 46
2.5.4 make管理器的使用 47
2.6 autotools 47
2.6.1 autotools使用流程 47
2.6.2 使用autotools所生成的makefile 50
2.7 实验内容 51
2.7.1 vim使用练习 51
2.7.2 用gdb调试程序的bug 52
2.7.3 编写包含多文件的makefile 53
2.7.4 使用autotools生成包含多文件的makefile 53
小结 54
思考与练习 54

第3章 嵌入式Linux C语言基础 55
3.1 预处理 55
3.1.1 预定义 55
3.1.2 文件包含 60
3.1.3 条件编译 61
3.2 C语言中的内存分配 62
3.2.1 C语言程序所占内存分类 63
3.2.2 堆和栈的区别 63
3.3 程序的可移植性考虑 64
3.3.1 字长和数据类型 64
3.3.2 数据对齐 65
3.3.3 字节顺序 65
3.4 C和汇编的接口 66
3.4.1 内嵌汇编的语法 66
3.4.2 编译器优化介绍 69
3.4.3 C语言关键字volatile 69
3.4.4 memory描述符 69
3.5 ARM Linux内核常见数据结构 70
3.5.1 链表 70
3.5.2 树、二叉树、平衡树 75
3.5.3 哈希表 82
小结 87
思考与练习 87

第4章 嵌入式Linux开发环境的搭建 88
4.1 构建嵌入式Linux开发环境 88
4.1.1 嵌入式交叉编译环境搭建 89
4.1.2 主机交叉开发环境配置 90
4.2 Bootloader 94
4.2.1 Bootloader的种类 94
4.2.2 U-Boot编译与使用 95
4.2.3 U-Boot移植 102
4.3 Linux内核与移植 103
4.3.1 Linux内核结构 104
4.3.2 Linux内核配置与编译 105
4.3.3 Linux内核移植 108
4.4 嵌入式文件系统构建 112
小结 115
思考与练习 116

第5章 嵌入式Linux文件I/O编程 117
5.1 Linux系统调用及用户编程接口 117
5.1.1 系统调用 117
5.1.2 用户编程接口 118
5.1.3 系统命令 118
5.2 Linux文件I/O系统概述 118
5.2.1 虚拟文件系统 118
5.2.2 通用文件模型 119
5.2.3 Linux中文件及文件描述符 121
5.3 底层文件I/O操作 121
5.3.1 基本文件操作 121
5.3.2 文件锁 124
5.3.3 多路复用 126
5.4 嵌入式Linux串口应用编程 131
5.4.1 串口概述 131
5.4.2 串口设置详解 132
5.4.3 串口使用详解 140
5.5 标准I/O编程 143
5.5.1 基本操作 143
5.5.2 其他操作 146
5.6 实验内容 148
5.6.1 文件读写及上锁 148
5.6.2 多路复用式串口操作 153
小结 156
思考与练习 156

第6章 嵌入式Linux多任务编程 157
6.1 Linux下多任务概述 157
6.1.1 任务 157
6.1.2 进程 157
6.1.3 线程 162
6.2 进程控制编程 163
6.2.1 进程编程基础 163
6.2.2 Linux守护进程 167
6.3 进程间通信 171
6.3.1 Linux下进程间通信概述 171
6.3.2 管道通信 172
6.3.3 信号通信 177
6.3.4 信号量 183
6.3.5 共享内存 187
6.3.6 消息队列 188
6.4 多线程编程 193
6.4.1 线程基本编程 193
6.4.2 线程之间的同步与互斥 196
6.4.3 线程属性 198
6.5 实验内容 200
6.5.1 编写多进程程序 200
6.5.2 编写守护进程 204
6.5.3 有名管道通信实验 205
6.5.4 共享内存实验 209
6.5.5 多线程实验 212
小结 216
思考与练习 217

第7章 嵌入式Linux网络编程 218
7.1 TCP/IP概述 218
7.1.1 TCP/IP的分层模型 218
7.1.2 TCP/IP分层模型特点 219
7.1.3 TCP/IP核心协议 220
7.2 网络编程基本知识 222
7.2.1 套接字概述 222
7.2.2 地址及顺序处理 223
7.2.3 套接字编程 228
7.2.4 编程实例 231
7.3 网络高级编程 234
7.4 Web服务器 240
7.4.1 Web服务器的工作原理 240
7.4.2 Web服务器的编程实现 242
7.4.3 运行Web服务器 246
7.5 实验内容:NTP的客户端实现 247
小结 252
思考与练习 252

第8章 嵌入式Linux设备驱动编程 253
8.1 设备驱动编程基础 253
8.1.1 Linux设备驱动概述 253
8.1.2 Linux内核模块编程 254
8.2 字符设备驱动编程 263
8.2.1 字符设备驱动编写流程 263
8.2.2 重要数据结构 263
8.2.3 设备驱动程序主要组成 264
8.3 GPIO驱动程序实例 270
8.3.1 GPIO工作原理 270
8.3.2 GPIO驱动程序 272
8.4 按键驱动程序实例 277
8.4.1 中断编程 277
8.4.2 按键工作原理 278
8.4.3 按键驱动程序 279
8.4.4 按键驱动的测试程序 285
小结 287
思考与练习 287

第9章 Qt图形编程 288
9.1 嵌入式GUI简介 288
9.1.1 Qt/Embedded 289
9.1.2 MiniGUI 289
9.1.3 Microwindows、Tiny X等 289
9.2 Qt/Embedded开发入门 290
9.2.1 Qt/Embedded介绍 290
9.2.2 Qt/Embedded信号和插槽机制 292
9.2.3 搭建Qt/Embedded开发环境 295
9.2.4 Qt/Embedded窗口部件 298
9.2.5 Qt/Embedded图形界面编程 300
9.2.6 Qt/Embedded对话框设计 302
9.3 实验内容:使用Qt编写“Hello,World”程序 306
小结 309
思考与练习 310

第10章 综合实例——视频监控系统 311
10.1 视频监控系统概述 311
10.1.1 系统组成 311
10.1.2 音视频服务器 312
10.1.3 音视频客户端 312
10.1.4 通信传输控制协议 313
10.2 基本数据结构 315
10.3 功能实现 317
10.3.1 传输控制 317
10.3.2 用户检验 321
10.3.3 控制命令处理 322
10.3.4 云台转动控制 324
10.3.5 线程相关 327
小结 328
思考与练习 328

参考文献 329
……
序言 在社会日益信息化的今天,计算机和网络的应用已经全面渗透到日常生活中。应用嵌人式系统的电子产品随处可见,如人们平常使用的手机、摄像机、医疗仪器、汽车。在经济发达国家,每个家庭平均拥有255个嵌入式系统,如每辆汽车平均装有35个嵌入式系统。嵌入式系统的应用广泛进入到工业、军事、宇宙、通信、运输、金融、医疗、气象、农业等众多领域。
ARM作为一种32位的高性能、低成本的嵌入式RISC处理器,已得到广泛的应用。2007年,全球半导体IP市场规模约为19亿美元,英国的ARM依然位居行业老大的地位,其营业收入约占全行业的四分之一。目前ARM9处理器仍然占据了高端嵌入式产品市场的很大份额。
随着摩托罗拉手机A760、IBM智能型手表WatchPad、夏普PDA Zaurus等一款款高性能“智能数码产品”的出现,以及Motolola、三星、MontaVista、飞利浦、Nokia、IBM、SUN等众多国际顶级巨头的加入,嵌入式Linux的队伍越来越庞大了。目前,国外不少大学、研究机构和知名公司,都加入了嵌入式Linux的开发工作,成熟的嵌入式Linux产品不断涌现。
2004年全球嵌入式Linux市场规模已达9150万美元,2005年有1.336亿美元,2006年有1653亿美元,2007年更至2.011亿美元,每年平均以30%的成长率稳定挖掘科技商机。
本书以ARM920T S3C2410处理器为硬件平台,以嵌入式Linux为软件平台,介绍了嵌入式系统开发的主要环节。本书重点讲解了嵌入式Linux应用开发的基本概念和核心理论,同时结合大量代码实例帮助读者理解和应用相关的概念和理论。突出理论重点,重视实践应用是贯穿本书的理念。
本书没有深入讲解C语言基础、Linux的安装/使用/操作命令等基础知识、操作系统的基本理论、单片机与微机接口原理等基础知识。因此,在学习本书之前,建议读者最好掌握这些基础理论和实践基础。
文摘 插图:


第1章 嵌入式系统基础
1.1 嵌入式系统概述
1.1.1 嵌入式系统的基本概念
在社会日益信息化的今天,计算机和网络的应用已经全面渗透到日常生活中。应用嵌入式系统的电子产品随处可见,如日常使用的手机、摄像机、医疗仪器、汽车,乃至工业控制、航天、航空等设备都要用到嵌入式系统。在一些发达国家,平均每个家庭拥有255个嵌入式系统,如每辆汽车平均装有35个嵌入式系统。嵌入式系统的应用已涉及工业、军事、宇宙、通信、运输、金融、医疗、气象、农业等众多领域。
在嵌入式系统行业内有一个被普遍接受的定义:嵌入式系统是以应用为中心,以计算机控制系统为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。笔者认为,将一套计算机控制系统嵌入到已具有某种完整的特定功能的(或者将会具备完整功能的)系统内(例如各种机械设备),以实现对原有系统的计算机控制,此时将这个计算机控制系统叫做嵌入式系统。简单地说,嵌入式系统就是被嵌入到电子设备中的专用计算系统。
嵌入式系统通常由特定功能模块和计算机控制模块组成,主要由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户应用软件等部分组成。它具有“嵌入性”、“专用性”与“计算机系统”的三个基本要素。嵌入式系统的特点如下。
热点排行