
| 从零开始,轻松入门 图解案例,清晰直观 图文并茂,操作简单 实例引导,专业经典 学习致用,注重实践 |
| 《嵌入式linux c语言基础与实例进阶(配光盘)》 第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章 bootloader36 3.1 bootloader的工作原理36 3.1.1 bootloader概述36 3.1.2 bootloader的启动流程37 3.2 vivi42 3.2.1 vivi的源代码结构42 3.2.2 vivi的启动过程43 3.3 u-boot50 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 什么是shell92 5.2 几种流行的shell93 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 cygwin114 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 nfs122 6.6 tftp124 本章小结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 minigui159 8.2.3 qt/embedded159 8.2.4 microwindows160 8.2.5 opengui161 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 mtd192 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 实例:获得进程id231 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 sensor328 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 |
商品评论(0条)