嵌入式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。