商家名称 | 信用等级 | 购买信息 | 订购本书 |
嵌入式Linux C语言开发 [平装] | |||
嵌入式Linux C语言开发 [平装] |
《嵌入式Linux C语言开发》讲了嵌入式学院是华清远见在6年高端嵌入式人才培养的基础上倾力打造的“嵌入式领域就业优势倍增”项目,学院充分整合行业经验及专业优势,并借助自身丰富的合作企业资源及专业、科学的实训体系,帮助合作院校时刻紧跟嵌入式行业用人需求的最新趋势。引导毕业生在知识结构上更好地实现与企业真实需求的对接,从而有效提高其就业竞争优势,顺利进入嵌入式专业领域。华清远见嵌入式学院将继续专注于为更多希望从事嵌入式行业工作,但又缺乏相关经验的人员提供更专业的嵌入式实训课程,培养出更多合格的嵌入式人才,以促进行业的健康、持续发展。华清远见嵌入式学院官方网站为www embedtJ 0rg。《高等院校嵌入式人才培养规划教材》系列教材
●ARM嵌入式体系结构与接口技术
●u C/0s II嵌入式操作系统
●嵌入式Linux操作系统
●嵌入式Linux c语言开发
●嵌入式应用程序设计本套教材按照专业整体教学要求组织编写,各自对应的主干课程之间既相对独立又有机衔接,整套教材具有系统性。《ARM嵌入式体系结构与接口技术》侧重介绍接口技术;在操作系统教材方面,考虑到各院校不同的教学侧重点,编写了uc/os II和LinuX两个版本;考虑到本专业对学生c语言能力要求较高,编写了《嵌入式Linux c语言开发》这本教材,可供“c语言基础”课程的后续提高课程使用;《嵌入式应用程序设计》介绍厂贯穿前面所学知识的实训内容,供“Linux用开发”课程使用。书中源代码、ppt课件等辅助教学资料,清到www.ptpedu.com.cn下载。
第1章 嵌入式LinuxC语言开发工具
1.1 嵌入式Linux下C语言概述
1.1.1 C语言简史
1.1.2 C语言特点
1.1.3 嵌入式L,inuxC语言编程环境
1.2 嵌入式Linux编辑器vi的使用
1.2.1 vi的基本模式
1.2.2 vi的基本操作
1.2.3 vi的使用实例分析
1.3 嵌入式Linux.编译器GCC的使用
1.3.1 GC~:概述
1.3.2 Gcc编译流程分析
1.3.3 GCC警告提示
1.3.4 GcC使用库函数
1.3.5 GCC代码优化
1.4 嵌入式Linux调试器GDB的使用
1.4.1 GDB使用实例
1.4.2 设置删除断点
1.4.3 数据相关命令
1.4.4 调试运行环境相关命令
1.4.5 堆栈相关命令
1.5 malke工程管理器
1.5.1 Makefile基本结构
1.5.2 Makefile变量
1.5.3 Makefile规则
1.5.4 make使用
1.6 eclil3se集成开发环境
1.6.1 eclipse简介
1.6.2 eclipse相关术语
1.6.3 安装eclipse集成开发环境(假设宿主机环境为ubuntu8.1 0)
1.6.4 eclipse的使用
小结
思考与练习
第2章 嵌入式LinuxC语言基础
2.1 ANSIC与GNUC
2.1.1 ANSIc简介
2.1.2 GNuC简介
2.2 基本数据类型
2.2.1 整型家族
2.2.2 实型家族
2.2.3 字符型家族
2.2.4 枚举家族
2.2.5 指针家族
2-3变量与常量
2.3.1 变量的定义
2.3.2 typedef
2.3.3 常量的定义
2.4 运算符与表达式
2.4.1 算术运算符和表达式
2.4.2赋值运算符和表达式
2.4.3 逗号运算符和表达式
2.4.4 位运算符和表达式
2.4.5 关系运算符和表达式
2.4.6 逻辑运算符和表达式
2.4.7 sizeof操作符
2.4.8 条件运算符
2.4.9 运算符优先级总结
2.5 程序结构和控制语句
2.5.1 c语言程序结构
2.5.2 C语言控制语句
2.6 数组、结构体和指针
2.6.1 数组
2.6.2 结构体
2.6.3 指针
2.7 函数
2.7.1 概述
2.7.2 函数定义和声明
2.7.3 函数的参数、返回值和调用方法
2.8 attriI)ute机制介绍
2.9 系统调用和应用程序编程接口
2.9.1 系统调用
2.9.2 应用程序编程接口(API)
2.9.3 系统命令
小结
思考与练习
第3章 嵌入式LinuxC语言高级用法
3.1 预处理
3.1.1 预定义
3.1.2 文件包含
3.1.3 条件编译
3.2 c语言中的内存分配
3.2.1 c语言程序所占内存分类
3.2.2 堆和栈的区别
3.3 程序的可移植性考虑
3.3.1 字长和数据类型
3.3.2 数据对齐
3.3.3 字节顺序
3.4 C语言和汇编语言的接口
3.4.1 内联汇编的语法
3.4.2 编译器优化介绍
3.4.3 c语言关键字volatile
3.4.4 “:memorv”描述符
小结
思考与练习
第4章 嵌入式Linux内核常见数据结构
4.1 链表
4.1.1 单向链表
4.1.2 双向链表
4.1.3 循环链表
4.1.4 ARMLinux中链表使用实例
4.2 树、二叉树、平衡树
4.2.1 树的定义
4.2.2 二叉树
4.2.3 平衡树
4.2.4 ARML,inux中红黑树使用实例
4.3 哈希表
4.3.1 哈希表的概念及作用
4.3.2 哈希表的构造方法
4.3.3 哈希表的处理冲突方法
4.3.4 ARMLinux中哈希表使用实例
小结
思考与练习
第5章 嵌入式Linux文件操作
5.1 嵌入式Linux文件系统概述
5.1.1 虚拟文件系统(VFS)
5.1.2 通用文件模型
5.1.3 L,inux下的设备文件
5.2 嵌入式Linux下的I/0操作
5.2.1 不带缓存的文件:I/O操作
5.2.2 标准I/O
5.3 嵌入式Linux下对文件和目录的操作
5.3.1 文件类型
5.3.2 文件访问权限
5.3.3 获取文件属性
5.3.4 修改文件访问权限
5.3.5 创建目录
5.3.6 创建链接文件
5-3.7 删除文件
5.3.8 重命名文件
5.4 嵌入式Linux串口应用开发
5.4.1 串口概述
5.4.2 串口设置详解
5.4.3 串口使用详解
小结
思考与练习
第6章 嵌入式LInux进程和线程编程
6.1 Linux进程概述
6.1.1 进程描述符及任务结构
6.1.2 进程的调度
6.1.3 Linux中的线程
6.2 Linux进程控制相关API
6.3 嵌入式Linux进程问通信
6.3.1 管道通信
6.3.2 信号通信
6.3.3 共享内存
6.3.4 消息队列
6.4 嵌入式Linux线程相关API
6.5 Linux守护进程
6.5.1 守护进程概述
6.5.2 编写规则
6.5.3 守护进程实例
小结
思考与练习
第7章 网络通信相关的C语言应用
7.1 TCP/IP简介
7.1.1 TCPht的分层模型
7.1.2 TCPhf分层模型的特点
7.1.3 TCP/IP核心协议
7.2 套接字的基本知识
7.2.1 套接字(socket)概述
7.2.2 地址及顺序处理
7.3 套接字相关的API及应用
7.3.1 socket函数
7.3.2 bind函数
7.3.3 connect函数
7.3.4 listen函数
7.3.5 accept函数
7.3.6 send、recv函数
7.3.7 sendto、recvfrom函数
7.3.8 close、shutdown函数
7.3.9 setsockopt、getsockopt函数
7.3.10 getpemTlame函数
7.3.11 gethostname函数
7.3.12 编程实例
7.4 套接字高级编程
小结
思考与练习
附录嵌入式LinuxC函数快速参考
随着消费群体对产品要求的日益提高,嵌入式技术在机械器具制造、电子产品制造、通信、信息服务等行业领域得到了大显身手的机会,应用日益广泛,相应地企业对嵌入式人才的需求也越来越多。因此近几年来,各高等院校开始纷纷开设嵌入式专业或课程。但是,各院校在嵌入式专业教学建设的过程中几乎都面临教材难觅的困境。虽然目前市场上的嵌入式开发相关书籍比较多,但几乎都是针对有一定基础的行业内研发人员而编写的,并不完全符合学校的教学要求。学校教学需要一套充分考虑学生现有知识基础和接受度的,明确各门课程教学目标的,便于学校安排课时的嵌入式专业教材。
针对教材缺乏的问题,我们以多年来在嵌入式工程技术领域内人才培养、项目研发的经验为基础,汇总了近几年积累的数百家企业对嵌入式研发相关岗位的真实需求,调研了数十所开设“嵌入式工程技术”专业的高等院校的课程设置情况、学生特点和教学用书现状。通过细致的整理和分析,对专业技能和基本知识进行合理划分,我们编写了这套高等院校嵌入式人才培养规划教材,包括以下5本:
《ARM嵌入式体系结构与接口技术》
《uc/0s II嵌入式操作系统》
《嵌入式Linux操作系统》
《嵌入式Linuxc语言开发》
《嵌入式应用程序设计》
本套教材按照专业整体教学要求组织编写,各自对应的主干课程之间既相对独立又有机衔接,整套教材具有系统性。《ARM嵌入式体系结构与接口技术》侧重介绍接口技术;在操作系统教材方面,考虑到各院校不同的教学侧重点,编写了pC/OS II和Linux两个版本;考虑到本专业对学生c语言能力要求较高,编写了《嵌入式Linux c语言开发》这本少课时的教材,可供“c语言基础”课程的后续提高课程使用;《嵌入式应用程序设计》介绍了贯穿前面所学知识的实训内容,供“Linux应用开发”课程使用。
本书是其中之一。全书共7章,第1章介绍了嵌人式Linux下常用的c语言开发工具,为后面的学习打下基础。第2章和第3章讲解了嵌入式Linux c语言的基础和高级用法。第4章介绍了嵌入式Linux内核中常见的数据结构。第5章为文件操作,主要讲述了Linux系统调用、Linux文件I/0系统、底层文件I/0操作、嵌入式Linux串口应用编程、标准I/0编程等内容。第6章为进程/线程编程,主要讲解了Linux系统下进程的基本概念、与进程管理相关的系统调用、进程间通信的方法和多线程编程的知识。第7章为网络通信相关的c语言应用,主要讲解了Linux环境下网络编程方法。涉及网络的非阻塞访问、异步处理、多路复用等具体实现。
插图:
这里的反斜杠“\”是换行符的意思,用于增加Makefile的可读性。读者可以把这些内容保存在文件名为“Makefile”或“makefile”的文件中,然后在该目录下直接输入命令“make”就可以生成可执行文件“edit”。如果想要删除可执行文件和所有的中间目标文件,只需要简单地执行一下“make clean”即可。
在这个“makefile’’中,目标文件(target)包含以下内容:可执行文件“edit”和中间目标文件“o”,依赖文件(dependency_fie)就是冒号后面的那些“×c”文件和“.h”文件。
每一个“.o”文件都有一组依赖文件,而这些“.o”文件又是可执行文件“edit”的依赖文件。依赖关系表明目标文件是由哪些文件生成的。换言之,目标文件是由哪些文件更新的。
在定义好依赖关系后,后面的一行命令定义了如何生成目标文件。请读者注意,这些命令都是以一个“Tab”键作为开头的。
值得注意的是,make工程管理器并不关心命令是如何工作的,它只负责执行用户事先定义好的命令。同时,make还会比较目标文件和依赖文件的最后修改日期,如果依赖文件的日期比目标文件的日期新,或者目标文件并不存在,那么,make就会执行后续定义的命令。
这里要说明一点,clean不是一个文件,它只不过是一个动作名称,也可称其为标签,不依赖于其他任何文件。
若用户想要执行其后的命令,就要在make命令后显式地指出这个标签的名字。这个方法非常有用,通常用户可以在一个Makefile中定义一些和编译无关的命令,比如程序的打包、备份或删除等。
喜欢嵌入式Linux C语言开发 [平装]请与您的朋友分享,由于版权原因,读书人网不提供图书下载服务