嵌入式Linux开发课程设计指导书
- 格式:doc
- 大小:47.00 KB
- 文档页数:5
嵌入式Linux开发课程设计指导书
课程编码:
适应专业:计算机专业、电子信息工程专业
学时:3周(计算机专业),2周(电子信息工程专业)
学分: 3(计算机专业),2(电子信息工程专业) 时间安排:分散
先修课程:高级语言程序设计、计算机组成原理、接口技术,嵌入式系统,操作系统
指导书名称:
一、目的与任务:
课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际应用问题进行有机结合,锻炼学生分析、解决实际问题的能力。
本课程设计采用理论指导与实践相结合的方式,系统地学习并实践嵌入式Linux程序开发技术。通过课程设计,学生可以熟练掌握Linux的基本操作,系统管理,并具备Linux下文件、进程、网络、GUI的开发方法,为实际应用开发打下坚实的基础。
二、目标
通过本次课程设计要求学生达到以下目标:
1)熟悉Linux操作系统具体操作(安装、基本命令、系统管理、FTP服务器搭建)
2)熟悉Linux下C程序开发调试的基本过程。
3)熟悉嵌入式Linux进程及进程间通信
4)能够熟练编写Linux应用程序,包括文件、网络、图形等
三、内容
任务1、基础知识,完成以下任务:
Linux操作系统的安装、基本命令的使用,网络的配置,FTP服务器搭建,VI编辑器的使用,文件压缩方法。
任务2、Linux系统C程序设计的基本知识,完成以下任务
1) GCC编译器的使用,Linux系统C程序设计编译、调试方法。
2) 分别用if和switch判断一个数的奇偶性并输出结果。
3) 用for语句编写程序,计算100到200之间所有奇数的和。
4) 用while语句编写程序,计算1000到2000之间所有能被16整除的数的和。 5) 编写程序,将数组内容前后倒置a[]="abcdefghijkl"。
6) 利用指针将数据A的内容复制到数组B。
7) 定义一个结构变量成绩(姓名,课程,分数),对结构赋值并打印其内容。
任务3、嵌入式Linux程序设计,完成以下任务
1) 创建两线程,通过打印输出各自的线程号和打印次序,要求从打印结果能看出两个线程是并发执行的。
2) 创建两线程,A线程通过消息队列发消息,B线程收到后在屏幕打印输出,要求两线程各打印出线程号和消息内容。
3) 创建两线程,A线程循环打印数组a[100],B线程循环将各数组成员+1,要求利用互斥锁,使每次输出a[0]==a[99]。
4) 创建两线程,A线程每2秒打印一次字母A,B线程每秒打印一次字母B,要求利用同步信号量,使输出字母B总是在A之后。
5) 创建两线程,A线程通过管道发消息,B线程收到后在屏幕打印输出,要求两线程各打印出线程号和消息内容。
6) 分配256字节的内存,按次序赋值,再逐字节按16进制打印输出,要求打印输出内容为:0x00,0x01,„0xff。
7) 分别通过调用shell命令和文件操作函数,编程实现.exe文件复制,要求生成的新文件与原文件用UE打开对比内容一致。
8) 通过main函数的参数指定源文件名和目标文件名,实现文件复制,要求生成新文件名与参数指定的目标文件名一致。
9) 通过makefile,将project中三个.c编译生成可执行文件,要求实现文件文件编译,运行结果正确。
10) 通过makefile,将project中两个.c编译成.a,另一个.c调用.a的函数,要求实现库的生成和调用,运行结果正确。
11) 使用UDP协议,实现两台主机收发消息,要求实现即时通信。
12) 使用TCP协议,实现两台主机收发消息,要求实现即时通信。
任务4、Linux应用程序开发实践,任选以下任务之一完成:
1) 通过directFB实现图,字,颜色块的显示。
2) 实现一个简单shell。
3) 根据FTP协议,实现FTP服务器端和客户端。 4) 根据rtsp/rtp协议,实现视频点播。
5) 通过TCP或者UDP收发消息,让另一台电脑执行一些简单的命令。
6) 通过ffmpeg编写一个播放器。
7) 将mpeg2文件用winsend以组播形式发出,编写程序接收组播并存入文件,要求收到的文件和源文件一样,都可以用VLC播放。
8) 从mpeg2码流中解析PAT,PMT并将分析结果在屏幕打印输出。
四、要求
1、电子信息工程专业完成任务1、任务2、任务3中的单数组或偶数组中的全部内容,1-2人一组。
2、计算机科学与技术专业的同学完成任务3的全部内容,任务4中题目任选一个,2-3人一组。
五、时间安排
1、电子信息工程专业2周40课时,每周4课时。
2、计算机科学与技术专业3周60课时,每周5课时。
六、考核与成绩评定
1、学生的学习、动手能力,创新精神(20%)
2、课程设计报告(每个学生都要提交,课程设计报告需按照格式要求完成)(40%)
3、答辩水平(以小组为单位,时间为每组5-10分钟)(40%)
七、参考文献
1、Linux程序设计(第3版) Neil Matthew Richard Stones 著 人民邮电出版社
2、嵌入式Linux应用程序开发详解 孙琼 人民邮电出版社
3、/ (封面)
《嵌入式Linux开发》
课程设计报告
专 业:
班级学号:
姓 名:
指导教师:
二00八年 月 日
(报告正文)
一、 课程设计题目(问题)描述
二、 课程设计目的和要求
三、 系统分析与设计
1. 系统总体设计-确定总体框架,确定系统功能模块(或程序功能模
块),并给出说明,用文字或框图均可;
2. 系统详细设计-在总体设计基础上设计系统总体框架、用到的库函数、关键算法的流程图;数据结构及全局变量说明;
3. 自定义函数说明(函数功能、入口参数、出口参数),程序流程图或数据文件说明等;
4. 源程序清单,并在清单中按系统功能模块或程序功能模块给出注释(附在课设报告的最后附录中)
四、 系统调试出现的问题(简要说明,给出你认为关键的主要问题即可:)
例如,编译语法错误及修改,逻辑问题错误及修改和调整等内容
五、 系统运行报告
程序测试运行的结果,应给出输入的数据及程序运行的结果
六、 总结
心得体会
七、 参考书目
(按“作者,书名,出版社,出版时间”格式逐一列出)
八、附录
源程序清单
信息工程学科部
2008.9