课程简介
嵌入式Linux应用层程序开发(约3周)
本阶段介绍Linux文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容,还在此基础上介绍了众多应用实例,包括如何创建数据库函数库以及如何与网络打印机通信等。
1 Linux环境搭建,Linux常用命令详解
环境搭建、基本操作(学生阅读资料及视频完成)
常用命令:文件操作,用户管理,系统管理命令
vim编辑器的介绍使用方法、内部命令使用
2 Linux系统编程开发基础
gcc编译器使用方法、gcc常规选项介绍
静态库,动态库制作和使用
Linux应用程序调试利器:GDB调试和git的基本使用
3 Linux缓冲IO文件操作
缓冲IO文件操作:文件创建,打开与关闭,块读写,定位,格式化读写,单字符读写,字符串读写
Linux标准输入/输出流
Linux目录操作:getcwd、chdir、mkdir、opendir、readdir、closedir
4 Linux非缓冲IO文件操作
文件描述符介绍,标准输入/输出/错误输出文件描述符
非缓冲IO文件操作:open、read、write、lseek、close
获取文件信息:access、stat;文件描述符的复制:dup、dup2
时间和日期相关函数:time、gmtime、localtime
5 多进程编程
Linux进程基础:进程标识、用户ID与组ID
Linux创建进程及进程等待:fork、wait、waitpid
exec函数族:execl、execlp、execv、execvp、execle等
system函数功能及应用
守护进程特性,守护进程编程流程,守护进程编程示例
6 进程间通信-共享内存、消息队列
无名管道和命名管道的创建及使用方法
工程键值的获取方法,消息队列的创建及使用方法
共享内存的创建、映射,使用共享内存进行进程间通信方法和信号量的创建及使用方法
信号:信号的类型、发送方法、应用程序捕捉信号方法
7 多线程编程
多线程介绍、线程的创建、等待和退出
线程的取消:取消点、取消类型
线程终止清理、线程的互斥锁、条件等待
8 Socket网络编程
OSI参考模型及TCP/IP模型、TCP、UDP
关键数据结构:sockaddr、sockaddr_in、in_addr
Socket编程系统调用、TCP/UDP编程模型、服务器及客户端编程
9 TCP并发服务器编程
IO多路复用:poll轮训、select系统调用、epoll轮询
IO多路复用实现并发服务器
多线程实现并发服务器、TCP网络文件传输服务器
10 make工程管理器、Makefile和shell基础
Makefile语法格式、应用示例、伪目标
Makefile变量、规则与函数、模式规则、函数优化
Shell概念、分类、Shell命令的基本格式
Shell脚本示例:格式,运行方式,选项和参数
Shell变量、作用域、位置参数(命令行参数)
Shell命令替换:将命令的输出结果赋值给变量
Shell特殊变量:Shell $#、$*、$@、$?、$$
11 libevent事件库
Libevent概念、事件框架event_base和循环event_loop
事件创建event和数据缓冲区bufferevent
使用bufferevent,链接监听器
12 数据库介绍
Linux安装及相关配置修改
Mysql在win下sqlyog基本操作(增删改查)
Mysql在linux下基本操作(增删改查)、相关API讲解及使用
Linux高级系统编程项目实战课程
(任选1-2个项目,其他项目提供在线视频学习)
网络聊天室
多媒体网络广告终端
楼宇智能门禁终端
银行管理系统
音乐播放器
远程智能安防视频监控系统
项目一:多媒体网络广告终端
将jpg图片、MP3音乐、MP4视频文件等多媒体文件存放在SD卡中,插入SD卡后自动播放广告。此产品可以应用在电梯候梯间、产品展示橱柜、校园信息发布等场合。用户也可以通过触摸屏与广告机产品进行交互,查阅设备中的广告信息。该广告发布终端可以加入网络传输功能,采用C/S架构,通过网络下载多媒体音视频文件到本地,并进行广告播放,实现网络广告机功能。
项目二:楼宇智能门禁终端
智能楼宇门禁系统是日常生活中常见的典型嵌入式系统,通过该系统,住户可远距离查看来访者,并控制相关的门锁、开关等设备,可通过语音、视频等方式与来访者交互,进一步提升使用体验。楼宇系统技术点主要涵盖Linux下的可视化编程、实时语音通信、网络编程等。
新课教育合作学校





效果:4师资:5环境:4
李*文




效果:4师资:4环境:4
老师很有耐心,步骤讲解细致,还给我们安排了大量的练习时间。
济南信盈达教育