嵌入式Linux C语言基础与实例进阶

副标题:无

作   者:闫广明,张扬,王冠然编著

分类号:

ISBN:9787302268888

微信扫一扫,移动浏览光盘

简介

本书面向Linux C语言初中级读者,全书共分三大篇16章。

目录

040500-01.txt
目 录
第1章 嵌入式系统基础知识 1
 1.1 嵌入式系统概述 1
  1.1.1 嵌入式系统简介 1
  1.1.2 嵌入式系统的组成 2
  1.1.3 嵌入式系统的应用领域 4
  1.1.4 嵌入式系统的发展趋势 5
 1.2 ARM处理器平台介绍 5
  1.2.1 ARM处理器简介 6
  1.2.2 ARM体系结构 6
  1.2.3 ARM微处理器系列 8
  1.2.4 ARM处理器的应用领域和特点 11
 1.3 Linux操作系统 12
  1.3.1 Linux的发展历史 12
  1.3.2 Linux发行版本 13
  1.3.3 Linux系统的特点和组成 14
  1.3.4 Linux常用命令 16
 1.4 嵌入式系统开发 22
 本章小结 24
 思考与练习 24
第2章 Linux环境下C语言的开发 25
 2.1 C语言简单回顾 25
 2.2 Linux程序设计基础知识 26
  2.2.1 程序安装目录 26
  2.2.2 头文件 27
  2.2.3 库文件 27
 2.3 Linux下的C语言开发环境 30
 2.4 嵌入式Linux C语言开发流程和开发工具 30
 2.5 嵌入式Linux中程序的运行原理 31
 2.6 Linux程序设计的特点 33
 2.7 Linux下C语言编码的风格 34
 本章小结 35
 思考与练习 35
第3章 Bootloader 36
 3.1 Bootloader的工作原理 36
  3.1.1 Bootloader概述 36
  3.1.2 Bootloader的启动流程 37
 3.2 ViVi 42
  3.2.1 ViVi的源代码结构 42
  3.2.2 ViVi的启动过程 43
 3.3 U-Boot 50
  3.3.1 U-Boot的特点 50
  3.3.2 U-Boot的目录结构 50
  3.3.3 U-Boot的启动过程 51
  3.3.4 U-Boot的移植 55
  3.3.5 U-Boot与内核的关系 55
 本章小结 61
 思考与练习 61
第4章 Linux环境下C语言编程基础 62
 4.1 Vi编辑器 62
  4.1.1 Vi的基本模式 62
  4.1.2 Vi的基本操作 63
 4.2 Vim编辑器 65
  4.2.1 Vim的启动 66
  4.2.2 保存与打开文件 67
  4.2.3 移动光标 67
  4.2.4 插入 68
  4.2.5 删除 69
  4.2.6 取消 69
  4.2.7 保存 70
  4.2.8 退出 70
 4.3 GCC编译器 70
  4.3.1 GCC编译流程分析 71
  4.3.2 实例:GCC编译程序 71
  4.3.3 实例:GCC编译多重源代码文件 77
  4.3.4 GCC编译选项分析 78
  4.3.5 GCC使用库函数 80
  4.3.6 实例:静态库的创建 81
 4.4 GDB调试器 82
  4.4.1 GDB调试器概述 82
  4.4.2 实例:GDB调试程序 83
 4.5 Make工程管理器 86
  4.5.1 Makefile文件的构成 87
  4.5.2 Makefile变量 88
  4.5.3 Make工程管理器的使用 90
 本章小结 91
 思考与练习 91
第5章 Linux Shell编程 92
 5.1 什么是Shell 92
 5.2 几种流行的Shell 93
 5.3 bash的特点 94
 5.4 Shell程序设计基础 95
  5.4.1 Shell的基本语法 95
  5.4.2 Shell程序的变量和参数 96
  5.4.3 Shell的测试命令 100
  5.4.4 Shell的条件语句 101
  5.4.5 Shell的循环语句 102
  5.4.6 函数 104
  5.4.7 命令分组 104
  5.4.8 引号的使用方法 104
  5.4.9 实例:Shell菜单程序 105
  5.4.10 实例:自动调用ftp传输软件 106
 5.5 运行Shell程序的方法 107
 5.6 bash的内部命令和外部命令 107
 本章小结 109
 思考与练习 109
第6章 创建嵌入式系统开发环境 111
 6.1 嵌入式系统开发环境的构建 111
 6.2 Cygwin 114
 6.3 超级终端和minicom的配置及使用 115
 6.4 嵌入式Linux操作系统内核编译 116
  6.4.1 Linux内核结构 116
  6.4.2 内核的配置 119
  6.4.3 内核编译的过程 120
  6.4.4 内核的移植 121
 6.5 NFS 122
 6.6 Tftp 124
 本章小结 125
 思考与练习 125
第7章 C程序基础 126
 7.1 数据、运算符、表达式 126
  7.1.1 C程序的结构和语法规则 126
  7.1.2 C程序语句概述 126
  7.1.3 标识符 127
  7.1.4 关键字 128
  7.1.5 常量 128
  7.1.6 变量 128
  7.1.7 基本数据类型 129
  7.1.8 算术运算符、赋值运算符及其表达式 130
  7.1.9 关系运算符、逻辑运算符及其表达式 132
 7.2 数据的输入和输出 133
  7.2.1 数据的输出 134
  7.2.2 数据的输入 135
  7.2.3 实例:汉诺塔 136
 7.3 基本语句 138
  7.3.1 语句和复合语句 138
  7.3.2 条件语句 139
  7.3.3 实例:查找最小值 140
  7.3.4 循环控制 141
 7.4 数组 143
  7.4.1 一维数组 143
  7.4.2 二维数组 145
  7.4.3 字符数组和字符串 146
  7.4.4 实例:数值顺序输出 147
 7.5 函数与指针 148
  7.5.1 函数 149
  7.5.2 指针 151
  7.5.3 函数使用实例:数值比较 154
  7.5.4 指针使用实例:倒序输出 155
 本章小结 156
 思考与练习 157
第8章 嵌入式GUI技术 158
 8.1 嵌入式图形用户界面简介 158
 8.2 Linux下几种主流GUI介绍 158
  8.2.1 紧缩的X Window系统 158
  8.2.2 MiniGUI 159
  8.2.3 Qt/Embedded 159
  8.2.4 MicroWindows 160
  8.2.5 OpenGUI 161
  8.2.6 GTK+ 161
 8.3 基于MiniGUI的图形界面开发 162
  8.3.1 MiniGUI程序框架 163
  8.3.2 MiniGUI的窗口和消息 164
  8.3.3 实例:MiniGUI窗口编程 167
  8.3.4 菜单 172
  8.3.5 键盘与鼠标 172
  8.3.6 对话框 173
  8.3.7 常用控件 174
  8.3.8 实例:MiniGUI控件编程 177
 本章小结 181
 思考与练习 181
第9章 嵌入式文件系统与存储技术 183
 9.1 嵌入式文件系统的功能和特点 183
 9.2 Linux常见的文件系统 184
 9.3 Linux文件结构 186
  9.3.1 Linux文件类型 188
  9.3.2 Linux文件的访问权限控制 190
  9.3.3 MTD 192
 9.4 FLASH存储技术 193
  9.4.1 FLASH的类型 196
  9.4.2 NOR FLASH与NAND FLASH的区别 197
 9.5 基于FAT的嵌入式文件系统设计 198
  9.5.1 FAT文件系统的组成 198
  9.5.2 FAT层逻辑文件系统的总体框架 199
 本章小结 202
 思考与练习 202
第10章 嵌入式Linux设备驱动开发 203
 10.1 Linux设备驱动开发概述 203
  10.1.1 设备驱动和文件系统的关系 204
  10.1.2 设备类型和设备号 204
 10.2 设备驱动模块化编程 205
  10.2.1 设备驱动程序原理 205
  10.2.2 设备访问方式及实现 207
  10.2.3 内核与驱动程序的关系 209
  10.2.4 中断处理 210
 10.3 Linux字符设备驱动 211
  10.3.1 字符设备驱动概述 211
  10.3.2 实例:字符设备驱动 214
 10.4 块设备驱动 217
  10.4.1 块设备驱动简介 217
  10.4.2 块设备相关结构体 218
 10.5 网络设备驱动 223
  10.5.1 网络设备概述 223
  10.5.2 网络设备的运行机制 224
  10.5.3 sk_buff数据结构 225
  10.5.4 数据包的发送与接收 227
  10.5.5 网络设备驱动程序的加载 228
 本章小结 229
 思考与练习 229
第11章 进程 230
 11.1 进程概述 230
  11.1.1 进程标识 230
  11.1.2 实例:获得进程ID 231
  11.1.3 Linux进程的结构 232
  11.1.4 Linux进程状态 232
  11.1.5 Linux进程控制块结构描述 233
 11.2 进程控制 234
  11.2.1 创建进程 234
  11.2.2 实例:创建进程 234
  11.2.3 创建守护进程 235
  11.2.4 实例:创建守护进程 236
  11.2.5 进程退出 238
  11.2.6 改变进程的优先级 238
  11.2.7 执行新程序 240
  11.2.8 等待进程结束 240
  11.2.9 实例:进程等待 241
 11.3 进程的内存映像 243
 11.4 Linux进程调度 243
 11.5 进程间通信 244
  11.5.1 管道 245
  11.5.2 有名管道 246
  11.5.3 消息队列 246
  11.5.4 信号量 249
  11.5.5 共享内存 250
  11.5.6 实例:进程通信 252
 本章小结 255
 思考与练习 255
第12章 线程 256
 12.1 线程概述 256
 12.2 创建线程 256
  12.2.1 创建线程概述 256
  12.2.2 实例:创建线程 257
 12.3 获取/设置线程属性 258
  12.3.1 获取/设置线程属性的函数 259
  12.3.2 实例:读取和设置线程属性 262
 12.4 取消线程 263
 12.5 线程的私有数据 264
  12.5.1 操作线程私有数据的函数 264
  12.5.2 实例:线程私有数据 265
 12.6 等待线程 266
 12.7 信号量 267
 12.8 互斥锁 269
  12.8.1 互斥锁操作函数 269
  12.8.2 实例:互斥锁 271
 12.9 条件变量 272
  12.9.1 条件变量操作 272
  12.9.2 实例:条件变量使用 274
 本章小结 275
 思考与练习 276
第13章 Linux网络编程 277
 13.1 网络编程的基本概念 277
  13.1.1 IP地址 277
  13.1.2 端口 278
  13.1.3 域名 278
  13.1.4 TCP/IP协议 279
  13.1.5 PPP协议 280
 13.2 Socket通信 281
  13.2.1 Socket概述 281
  13.2.2 Socket基础 282
  13.2.3 Socket网络编程 283
  13.2.4 实例:Socket聊天编程 287
  13.2.5 实例:利用Socket进行通信 292
 本章小结 296
 思考与练习 296
第14章 嵌入式视频采集系统 297
 14.1 系统方案论证 297
 14.2 嵌入式开发平台搭建 298
  14.2.1 Linux操作系统 298
  14.2.2 建立交叉编译环境 298
 14.3 S3C2440A介绍 300
 14.4 嵌入式软件平台 303
  14.4.1 U-Boot移植 304
  14.4.2 Linux内核移植 309
  14.4.3 根文件系统移植 311
  14.4.4 配置对USB设备的支持 314
  14.4.5 USB摄像头驱动移植 315
 14.5 视频采集系统平台的软件实现 316
  14.5.1 嵌入式Web服务器 316
  14.5.2 嵌入式视频服务器 318
 本章小结 322
第15章 指纹识别门禁系统设计 323
 15.1 自动指纹识别系统概述 323
 15.2 指纹识别原理 323
  15.2.1 指纹特征 324
  15.2.2 指纹图像增强的方法 325
  15.2.3 指纹特征的提取 326
  15.2.4 指纹图像匹配 326
  15.2.5 指纹识别系统的性能参数 327
 15.3 系统硬件结构介绍 327
 15.4 指纹传感器U.are.U 4000b sensor 328
 15.5 系统的软件结构 329
 15.6 Linux内核以及Bootloader移植 330
 15.7 界面功能介绍 335
 本章小结 336
第16章 基于Web Service的嵌入式智能家居系统 337
 16.1 系统概述 337
 16.2 Web Service介绍 338
 16.3 系统设计 339
 16.4 家庭设备操作 341
 16.5 服务器对外接口的Web Service实现 342
 16.6 视频采集 343
 本章小结 351
  
  
XII
  
XIII
  
  
  

已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

嵌入式Linux C语言基础与实例进阶
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    亲爱的云图用户,
    光盘内的文件都可以直接点击浏览哦

    无需下载,在线查阅资料!

    loading icon