嵌入式Linux大作业任务书.docx

上传人:b****3 文档编号:2816338 上传时间:2022-11-15 格式:DOCX 页数:27 大小:1.50MB
下载 相关 举报
嵌入式Linux大作业任务书.docx_第1页
第1页 / 共27页
嵌入式Linux大作业任务书.docx_第2页
第2页 / 共27页
嵌入式Linux大作业任务书.docx_第3页
第3页 / 共27页
嵌入式Linux大作业任务书.docx_第4页
第4页 / 共27页
嵌入式Linux大作业任务书.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

嵌入式Linux大作业任务书.docx

《嵌入式Linux大作业任务书.docx》由会员分享,可在线阅读,更多相关《嵌入式Linux大作业任务书.docx(27页珍藏版)》请在冰豆网上搜索。

嵌入式Linux大作业任务书.docx

嵌入式Linux大作业任务书

软件学院大作业任务书

课程名称:

嵌入式Linux应用程序开发

题目:

基于UP-CUP2440平台的驱动程序开发和QT程序开发

专业:

计算机软件

班级:

111

学号:

8000611034,8000611120,8000611018,

8000611012,8000611107

学生姓名:

刘亚林,郝悦,涂聪聪,余宴新,吕晓飞

完成人数:

5

起讫日期:

2014年5月15-2014年6月8日

任课教师:

李岚职称:

副教授

部分管主任:

完成时间:

2014年6月8日

说明

1.本任务书由任课教师填写后,下达到学生。

2.任务完成后,任课教师需填写小结表。

3.任务书、学生成绩与学生完成后的大作业(纸质和电子两种)一并报送各教学研究部审核后转教务办。

大作业的要求和内容:

(包括题目选择范围、技术要求、递交时间、考核方法等)

题目和技术要求:

1、编写基于UP-CUP2440硬件平台的GPIO驱动程序(必做)

必选功能:

使中断按键按下后,开发板上的LED灯能作如下闪动:

a)连续性闪动,跑马灯:

如:

1-2-3-1-2-3…或3-2-1-3-2-1

b)间隔性闪动:

如:

1-3-2-1-3-2…或3-1-2-3-1-2…

进阶功能:

改变中断按键的控制功能,使中断按键按下后,LED灯不断闪亮,再次按下后,LED灯灭。

要求提交大作业总结报告和相应程序。

2、编写基于linux平台的简单QT应用程序,可选如下程序(必做)

a)简单媒体播放器程序

b)简单记事本程序

c)简单计算器程序

d)简单通讯录程序

e)自选

必选功能:

要求实现在linux平台下可执行的QT程序。

进阶功能:

实现UP-CUP2440硬件平台下可执行的QT程序。

递交时间:

6月15日

考核方法:

提交大作业总结报告和现场演示

教师小结:

 

成绩:

教师签名:

教研部负责人:

学生姓名:

任务分工:

姓名:

刘亚林学号:

8000611034

分工:

驱动程序,QT程序M系列按钮功能实现,文档书写。

姓名:

郝悦学号:

分工:

QT程序环境搭建,createButton函数功能实现

姓名:

涂聪聪学号:

8000611018

分工:

QT程序界面设计,退格,清空以及清空所有的功能实现

姓名:

余宴新学号:

8000611012

分工:

QT程序功能设计,数字输入区3个相关槽函数实现

姓名:

吕晓飞学号:

8000611107

分工:

QT程序8个运算按钮的功能实现

 

目录

一、驱动程序-跑马灯-6-

(1)Fedora虚拟机操作-6-

(2)NFS挂载实验目录测试-8-

二、QT程序-科学计算器-10-

1.搭建QT环境-10-

1)搭建LINUX环境下QT环境-10-

2)WINDOWS环境下VS2008QT环境的搭建-10-

2.功能设计与代码编写-11-

(1)Main.cpp-11-

(2)头文件calculator.h-12-

(3)头文件button.h-13-

(4)类Calculator的实现文件calculator.cpp-13-

(5)函数的具体实现-15-

1.createButton函数-15-

2.M系列按钮MC、MR、MS、M+这4个运算对应的槽函数。

-15-

3.数字输入区域有3个相关的槽函数-16-

4.3个外形比较大的按键的槽函数-17-

5.8个运算按键-19-

3.使用QTE生成能在开发板上运行的GUI程序-22-

4.开发板运行结果-26-

一、驱动程序-跑马灯

(1)Fedora虚拟机操作

进入实验目录:

cd/UP-CUP2440/SRC/exp/basic/09_int

清除中间代码:

makeclean

编辑s3c2440-int.c:

gedits3c2440-int.c

由于原函数中断没有实现大作业要求,故在该源文件基础上进行修改,LED灯中断函数修改后如下所示:

irqreturn_ts3c2440_IRQ3_fun(intirq,void*dev_id,structpt_regs*reg)

{

printk("enterinterrupt5!

\n");

if(i%4==0)

{

led01_enable();

mdelay(200);

led01_disable();

mdelay(200);

led02_enable();

mdelay(200);

led02_disable();

mdelay(200);

led03_enable();

mdelay(200);

led03_disable();

}

elseif(i%4==1)

{

led01_disable();

led02_disable();

led03_disable();

}

elseif(i%4==2)

{

led01_enable();

mdelay(200);

led01_disable();

mdelay(200);

led03_enable();

mdelay(200);

led03_disable();

mdelay(200);

led02_enable();

mdelay(200);

led02_disable();

}

elseif(i%4==3)

{

led01_disable();

led03_disable();

led02_disable();

}

i++;

}

每次按下中断按键,i++,中断函数根据i来判断当前LED的操作:

1)i%4=0

LED灯按1-2-3次序闪动

2)i%4=1

LED灯全部灭掉

3)i%4=2

LED灯按照1-3-2次序闪动

4)i%4=3

LED灯全部灭掉

 

重新编译:

make

当前目录下生成驱动s3c2440-int.ko

 

(2)NFS挂载实验目录测试

ARM端挂载NFS实验目录;

进入串口终端的NFS共享实验目录;

执行程序:

insmods3c2440-int.ko

执行程序,按下实验板上的INTKEY中断按钮,产生中断,实验结果显示为:

 

二、QT程序-科学计算器

1.搭建QT环境

我们在设计QT程序的时候是在Windows环境下进行编程,故QT环境的搭建涉及到两个方面:

1)搭建LINUX环境下QT环境

包括安装QT开发环境,编译tslib1.4触摸屏,编译

QT/Embedded环境,已经在实验9里完成,不再一一赘述。

2)WINDOWS环境下VS2008QT环境的搭建

下载和安装QTSDK库、VisualStudio插件

根据使用的平台和开发环境下载相应的QT库,这里我们选择Windows平台和VS2008开发环境的QT库,当前最新版本为4.8.4;

下载VisualStudio2008对应的QT插件。

根据安装文件提示进行安装,安装完毕后,打开VisualStudio2008,我们在菜单栏可以发现有一个“QT”菜单:

单击“文件”—“新建”—“工程”菜单,新建一个QT项目,在打开的对话框中,“项目类型”选择“QT4Project”项,“模版”选择“QTApplication”,输入项目名称创建一个新的QT应用程序项目。

2.功能设计与代码编写

我们没有用QTDesigner来设计界面,而是直接在工程中利用QGridLayout来进行页面的布局。

工程整体目录如下所示:

其中button.h和calculator.h是头文件,其他的3个以.cpp结尾的文件时源文件,主要是头文件里面一些函数实现。

(1)Main.cpp

Main.cpp是整个文件的开始,这里面有整个程序的开始函数main主函数。

#include

#include"calculator.h"

intmain(intargc,char*argv[])

{

QApplicationa(argc,argv);//实例化一个应用

Calculatorw;//实例化计算器应用

w.show();//显示图像界面

returna.exec();//循环等待应用程序退出

}

(2)头文件calculator.h

头文件中定义了构造函数,私有槽函数以及一些私有成员函数,我在以下代码中加上了对私有槽函数和成员函数、成员变量的注释:

#ifndefMAINWINDOW_H

#defineMAINWINDOW_H

#include

QT_BEGIN_NAMESPACE

classQLineEdit;

QT_END_NAMESPACE

classButton;

classCalculator:

publicQDialog

{

Q_OBJECT

public:

Calculator(QWidget*parent=0);

privateslots:

voiddigitClicked();//数字按键9~9

voidunaryOperatorClicked();//平方,求根号,倒数

voidadditiveOperatorClicked();//“+”,“-”

voidmultiplicativeOperatorClicked();//”x”,”/”

voidequalClicked();//”=”

voidpointClicked();//”.”

voidchangeSignClicked();//”+/-”

voidbackspaceClicked();//”Backspace”

voidclear();//”Clear”

voidclearAll();//”ClearAll”

voidclearMemory();//”MC”

voidreadMemory();//”MR”

voidsetMemory();//”MS”

voidaddToMemory();//”M+”

private:

Button*createButton(constQString&text,constchar*member);//生成按键函数

voidabortOperation();//运算错误

boolcalculate(doublerightOperand,constQString&pendingOperator);

//运算函数(加减乘除)

doublesumInMemory;//MC,MR,MS,M+值保存

doublesumSoFar;//加法和减法运算值的保存

doublefactorSoFar;//乘法和除法运算值的保存

QStringpendingAdditiveOperator;//加法和除法运

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机软件及应用

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1