当前位置首页 > 百科> 正文

Linux系统移植

2019-12-16 16:07:23 百科
Linux系统移植

Linux系统移植

本书全面、系统、由浅入深地介绍了linux系统移植的各方面知识。书中的每个章节都有相应的实例编译或移植过程,每个移植实例都具有代表性,在实际套用和开发中有很高的价值。

基本介绍

  • 书名:Linux系统移植
  • 作者:刘刚    赵剑川
  • ISBN:9787302239222
  • 页数:527
  • 出版社:清华大学出版社
  • 出版时间:2011 年1月
  • 开本:16开
  • 丛书名:Linux典藏大系

内容简介

本书附带1张光碟,内容为本书重点内容的教学视频和本书涉及的原始码。另外,还赠送了大量的linux学习视频和其他学习资料。
本书分为4篇。第1篇简单介绍了linux核心和嵌入式linux系统开发环境搭建;第2篇介绍了一个最基本的嵌入式系统的组成部分、bootloader移植、核心移植和档案系统移植;第3篇介绍了lcd、触控萤幕、usb、网卡、音频、sd卡、nandflash等流行的设备驱动移植过程;第4篇从嵌入式产品角度出发,介绍了gui、qtopia、嵌入式资料库berkeley db和sqlite、嵌入式web伺服器boa和thttpd、jvm虚拟机的移植及目前流行的voip技术和相关协定。
本书适合嵌入式linux系统入门人员、linux系统开发和移植、系统分析师等相关人员阅读,也适合作为大、中专院校相关专业的实验教材使用。

目录

第1篇 系统移植基础篇
第1章 linux核心介绍 2
1.1 系统调用接口 2
1.1.1 linux系统调用 2
1.1.2 用户编程接口 2
1.1.3 系统调用与服务例程的对应关係 3
1.1.4 系统调用过程 3
1.1.5 系统调用传递的参数 4
1.2 进程管理 4
1.2.1 进程 4
1.2.2 进程描述符 5
1.2.3 进程状态 6
1.2.4 进程调度 6
1.2.5 进程地址空间 8
1.3 记忆体管理 10
1.3.1 记忆体管理技术 10
1.3.2 记忆体区管理 12
1.3.3 核心中获取记忆体的几种方式 13
1.4 虚拟档案系统 14
1.4.1 虚拟档案系统作用 14
.1.4.2 档案系统的注册 15
1.4.3 档案系统的安装和卸载 15
1.5 设备驱动程式 17
1.5.1 字元设备驱动程式 17
1.5.2 块设备驱动程式 18
1.5.3 网路设备驱动程式 21
1.5.4 记忆体与i/o操作 22
1.6 小结 23
第2章 嵌入式linux开发环境搭建 24
2.1 虚拟机及linux安装 24
2.1.1 虚拟机的安装 24
2.1.2 单独分区安装系统 30
2.1.3 虚拟机和主机通信设定 31
2.1.4 vmware tools工具安装 33
2.1.5 虚拟机与主机已分享档案 35
2.1.6 虚拟机与主机档案传输 36
2.2 交叉编译工具 38
2.2.1 交叉编译工具安装 38
2.2.2 交叉编译器测试 43
2.3 超级终端和minicom 44
2.3.1 超级终端软体的安装 44
2.3.2 minicom使用 45
2.3.3 securecrt使用 48
2.4 核心、档案系统载入工具 48
2.4.1 烧写bootloader 48
2.4.2 核心和档案系统下载 52
2.4.3 应用程式和档案传输 54
2.5 在开发中使用网路档案系统(nfs) 56
2.5.1 虚拟机设定 56
2.5.2 虚拟机的ip地址设定 56
2.5.3 验证网路连线 59
2.5.4 设定已分享资料夹 59
2.5.5 启动nfs服务 60
2.5.6 修改共享配置后 61
2.5.7 挂载nfs 61
2.5.8 双网卡挂载nfs 61
2.6 小结 62
第2篇 系统移植技术篇
第3章 bootloader移植 64
3.1 bootloader介绍 64
3.1.1 bootloader与嵌入式linux系统的关係 64
3.1.2 bootloader基本概念 64
3.1.3 bootloader启动过程 66
3.2 bootloader之u-boot 67
3.2.1 u-boot优点 67
3.2.2 u-boot的主要功能 68
3.2.3 u-boot目录结构 68
3.3 u-boot移植过程 69
3.3.1 环境配置 69
3.3.2 修改cpu/arm920t/start.s 70
3.3.4 具体平台相关修改 79
3.3.5 其他部分修改 81
3.3.6 u-boot的编译 84
3.4 bootloader之vivi 85
3.4.1 vivi简介 85
3.4.2 vivi配置与编译 85
3.4.3 代码分析 88
3.5 vivi的运行 88
3.5.1 bootloader启动的阶段一 89
3.5.2 bootloader启动的阶段二 95
3.6 小结 95
第4章 linux核心裁剪与移植 96
4.1 linux核心结构 96
4.1.1 核心的主要组成部分 96
4.1.2 核心源码目录介绍 97
4.2 核心配置选项 99
4.2.1 一般选项 99
4.2.2 核心模组载入方式支持选项 100
4.2.3 系统调用、类型、特性、启动相关选项 101
4.2.4 网路协定支持相关选项 102
4.2.5 设备驱动支持相关选项 102
4.2.6 档案系统类型支持相关选项 103
4.2.7 安全相关选项 104
4.2.8 其他选项 104
4.3 核心裁剪及编译 105
4.3.1 安装核心原始码 105
4.3.2 检查编译环境设定 105
4.3.3 配置核心 106
4.3.4 编译核心 115
4.4 核心映像档案移植到arm板 116
4.4.1 移植準备 116
4.4.2 烧写系统 118
4.5 核心升级 121
4.5.1 準备升级核心档案 121
4.5.2 移植过程 122
4.6 小结 125
第5章 嵌入式档案系统製作 126
5.1 档案系统选择 126
5.1.1 flash硬体方案比较 126
5.1.2 嵌入式档案系统的分层结构 127
5.2 基于flash的档案系统 127
5.2.1 jffs档案系统(journalling flash filesystem) 128
5.2.2 yaffs档案系统(yet another flash file system) 130
5.2.3 cramfs档案系统(compressed rom file system) 133
5.2.4 romfs档案系统(rom file system) 134
5.3 基于ram的档案系统 135
5.4 档案系统的製作 135
5.4.1 製作ramdisk档案系统 136
5.4.2 製作yaffs2档案系统 144
5.4.3 製作jffs2档案系统 150
5.4.4 其他档案系统製作 152
5.5 小结 153
第3篇 系统移植与驱动篇
第6章 lcd驱动移植 156
6.1 认识lcd相关硬体原理 156
6.1.1 lcd概述 156
6.1.2 lcd控制器 157
6.1.3 lcd控制器方块图 157
6.1.4 lcd控制器操作 158
6.1.5 lcd控制暂存器 163
6.2 lcd参数设定 166
6.3 核心lcd驱动机制 167
6.3.1 framebuffer概述 167
6.3.2 framebuffer 设备驱动的结构 167
6.4 linux 2.6.25的lcd驱动源码分析 171
6.4.1 lcd驱动开发的主要工作 171
6.4.2 s3c2410fb_init()函式分析 172
6.4.3 s3c2410fb_probe()函式分析 173
6.4.4 s3c2410fb_remove()函式分析 178
6.5 移植核心中的lcd驱动 179
6.5.1 lcd硬体电路图 179
6.5.2 修改lcd源码 179
6.5.3 配置核心 184
6.6 小结 187
第7章 触控萤幕驱动移植 188
7.1 触控萤幕概述 188
7.1.1 触控萤幕工作原理 188
7.1.2 触控萤幕的主要类型 188
7.2 s3c2440 adc接口使用 191
7.2.1 s3c2440触控萤幕接口概述 191
7.2.2 s3c2440触控萤幕接口操作 192
7.3 2.6核心触控萤幕驱动源码分析(s3c2410_ts.c源码分析) 196
7.4 linux核心输入子系统介绍 201
7.4.1 input子系统概述 202
7.4.2 输入设备结构体 202
7.4.3 输入链路的创建过程 205
7.4.4 使用input子系统 206
7.4.5 编写输入设备驱动需要完成的工作 208
7.5 触控萤幕驱动移植和核心编译 209
7.5.1 修改初始化源码 209
7.5.2 修改硬体驱动源码s3c2440_ts.c 211
7.5.3 修改kconfig和makefile 213
7.5.4 配置编译核心 214
7.5.5 触控萤幕测试程式设计 215
7.6 小结 216
第8章 usb设备驱动移植 217
8.1 usb协定 217
8.1.1 usb协定的系统主要组成部分 217
8.1.2 汇流排物理拓扑结构 219
8.1.3 usb设备、配置、接口、端点 219
8.1.4 usb设备状态 222
8.1.5 usb枚举过程 223
8.1.6 usb请求块(urb) 226
8.2 usb主机驱动 230
8.2.1 usb主机驱动结构和功能 230
8.2.2 主机控制器驱动(usb_hcd) 231
8.2.3 ohci主机控制器驱动 233
8.2.4 s3c24xx ohci主机控制器驱动实例 234
8.3 usb设备驱动 237
8.3.1 usb骨架程式分析 237
8.3.2 usb驱动移植的时钟设定 241
8.4 usb滑鼠键盘驱动 242
8.4.1 usb滑鼠驱动代码分析 242
8.4.2 usb键盘驱动代码分析 245
8.4.3 核心中添加usb滑鼠键盘驱动 248
8.5 u盘驱动 249
8.5.1 核心配置 249
8.5.2 移植和测试 250
8.6 小结 252
第9章 网卡驱动程式移植 253
9.1 乙太网概述 253
9.1.1 乙太网连线 253
9.1.2 乙太网技术概述 254
9.1.3 乙太网的帧结构 256
9.2 网路设备驱动程式体系结构 258
9.2.1 嵌入式linux网路驱动程式介绍 258
9.2.2 linux网路设备驱动的体系结构 259
9.2.3 网路设备驱动程式编写方法 259
9.2.4 网路设备驱动程式套用实例 261
9.3 net_device 数据结构 262
9.3.1 全局信息 262
9.3.2 硬体信息 263
9.3.3 接口信息 263
9.3.4 设备方法 266
9.3.5 公用成员 268
9.4 dm9000网卡概述 268
9.4.1 dm9000网卡总体介绍 269
9.4.2 dm9000网卡的特点 269
9.4.3 内部暂存器 270
9.4.4 功能描述 274
9.5 dm9000网卡驱动程式移植 275
9.5.1 dm9000网卡连线 275
9.5.2 驱动分析——硬体的数据结构 276
9.5.3 驱动分析——数据读写函式 277
9.5.4 驱动分析——重置网卡 277
9.5.5 驱动分析——初始化网卡 277
9.5.6 驱动分析——打开和关闭网卡 282
9.5.7 驱动分析——数据包的传送与接收 283
9.5.8 dm9000网卡驱动程式移植 285
9.6 小结 288
第10章 音频设备驱动程式移植 289
10.1 音频设备接口 289
10.1.1 pcm(脉冲编码调製)接口 289
10.1.2 iis(inter-ic sound)接口 289
10.1.3 ac97(audio codec 1997)接口 289
10.1.4 linux音频设备驱动框架 290
10.2 linux音频设备驱动——oss驱动框架 291
10.2.1 oss驱动架构硬体 291
10.2.2 oss驱动架构代码 291
10.2.3 oss初始化函式oss_init() 293
10.2.4 oss释放函式oss_cleanup() 294
10.2.5 打开设备档案函式sound_open() 295
10.2.6 录音函式sound_read() 296
10.2.7 播放函式sound_write() 297
10.2.8 控制函式sound_ioctl() 297
10.3 linux音频设备驱动——alsa驱动框架 298
10.3.1 card和组件 299
10.3.2 pcm设备 303
10.3.3 控制接口 306
10.3.4 ac97 api音频接口 308
10.4 音频设备应用程式编写 312
10.4.1 dsp接口编程 312
10.4.2 mixer接口编程 315
10.4.3 alsa应用程式编程 316
10.5 音频设备驱动移植 318
10.5.1 添加uda1341结构体 318
10.5.2 修改录音通道 319
10.5.3 核心中添加uda1341驱动支持 320
10.5.4 移植新核心并进行测试 321
10.6 音频播放程式madplay的移植 322
10.6.1 準备移植需要的源档案 322
10.6.2 交叉编译 322
10.6.3 移植和测试 323
10.6.4 编译中可能遇到的问题 324
10.7 小结 324
第11章 sd卡驱动移植 325
11.1 sd卡简介 325
11.1.1 sd卡系统概念 325
11.1.2 sd卡暂存器 325
11.1.3 sd功能描述 326
11.2 sd卡驱动程式分析 329
11.2.1 host驱动部分 330
11.2.2 core驱动部分 333
11.2.3 card驱动部分 337
11.3 sd卡移植步骤 339
11.3.1 添加延时和中断 339
11.3.2 配置核心 340
11.3.3 烧写新核心 341
11.4 小结 342
第12章 nandflash驱动移植 343
12.1 nandflash介绍 343
12.1.1 nandflash命令介绍 343
12.1.2 nandflash控制器 344
12.2 nandflash驱动介绍 345
12.2.1 nand晶片结构 345
12.2.2 nandflash驱动分析 346
12.3 nandflash驱动移植 351
12.3.1 核心的修改 351
12.3.2 核心的配置和编译 353
12.4 小结 353
第4篇 系统移植高级篇
第13章 minigui与移植 356
13.1 minigui在上位机中的安装 356
13.1.1 安装需要的安装档案 356
13.1.2 minigui的运行模式 357
13.1.3 编译并安装minigui 357
13.1.4 编译安装minigui需要的图片支持库 360
13.1.5 编译minigui应用程式例子 360
13.2 eclipse开发minigui程式 361
13.2.1 linux下安装eclipse介绍 361
13.2.2 使用eclipse编译minigui程式 363
13.2.3 设定外部工具 367
13.2.4 运行程式 368
13.3 vc++6.0开发minigui程式 368
13.3.1 安装windows开发库 368
13.3.2 建立新工程 369
13.3.3 添加档案和设定工程 370
13.3.4 编译和运行程式 371
13.3.5 minigui程式编程风格举例 372
13.4 minigui的交叉编译和移植 374
13.4.1 交叉编译minigui 375
13.4.2 移植minigui程式 376
13.5 小结 378
第14章 qt开发与qtopia移植 379
14.1 qt安装与编程 379
14.1.1 下载安装qt 379
14.1.2 qt编程 380
14.1.3 使用qmake生成makefile 382
14.2 qtopia core在x86平台上的安装和套用 383
14.2.1 qtopia core安装準备 383
14.2.2 编译qtopia core 384
14.2.3 qtopia在x86平台上的套用开发 385
14.3 qtopia core在嵌入式linux上的移植 388
14.3.1 qtopia core移植準备 389
14.3.2 交叉编译qtopia core 389
14.3.3 编译核心 392
14.3.4 应用程式开发 392
14.3.5 应用程式移植 395
14.4 小结 395
第15章 嵌入式资料库berkeley db移植 396
15.1 资料库的基本概念 396
15.1.1 利用文档和原始码 396
15.1.2 创建环境句柄 396
15.1.3 创建资料库句柄 397
15.1.4 打开资料库 398
15.1.5 dbt结构 398
15.1.6 存取数据 399
15.1.7 关闭资料库 400
15.2 berkeley db资料库安装 400
15.2.1 安装成c库 400
15.2.2 安装成c++库 401
15.2.3 交叉编译安装berkeley db 401
15.3 使用berkeley db资料库 403
15.3.1 代码分析 403
15.3.2 编译运行程式 406
15.4 移植berkeley db资料库 407
15.4.1 资料库设计 407
15.4.2 编写应用程式 407
15.4.3 调试和交叉编译应用程式 409
15.4.4 资料库的移植和测试 410
15.5 小结 410
第16章 嵌入式资料库sqlite移植 411
16.1 sqlite支持的sql语句 411
16.1.1 数据定义语句 411
16.1.2 数据操作语句 412
16.2 sqlite资料库编译、安装和使用 412
16.2.1 安装sqlite 413
16.2.2 利用sql语句操作sqlite资料库 413
16.2.3 利用c接口访问sqlite资料库 414
16.3 移植sqlite 417
16.3.1 交叉编译sqlite 417
16.3.2 交叉编译应用程式 418
16.4 移植sqlite资料库 418
16.4.1 档案移植 419
16.4.2 运行应用程式 419
16.4.3 测试sqlite3 419
16.5 小结 421
第17章 嵌入式web伺服器boa移植 422
17.1 boa介绍 422
17.1.1 boa的功能 422
17.1.2 boa流程分析 423
17.1.3 boa配置信息 426
17.2 boa编译和html页面测试 428
17.2.1 编译boa原始码 428
17.2.2 设定boa配置信息 429
17.2.3 测试boa 429
17.3 cgi脚本测试 431
17.3.1 编写测试代码 431
17.3.2 编译测试程式 431
17.3.3 测试cgi脚本 431
17.4 boa交叉编译与移植 431
17.4.1 交叉编译boa 432
17.4.2 準备测试程式 432
17.4.3 配置boa 432
17.4.4 测试 433
17.5 boa与sqlite结合 433
17.5.1 通过cgi程式访问sqlite 434
17.5.2 编译和测试 436
17.6 小结 437
第18章 嵌入式web伺服器thttpd移植 438
18.1 thttpd介绍 438
18.1.1 web伺服器比较 438
18.1.2 thttpd的特点 438
18.1.3 thttpd核心代码分析 439
18.2 thttpd编译和html页面测试 442
18.2.1 配置档案介绍 442
18.2.2 thttpd编译 443
18.2.3 运行和测试thttpd 443
18.3 cgi脚本测试 446
18.3.1 编写测试代码 446
18.3.2 编译测试程式 447
18.3.3 测试cgi脚本 447
18.4 thttpd交叉编译与移植 447
18.4.1 交叉编译thttpd 447
18.4.2 交叉编译cgi程式 448
18.4.3 移植thttpd 448
18.4.4 测试 449
18.5 thttpd与嵌入式资料库结合 450
18.5.1 通过cgi程式访问sqlite 450
18.5.2 编译和测试 452
18.6 小结 453
第19章 jvm及其移植 454
19.1 jvm介绍 454
19.1.1 jvm原理 454
19.1.2 jvm支持的数据类型 455
19.1.3 jvm指令系统 456
19.1.4 jvm暂存器 456
19.1.5 jvm栈结构 456
19.1.6 jvm碎片回收堆 459
19.1.7 jvm异常抛出和异常捕获 459
19.2 类装载 460
19.2.1 装载类的结构体 460
19.2.2 装载类的操作 461
19.3 垃圾回收 463
19.3.1 mark-and-sweep回收算法 464
19.3.2 分代回收算法 465
19.3.3 增量收集 466
19.4 解析器 466
19.4.1 函式interpret() 466
19.4.2 函式fastinterpret() 467
19.4.3 函式slowinterpret () 469
19.5 java编程浅析 470
19.5.1 java程式命令 470
19.5.2 java构造函式 470
19.5.3 java主函式 470
19.5.4 java程式编译与运行 471
19.6 kvm执行过程 471
19.6.1 kvm启动过程 471
19.6.2 kvm用到的计数器清零 474
19.6.3 kvm初始化记忆体管理 475
19.6.4 kvm中的哈希表初始化 476
19.6.5 kvm中的事件初始化 477
19.6.6 kvm中的资源释放 477
19.7 pc机安装jvm 477
19.7.1 jvm在windows上的安装 478
19.7.2 jvm在linux上的安装 479
19.8 kvm移植和测试 480
19.8.1 sdk安装和环境变数设定 480
19.8.2 修改makefile和代码 480
19.8.3 kvm编译 481
19.8.4 测试 481
19.8.5 移植 483
19.9 小结 485
第20章 voip技术与linphone编译 486
20.1 voip介绍 486
20.1.1 voip基本原理 486
20.1.2 voip的基本传输过程 487
20.1.3 voip的优势 487
20.1.4 voip的实现方式 487
20.1.5 voip的关键技术 488
20.2 osip协定概述 488
20.3 osip状态机 489
20.3.1 ict(invite client (outgoing) transaction)状态机 489
20.3.2 nict(non-invite client (outgoing) transaction)状态机 498
20.3.3 ist(invite server (incoming) transaction)状态机 499
20.3.4 nist(non-invite server (incoming) transaction)状态机 500
20.4 osip解析器 500
20.4.1 初始化解析类型函式osip_body_init() 500
20.4.2 释放函式osip_body_free() 501
20.4.3 字元串到body类型转换函式osip_body_parse() 501
20.4.4 body类型到字元串类型转换函式osip_body_to_str() 502
20.4.5 克隆函式osip_body_clone() 504
20.4.6 osip解析器分类 505
20.5 osip事务层 506
20.6 sip建立会话的过程 508
20.7 rtp协定 510
20.7.1 rtp基本概念 510
20.7.2 传送rtp 511
20.7.3 接收rtp 513
20.8 linphone编译与测试 515
20.8.1 编译linphone需要的软体包 516
20.8.2 x86平台上编译和安装 516
20.8.3 linphone测试 519
20.8.4 进一步的测试和开发 523
20.9 linphone交叉编译 523
20.9.1 linphone的交叉编译 523
20.9.2 linphone的测试 526
20.10 小结 527

前言

随着各种晶片技术的发展,各种嵌入式产品也如雨后春笋一般地出现了。目前,嵌入式产品套用领域涉及移动通信、汽车、医疗、家电等很多领域。而且,如今的嵌入式硬体的速度和容量越来越接近于PC,因此在这些嵌入式产品上运行作业系统就成为了可能。一直以来,很多企业花费了巨大成本研发了大量运行在PC上的软体产品。如果将这些优秀的软体套用在嵌入式系统中,将会成为快速开发嵌入式系统,降低嵌入式产品开发成本,提高软体稳定性和安全性的重要途径。
目前,国内图书市场上还鲜见专门介绍Linux系统移植的图书。为了给广大Linux开发人员和爱好者学习Linux系统移植提供一些有价值的参考资料,笔者花费一年多的时间编写了本书。
本书注重实践,包含了丰富的移植实例,这些实例各具特点,从基础的系统组成到设备驱动,再到高级套用,适合各个层面的读者学习和研究。本书中的实例是笔者根据实际项目中嵌入式产品的功能需求,专门选择的具有代表性的开源软体进行移植,包含了常见的嵌入式产品的最小系统组成部分移植,同时选择了套用比较多的资料库、Web伺服器、GUI等进行移植。笔者通过亲自体会每次编译和移植过程,详细说明移植的细节,对移植过程中遇到的问题也给出了解决方法。本书最后还介绍了VoIP技术,并结合源码分析了VoIP的实现,同时还介绍了VoIP的详细编译过程。本书是笔者从事嵌入式开发的经验总结,希望能给目前从事嵌入式研发和学习的读者提供最有效的帮助,能使读者的嵌入式系统最快地运行起来,使读者在最短的时间内成功移植开源软体。
本书使用的原始码均为开原始码,读者可以从对应的官方网站获得。本书对于源码的重要部分进行了详细的分析,建议读者在阅读时对应源码进行阅读效果会更好。
本书特色
1.多媒体语音视频讲解,高效、直观
笔者对本书重点内容专门录製了多媒体教学视频,这将会大大提高读者的学习效率。
2.编译过程详细
本书的编译过程都附有详细的编译命令,对于複杂的命令均给出了说明,方便读者实际操作。读者可以边阅读本书,边动手进行实验。
3.内容全面、选材具有特点
本书介绍了最小系统的引导程式移植、核心移植、档案系统移植、各种驱动移植等内容。另外,本书还专门介绍了嵌入式资料库、嵌入式GUI、嵌入式Web伺服器、嵌入式JVM、VoIP技术等内容。对于资料库、GUI、Web伺服器分别选择了两种进行介绍,读者可以从性能上进行对比,然后套用在自己的项目中。
4.内容由浅入深、循序渐进,可操作性强
本书按照由浅入深、循序渐进的梯度安排内容,适合各个层次的读者阅读。书中每章内容都遵循原理分析-代码分析-编译-测试-移植的学习顺序,具有较强的可操作性。
5.贯穿了大量的编译技巧,可迅速提升移植水平
本书在讲解编译过程时贯穿了大量的编译技巧,并针对移植过程中的编译错误介绍了如何发现错误的源头,同时给出了解决方法。这则有利于读者解决类似的编译问题,提升系统移植的水平。
6.详细介绍了流行工具的使用
本书介绍了在开发中使用Eclipse和VC++ 6.0,这两种工具分别为Java程式设计师和C++程式设计师最熟悉的工具。书中介绍了在Linux下安装Eclipse、使用Eclipse开发C++项目及使用VC++ 6.0开发的基本方法等。
本书内容及知识体系
第1篇 系统移植基础篇(第1、2章)
本篇介绍了系统移植的基础。首先对Linux核心进行了简单介绍,然后介绍了系统移植环境的搭建。通过对本篇内容的学习,读者可以对Linux系统有初步认识,能掌握嵌入式Linux开发工具的使用,能正确搭建开发平台,能够製作编译好的嵌入式系统。
.第2篇 系统移植技术篇(第3~5章)
本篇介绍了一个最基本的嵌入式系统的组成部分、Bootloader、核心和档案系统的移植。学习完本篇内容后,读者能够动手独立编译和移植一个基本的嵌入式系统。
第3篇 系统移植驱动篇(第6~12章)
本篇介绍了各种驱动的移植,包括LCD、触控萤幕、USB、网卡、音频、SD卡、NandFlash等流行的设备驱动的移植过程。通过对本篇内容的学习,读者对嵌入式Linux驱动移植将会有一定的认识,可以基本掌握驱动的移植步骤,能完成简单的驱动移植。
第4篇 系统移植高级篇(第13~20章)
本篇从嵌入式产品的角度出发,介绍了系统移植中各种类型的高层软体移植,包括GUI、资料库、Web伺服器、虚拟机的移植,最后还介绍了目前流行的VoIP技术,并结合源码介绍了VoIP相关协定和编译方法。通过学习本篇内容,读者可以掌握很多移植技巧,能够将这些实例套用到自己的项目中。
本书读者对象
嵌入式移植人员;
嵌入式专业的学生;
嵌入式实验指导老师;
嵌入式培训学员和老师;
系统分析师;
项目研发人员。
本书作者及编委会成员
本书由刘刚和赵剑川主笔编写,其他参与编写的人员有毕梦飞、蔡成立、陈涛、陈晓莉、陈燕、崔栋栋、冯国良、高岱明、黄成、黄会、纪奎秀、江莹、靳华、李凌、李胜君、李雅娟、刘大林、刘惠萍、刘水珍、马月桂、闵智和、秦兰、汪文君、文龙。在此一併表示感谢。
本书编委会成员有欧振旭、陈杰、陈冠军、顼宇峰、张帆、陈刚、程彩红、毛红娟、聂庆亮、王志娟、武文娟、颜盟盟、姚志娟、尹继平、张昆、张薛。
本书技术支持
您在阅读本书的过程中若碰到什幺问题,请通过以下方式联繫我们,我们会及时地答覆您。
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:baisebaisebaise@yeah.net