书籍详情

嵌入式Linux C语言开发入门与编程实践

嵌入式Linux C语言开发入门与编程实践

作者:商斌

出版社:电子工业出版社

出版时间:2008-05-01

ISBN:9787121063312

定价:¥68.00

购买这本书可以去
内容简介
  本书从嵌入式系统基础概念讲起,共分3篇、10章。第1篇扼要地介绍嵌入式Linux系统开发的基础知识,并回顾ANSI C语言的语法知识。第2篇介绍嵌入式Linux C语言开发中的重要技术,包括常用数据类型与修饰符、预处理器与重要函数、常用数据结构及嵌入汇编语言与移植性问题等应用性内容,结合项目实例展开讨论。第3篇则分别给出在嵌入式GUI应用开发、驱动开发和网络应用开发等3方面的实际案例,详细讲解了嵌入式Linux C语言开发技术的综合运用。本书具有由浅入深、通俗易懂和注重实践等特点,适合于没有或者缺乏嵌入式Linux程序设计经验的初学者作为嵌入式Linux C语言开发的自学教材,同时也适合于已掌握C语言基础编程技术,需要提高嵌入式C语言编程实践能力,以及对嵌入式Linux编程感兴趣的程序员进行阅读。
作者简介
暂缺《嵌入式Linux C语言开发入门与编程实践》作者简介
目录
第1篇  嵌入式Linux开发介绍
第1章  嵌入式系统基础    3
1.1  嵌入式系统概述    4
1.1.1  身边的嵌入式系统    4
1.1.2  什么是嵌入式系统    6
1.1.3  嵌入式系统发展趋势    9
1.2  嵌入式操作系统    11
1.2.1  概述    11
1.2.2  嵌入式Linux系统    11
1.2.3  其他嵌入式操作系统介绍    15
1.3  ARM处理器平台介绍    17
1.3.1  嵌入式处理器特点与分类    17
1.3.2  ARM处理器介绍    19
1.3.3  ARM体系结构    20
1.4  搭建嵌入式Linux系统
开发环境    24
1.4.1  嵌入式Linux系统的组成
及设计步骤    24
1.4.2  嵌入式Linux开发工具链    25
1.4.3  系统引导程序的移植    26
1.4.4  VIVI移植实现    31
1.5  本章小结    33
第2章  嵌入式Linux C语言开发介绍    35
2.1  嵌入式Linux与C语言    36
2.2  基本编辑器vi的使用    36
2.2.1  进入和退出vi    36
2.2.2  vi的基本编辑命令    37
2.2.3  vi的高级编辑命令    40
2.3  高级编辑器Emacs的使用    43
2.3.1  Emacs的启动与退出    43
2.3.2  Emacs的基本操作    45
2.3.3  Emacs的高级命令    46
2.4  编译器GCC的使用    50
2.4.1  GCC简介    50
2.4.2  GCC的编译过程    50
2.4.3  GCC的常用模式    51
2.4.4  GCC的常用选项    52
2.4.5  GCC的警告功能    53
2.5  调试器GDB的使用    55
2.5.1  GDB的调试过程    55
2.5.2  GDB的基本命令    58
2.5.3  GDB的高级命令    60
2.6  Make工程管理器    64
2.6.1  Make管理器简介    64
2.6.2  Makefile的描述规则    65
2.6.3  一个简单示例    66
2.6.4  make如何工作    67
2.6.5  指定变量    69
2.6.6  自动推导规则    70
2.6.7  另类风格的Makefile    71
2.6.8  清除工作目录过程文件    71
2.7  本章小结    72
第3章  C语言基础回顾    73
3.1  C语言的“基础字符”与
“词汇”    74
3.2  数据类型    75
3.2.1  常量和变量    77
3.2.2  整型数据    78
3.2.3  浮点型数据    81
3.2.4  字符型数据    83
3.2.5  变量初始化    86
3.2.6  各类数值型数据间的
混合运算    87
3.3  运算符与表达式    88
3.3.1  算术运算符和算术表达式    89
3.3.2  赋值运算符和赋值表达式    93
3.3.3  逗号运算符和逗号表达式    97
3.4  程序流程控制    98
3.4.1  选择语句    100
3.4.2  循环语句    107
3.5  字符输入/输出    117
3.5.1  单字符输入/输出    118
3.5.2  格式输入与输出    119
3.6  函数    126
3.6.1  函数的定义与声明    128
3.6.2  函数的参数、值和基本调用    128
3.6.3  函数的嵌套与递归调用    134
3.6.4  数组函数    137
3.6.5  局部变量    141
3.6.6  全局变量和外部变量    142
3.6.7  变量的存储类别    143
3.6.8  内部函数和外部函数    148
3.7  本章小结    150
第2篇  嵌入式Linux C语言开发入门
第4章  嵌入式Linux C语言常用数据
类型与修饰符    157
4.1  指针    158
4.1.1  指针的概念    158
4.1.2  指向指针的指针    161
4.1.3  指针数组    162
4.1.4  函数指针    164
4.1.5  链表    165
4.1.6  嵌入式Linux中指针
使用实例    165
4.2  数组    167
4.2.1  一维数组    168
4.2.2  多维数组    170
4.2.3  字符数组    173
4.2.4  嵌入式Linux中数组
使用实例    176
4.3  结构体与共用体    177
4.3.1  结构体的声明与定义    178
4.3.2  结构体的引用与初始化    181
4.3.3  结构体数组    182
4.3.4  结构体指针    184
4.3.5  共用体    188
4.3.6  typedef的使用    193
4.3.7  嵌入式Linux中结构体与
共用体使用实例    195
4.4  数据类型修饰符    198
4.4.1  const和volatile    199
4.4.2  signed和unsigned    199
4.4.3  short和long    200
4.4.4  near和far    200
4.4.5  嵌入式Linux数据类型
修饰符使用实例    200
4.5  存储类修饰符    201
4.6  本章小结    205
第5章  嵌入式Linux C语言预处理器
与重要函数    207
5.1  头文件的概念和配置    208
5.2  预处理器    210
5.2.1  预处理的概念    211
5.2.2  预定义宏    211
5.2.3  文件包含    214
5.2.4  条件编译    215
5.2.5  行号控制    217
5.3  字符串函数    218
5.3.1  char数据类型    218
5.3.2  字符串输入    221
5.3.3  字符串输出    222
5.3.4  字符串函数    224
5.3.5  嵌入式Linux中字符串编程
实例    235
5.4  文件输入/输出函数    238
5.4.1  嵌入式Linux C文件概述    238
5.4.2  基本I/O函数    240
5.4.3  文件打包和压缩    246
5.4.4  其他I/O函数    250
5.4.5  嵌入式Linux中文件
输入/输出编程实例    252
5.5  内存操作函数    254
5.5.1  类型转换    254
5.5.2  分配和释放内存    261
5.5.3  内存块操作    264
5.5.4  位操作    267
5.5.5  内存关键字    270
5.5.6  嵌入式Linux中内存操作
编程实例    273
5.6  Linux内核函数    276
5.6.1  Linux内核介绍    276
5.6.2  进程管理函数    277
5.6.3  文件操作函数    285
5.6.4  时间函数    297
5.6.5  信号处理函数    298
5.6.6  消息管理函数    306
5.6.7  线程操作函数    310
5.6.8  网络编程函数    318
5.6.9  嵌入式Linux内核的移植和
修改    326
5.6.10 嵌入式Linux中内核
编程实例    329
第6章  嵌入式Linux C语言常用数据
结构    333
6.1  链表    334
6.1.1  链表概述    334
6.1.2  单向链表    335
6.1.3  循环链表    340
6.1.4  双向链表    342
6.1.5  链表与数组    344
6.1.6  链表与栈    345
6.1.7  嵌入式Linux中链表
使用实例    351
6.2  树    352
6.2.1  树概述    352
6.2.2  二叉树    353
6.2.3  平衡二叉树    358
6.2.4  嵌入式Linux中树的使用
实例    359
6.3  哈希表    360
6.3.1  哈希表概述    360
6.3.2  哈希表构造    360
6.3.3  哈希表处理冲突的方法    362
6.3.4  嵌入式Linux中哈希表
使用实例    363
6.4  本章小结    364
第7章  嵌入式Linux C语言嵌入汇编
语言与移植性问题    365
7.1  嵌入汇编语言    366
7.1.1  内嵌汇编的语法    366
7.1.2  GCC对内嵌汇编语言的
处理方法    370
7.1.3  嵌入式Linux中嵌入汇编
实例    371
7.2  移植性问题    374
7.2.1  字长和数据类型    374
7.2.2  数据对齐    376
7.2.3  字节顺序    378
7.2.4  嵌入式Linux中代码移植
实例    378
7.3  本章小结    379
第3篇  嵌入式Linux C语言编程实践
第8章  工控触摸屏人机界面系统的
开发    383
8.1  嵌入式数控系统人机
界面介绍    384
8.1.1  嵌入式数控系统及其人机
界面概述    384
8.1.2  工控触摸屏人机界面系统的
现状    385
8.2  嵌入式数控系统硬件结构    386
8.2.1  CEB270开发板介绍    386
8.2.2  嵌入式数控系统硬件总体
结构    387
8.2.3  Intel Xscale PXA 270处理器    388
8.2.4  Flash    390
8.2.5  SDRAM    390
8.3  人机界面程序开发模式    391
8.3.1  嵌入式数控系统软件结构    391
8.3.2  数控系统人机界面特点    391
8.3.3  嵌入式数控系统的软件开发
模式    392
8.3.4  宿主机与目标机    392
8.3.5  交叉编译    393
8.3.6  远程调试    393
8.3.7  数控系统人机界面开发环境    394
8.4  嵌入式Linux系统移植基础    395
8.4.1  Bootloader的作用    395
8.4.2  Bootloader移植    397
8.4.3  U-BOOT的移植    400
8.4.4  内核启动部分的移植    401
8.5  设备驱动移植基础    406
8.5.1  设备驱动程序接口    408
8.5.2  设备驱动程序模块    409
8.5.3  设备驱动程序结构    410
8.6  文件系统移植基础    411
8.6.1  JFFS2文件系统    411
8.6.2  嵌入式根文件系统    413
8.7  移植U-BOOT到人机界面
开发板上    416
8.7.1  选择U-BOOT的原因    416
8.7.2  U-BOOT主要目录结构    417
8.7.3  U-BOOT支持的主要功能    417
8.7.4  U-BOOT移植过程    418
8.7.5  将U-BOOT移植到开发板
的具体过程    419
8.8  人机界面开发板的Linux内核
移植    421
8.8.1  准备Linux内核源代码    421
8.8.2  修改Linux内核源代码    421
8.8.3  内核调试    423
8.8.4  总结    423
8.9  本章小结    424
第9章  基于PCI总线的无线网卡驱动
开发    425
9.1  Linux设备驱动程序概述    426
9.1.1  Linux设备驱动程序与
内核的关系    426
9.1.2  Linux内核的组成    426
9.1.3  Linux硬件驱动架构    427
9.1.4  设备驱动程序与内核的接口    428
9.1.5  内核为驱动程序提供的支持    429
9.2  Linux设备驱动程序开发基础    431
9.2.1  内存管理问题    431
9.2.2  中断处理    433
9.2.3  I/O端口    438
9.2.4  DMA处理    439
9.2.5  时间流    440
9.3  Linux下的设备与模块分类    443
9.4  Linux字符设备驱动开发介绍    444
9.4.1  主设备号和次设备号    444
9.4.2  字符设备驱动程序的组成    445
9.4.3  文件操作    446
9.5  块设备的驱动程序    448
9.6  网络设备接口驱动程序    449
9.6.1  网络设备概述    449
9.6.2  网络设备与字符设备、块设备
的不同点    450
9.6.3  网络设备的运行机制    450
9.6.4  数据包的发送与接收    451
9.6.5  网络设备驱动的实现模式    452
9.7  Ralink无线网卡介绍    453
9.7.1  Ralink无线网卡结构    453
9.7.2  无线通信协议的选用    454
9.8  Ralink无线网卡驱动开发    455
9.8.1  Ralink无线网卡驱动程序的
开发概述    455
9.8.2  关键数据结构的开发    455
9.8.3  802.11帧结构的设置    460
9.8.4  设备初始化模块驱动程序
开发    463
9.8.5  设备打开模块驱动程序的
开发    465
9.8.6  数据发送模块驱动程序的
开发    471
9.8.7  中断处理模块驱动程序的
开发    478
9.8.8  设备关闭模块驱动程序的
开发    481
9.8.9  设备卸载模块驱动程序的
开发    482
9.8.10 驱动程序IOCTL函数    484
9.8.11 驱动程序的调试    493
9.9  本章小结    494
第10章 基于Linux的嵌入式微
浏览器的设计与开发    495
10.1 嵌入式微浏览器概述    496
10.1.1  嵌入式微浏览器的定义    496
10.1.2  嵌入式微浏览器的
发展历程    496
10.1.3  浏览器的应用    497
10.1.4  嵌入式微浏览器的应用    498
10.1.5  嵌入式微浏览器的设计
要求    499
10.1.6  嵌入式微浏览器与桌面
浏览器的区别    500
10.1.7  嵌入式微浏览器的特点    501
10.1.8  当前主流嵌入式微浏览器
分析    502
10.1.9  3G的概念与业务分类    505
10.1.10 嵌入式微浏览器与3G的
结合    507
10.1.11 嵌入式微浏览器与
WAP技术的结合    508
10.1.12 嵌入式微浏览器与Java
技术的结合    509
10.2 嵌入式微浏览器的相关
协议介绍    510
10.2.1  HTTP概述    510
10.2.2  HTTP报文    510
10.2.3  HTTP请求    513
10.2.4  HTTP响应    515
10.2.5  HTTP实体    516
10.2.6  TCP/IP    516
10.2.7  Socket套接字    518
10.2.8  GPRS    519
10.2.9  PPP    524
10.2.10  WAP规范    529
10.3 嵌入式微浏览器相关规范
与标准介绍    532
10.3.1  HTML规范    532
10.3.2  HTML的语法树    534
10.3.3  CSS 2.0介绍    534
10.3.4  XHTML    535
10.3.5  XML    536
10.3.6  无线标记语言WML    537
10.3.7  DOM技术标准    549
10.3.8  DOM的发展历程    550
10.3.9  XPCOM组件对象模型    552
10.3.10  XPCOM组件    554
10.3.11  XPCOM组件内部机制    556
10.4 嵌入式微浏览器相关技术
难点剖析    559
10.4.1  网页标记的取舍    559
10.4.2  HTML标记的容错处理    560
10.4.3  系统内存优化    563
10.4.4  页面的布局合理性问题    565
10.4.5  可移植性问题    565
10.4.6  DOM的基本接口    566
10.4.7  DOM接口对XHTML
的操作    570
10.4.8  图形用户界面    572
10.5 基于Linux的嵌入式
微浏览器的总体设计    575
10.5.1  体系结构设计    575
10.5.2  总体模块结构    576
10.5.3  主要数据结构    577
10.5.4  嵌入式微浏览器的
数据流程    578
10.6 关键模块的设计与开发    578
10.6.1  系统设计概述    579
10.6.2  HTTP设计和实现    581
10.6.3  HTML解析模块    587
10.6.4  DOM模块    595
10.6.5  Content模块    602
10.6.6  Layout排版模块    602
10.6.7  显示引擎的设计    602
10.6.8  GFX模块    603
10.6.9  Widget模块    608
10.6.10  View模块    611
10.6.11  Embeding API    612
10.7 嵌入式微浏览器在模拟
环境下的运行情况    613
10.8 本章小结    614
猜您喜欢

读书导航