嵌入式系统课程大作业设计报告
嵌入式系统课程大作业设计报告
设计题目
基于Arm-Linux的嵌入式计数器设计
一、需求分析
1.根据系统功能,进行系统需求分析,设计嵌入式设备的软硬件总体方案,明确系统的软硬件层次划分;
2.在1的基础上进行软硬件详细设计,包括硬件平台的功能模块划分及接口关系,交叉开发环境构建方案,各层次嵌入式软件的实现或移植方案等;
3.应用层软件实现计数器功能:基于QT/E设计具有图形交互界面(GUI)的应用程序,当鼠标点击界面(窗体)上的按钮(button)时,对鼠标点击次数计数,计数值实时显示在界面(窗体)的的某个区域。基于QT/E交叉开发环境编写相应的代码,并用qvfb仿真GUI程序。
二、概要设计
要实现用户点击button,显示次数累加一。首先我们需要设计出GUI图形界面,为各个组件设置好属性和别名,便于在以后使用。然后将.ui文件生成.h 和 .cpp文件,在这两个文件中,我们对其中的代码进行添加,编写我们需要实现功能的代码。最后利用qvfb仿真GUI程序。
三、详细设计
1、基于 PC 机上 QVFB 模拟器的 Qt/Embedded 应用程序设计
在安装了QT/E开发环境的宿主机上,按以下步骤完成:
(1)注册环境变量(此时应当注册QT-X86的环境变量)
#cd /root/qt/x86-qt
#source setenv
建立一个 hello 目录,用于管理所以工程文件
#mkdir hello #cd hello
(2) 设计界面
使用基于 X86 上的 Qt 的可视化界面设计工具 Qt Designer 设计界面。
#designer hello.ui
进入 Qt Designer 设计好界面,保存并退出。
(3)生成 GUI 界面的代码
使用 Qt 的代码自动生成工具uic把设计好的界面 hello.ui 生成相应的 C++代码:hello.h 和 hello.cpp
#uic -o hello.h hello.ui
#uic -o hello.cpp -impl hello.h hello.ui
生成的源文件中把我们设计好的界面定义为一个类,在我们的程序中使用这个类创建对象,并设为主控件就可以了。
(4) 编写代码,需要编一个 main 程序
#vim main.cpp
(5) 建立工程
可以使用 tmake 中的 progen 工具产生一个工程模板,然后自己修改。
#vim hello.pro
(6) 编译并仿真运行程序
Qt 提供了生成 Makefile 文件的工具 tmake,可以根据不同平台的需要生成适合于不同平台的 Makefile 文件。在使用 tmake 工具前,应查看相应的环境变量是否正确。由于我们这个环节要编译在 PC 机上仿真运行的 Qt 程序,所以指定的编译器应该是含"linux-x86 -g++",在命令行里键入命令(echo $TMAKEPATH)检查环境变量是否正确。(注意,若在 x-86上,即便是指定为“linux-generic-g++”,可能也会报 “找不到 tmake.conf”的错。所以最好指定为"linux-x86-g++")。检查无误后,进行:
# tmake -o Makefile hello.pro
# make
# qvfb &
#./hello –qws
四、相应代码实现方案
1.main.c文件
#include<qapplication.h>
#include"hello.h"
int main(int argc,char **argv)
{
QApplication app(argc,argv);
Form1 *mainwindow=new Form1(0,"MainWindow");
app.setMainWidget(mainwindow);
mainwindow->show();
return app.exec();
}
2.hello.cpp文件
// 槽函数
connect (PushButton1 , SIGNAL(clicked()), this , SLOT(ClickButton()));
// 点击函数
void MainWindow: :ClickButton(){
static int i=0;
++i ;
QString str;
str=str . setNum(i);
TextLabel1->setText(str);
3.hello.pro文件
TEMPLATE=app
CONFIG+=qtopia warn_on release
SOURCES=main.cpp hello.cpp
HEADERS=hello.h
TARGET=hello
五、结果与分析
1.设计GUI界面
2.编写main.cpp
3.修改hello.h文件
4.修改hello.cpp
4.程序最终运行界面
六、心得体会
通过这次的嵌入式大作业,自己学到了很多的新知识。开始的时候觉得题目是非常的难,连在linux环境下怎么打开qt都不会,更不用说如何使用qt设计图形化界面了。后来通过四个嵌入式的实验,了解了一点红帽子的基础使用方法,还有qt的一些简单写法。在按照实验指导书一步一步操作的时候,依旧会报错,后面在同学的指导下,发现一直有一个地方没有改正确,开始的时候,觉得应该将名字改在最后,但是依然不对,后面才反应过来,应该先去生成的.h文件中看一下具体生成类的名字,然后再改。这个错误用了挺长的时间才改正过来。后面在运行最后一步执行文件的时候,发现不可以执行。询问老师后得知,是make没有产生可执行文件,后面发现make语句书写错误,改正后才运行正确。总的来说,通过这次的大作业,受益匪浅,学会了简单的Linux知识和qt的使用。
嵌入式系统课程大作业设计报告相关推荐
- HDU嵌入式实验课程大作业分析报告
目录 作业要求 设计原理与思路 扩展任务说明 课程感受 友情链接 工程链接 作业要求 体能测试记录仪设计 基于课程发放的实验板,设计一个带有计时和数据采集功能的体能测试记录仪. 基本设计内容 功能1: ...
- 网页编程课程大作业实验报告HTML5 、CSS5 、JavaScript
网页编程课程大作业实验报告 课程名称 网页编程 实验成绩 计算机学院制 一.实验内容与要求 利用HTML5 .CSS5 .JavaScript等知识,按照特定的主题制作一个完整的网站. 二.网站名称以 ...
- 象棋快棋赛电子裁判计时器的设计——《数字逻辑与数字系统设计》实验大作业设计报告
数电Github资源 <数字逻辑与数字系统设计>实验大作业设计报告 实验题目 象棋快棋赛电子裁判计时器的设计 实验难度 ★★ 成员 姓名 班号 学号 1 郭茁宁 1837101 11837 ...
- java报告模板_Java大作业设计报告模板.doc
Java大作业设计报告模板 <Java程序设计>大作业设计报告 设计名称 多人在线聊天小程序 学生姓名 学 号 学生班级 设计时间 设计成绩 一.问题描述及设计思路 问题描述:用java ...
- Java课程大作业设计:实现联网对战、实时聊天、多线程编程的五子棋项目
前言 本项目是笔者和同学大二下Java课的时候的课程设计项目,该五子棋游戏的客户端可以实现联网对战.实时聊天.自定义昵称.对在线玩家并发出对战邀请.悔棋.撤回聊天消息.逃跑等多种功能,而服务端可以看到 ...
- 计算机html大作业聊天室,java大作业设计报告-JAVA聊天室.docx
PAGE \* MERGEFORMAT18 JAVA程序设计 多人聊天室 设计目的 Java 编程语言是个简单.面向对象.分布式.解释性.健壮.安全与系统无关.可移植.高性能.多线程和静态的语言.本次 ...
- 嵌入式系统课程设计报告
嵌入式系统课程设计报告 题目7(序号) 学生成绩查询系统(题目) 专 业:软件工程 班 级: 软件二班 姓 名:xx 学 号: ...
- 嵌入式课程设计linux,嵌入式系统课程设计--基于U盘的linux操作系统的构建
嵌入式系统课程设计--基于U盘的linux操作系统的构建 1 课程设计报告课程设计报告 课程名称课程名称 嵌入式系统课程设计嵌入式系统课程设计 设计题目设计题目基于基于 U盘的盘的 linux 操作系 ...
- 嵌入式系统课程设计题目
简介:一些嵌入式系统课程设计题目,可以当做对你学习ARM的一个检测. 嵌入式系统课程设计-选题要求及课题 1.嵌入式系统课程设计时长两星期,要求学生分组进行课程设计,每组学生人数为2-3人(可在不超过 ...
- 【嵌入式系统课程设计——纸张计数显示装置设计】
一.简介 本项目分享的是一个嵌入式系统的课程设计,老师给了多个题目供我们选择.我们组选择的题目是纸张计数显示装置设计,也是2019年全国大学生电子设计竞赛的F题. 有关这个题目的经验分享,网上已经出现 ...
最新文章
- Mysql的多表查询(表添加,多表查询练习:笛卡尔积、内连接、外连接、子查询、UNION组合查询)
- 营销获客场景下的个人类业务要件分析
- 效率低下的原因--开发者说
- 【iOS】The run destination iPhone is not valid for Running the scheme .
- 肇庆市二技学校计算机电算化,肇庆市有那些技术学校
- camelCase骆驼拼写法
- Windows PowerShell是啥?看完本文你就懂它了
- vue项目element-ui中el-select回车键隐藏下拉框,实现按回车键查询
- UART协议快速扫盲(图文并茂+超详细)
- 国内自主首创·融合数据采集与运动控制技术--运动数据采集卡
- JAVA的面向对象编程
- 全闪存存储 NetApp AFF A 系列 ——引领闪存的未来发展
- 顺序查找 题目编号:517
- SPI flash远程加载FPGA 应用
- 中国地质调查局:汶川地震原因已有初步结论
- ooVoo-Windows上的多人视频聊天
- debian云服务器项目,Debian做云服务器
- UML总结—包图(Package Diagram)
- error: failed linking references
- 敏捷开发大家谈(三)--敏捷开发技术在电子商务软件中的应用(2)