电子时钟系统设计-《嵌入式系统》课程设计说明书.doc
《电子时钟系统设计-《嵌入式系统》课程设计说明书.doc》由会员分享,可在线阅读,更多相关《电子时钟系统设计-《嵌入式系统》课程设计说明书.doc(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式系统课程设计说明书 电子时钟系统 院 部: 学生姓名: 指导教师: 职称 专 业: 班 级: 学 号: 湖南工学院嵌入式系统课程设计课题任务书 指导教师学生姓名课题名称电子时钟系统设计内容及任务一、目标 在GEC210开发板上设计一个基于QT的电子时钟系统来显示当前的系统时间。二、任务根据控制要求,明确设计任务,拟定设计方案与进度计划,运用所学的理论知识,进行电子时钟系统原理设计、硬件系统设计、软件系统设计、创新设计,提高理论知识工程应用能力、系统调试能力、分析问题与解决问题的能力。主要内容包括:1 嵌入式交叉开发环境搭建。2 Linux操作系统的移植。3 根据需求确定外围模块设计并完成
2、相应驱动开发。4 应用程序原理及框架设计。5 Linux下应用程序编写及移植。6 系统总体功能调试。7 编写设计说明书。三、要求1本系统显示结果示例如下:2显示的时间为开发板当前的系统时间,显示的结果随着系统时间变化而变化。I主要参考资料1马忠梅,ARM & Linux嵌入式系统教程(第3版)M。北京:北京航空航天大学出版社,20142曹忠明,程姚根。从实践中学嵌入式Linux操作系统M。北京:电子工业出版社,20123宋宝华,Linux设备驱动开发详解(第二版)M。北京:人民邮电出版社,2010。4韦东山,嵌入式Linux应用开发完全手册M。北京:人民邮电出版社,20085 陆文周,Qt5开
3、发及实例M。北京:电子工业出版社,20156 Stephen Prata,C Primer PlusM。北京:人民邮电出版社,2005教研室意见 教研室主任:(签字)年 月 日摘 要嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统 ( 包括硬、软件系统 ) 极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等 Browser 。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序
4、 。与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。嵌入式技术已成为信息产业中发展最快、应用最广的计算机技术之一,并被广泛应用于网络通信、消费电子、医疗电子、工业控制和交通系统等领域。本次设计采用QT程序开发框架开发的模拟时钟程序,使用Linux系统到嵌入式终端移植和交叉编译环境搭建,最终成功实现了在嵌入式终端的运行。关键词:嵌入式系统;QT;模拟时钟;Linux系统目 录1绪论11.1 设计背景21.2 设计目的和意义22 嵌入式Linux系统22.1 嵌入式Linux概念22.2 嵌入式Linux组成23 Qt工具
5、33.1 Qt简介33.2 Qt优点34 模拟时钟的设计44.1 代码的编写44.2 代码的调试与运行45 模拟时钟到开发板的下载65.1 交叉编译环境的构建75.2 模拟时钟到开发板的下载运行7结论10参考文献11致 谢12附录131绪论嵌入式Linux操作系统在广泛和深入的应用于各个领域,应用的技术也越来越复杂。而随着城市信息化和行业信息化的持续深入,嵌入式技术已成为信息产业中发展最快、应用最广的计算机技术之一,并被广泛应用于网络通信、消费电子、医疗电子、工业控制和交通系统等领域。嵌入式Linux开始采用较为复杂的图形用户界面。QT以其强大的功能,良好的可移植性成为一种被广泛使用的GUI系
6、统。于是嵌入式操作系统及其相应图形用户界面的不断发展,嵌入式软件的开发显得越来越重要。本次设计模拟时钟能够以简洁的外观为用户提供时间信息成为了系统中的重要组成部分,在基于QT的嵌入式系统中模拟时钟具有深刻的实用价值。1.1 设计背景源代码开放的Linux搭建的嵌入式操作系统由于其强大的网络功能和低成本,近年来得到了越来越多的应用。其能够提供全功能的桌面计算,定制非常方便并且支持大多数嵌入式系统上使用的芯片。在嵌入式Linux操作系统上使用一个功能完备的轻量级、高性能、高可靠、可配置的GUI系统成为可行的解决方案。全过程自动化产品制造、大范围电子商务活动、高度协同科学实验以及现在化家庭起居,为嵌
7、入式产品造就了崭新而巨大的商机。日趋增长的功能密度、灵活的网络链接、轻便的移动应用和多媒体的信息处理对嵌入式系统软件技术提出了新的挑战。 1.2 设计目的和意义随着近年来计算机技术的迅速发展,当新硬件、新技术出现时,计算机的体系结构、指令系统和操作系统都可能发生相应的改变,这势必会导致一部风应用在新环境下无法正常运行。如果舍弃原有软件重新开发,将会耗费大量的人力和财力,而浪费了许多成熟的软件成果。而QT在源代码级上实现了跨平台特性,极大地支持了跨平台通用软件的开发。QT可以用同一个源程序在不同平台上编译链接,生成目标代码,并取得相同的运行效果,充分实现了程序的跨平台运行。这种基于源代码的跨平台
8、特性不仅解决了性能的问题,而且可以发挥各个平台的优势,充分利用每个平台自身的特点;并且即可以在新环境下实现原有软件的功能和特点,减少开发费用,还可以改进原有软件的不足,增加新的需求,从而提高软件的质量,延长软件生命期。模拟时钟需要编写代码来实现它的功能,然后对代码进行编译运行,检查是否达到了预期的效果。2 嵌入式Linux系统2.1 嵌入式Linux简介嵌入式Linux是将标准Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种操作系统。它以应用为中心,以计算机技术为基础,软件、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。Linux从1
9、991年问世到现在,短短的十几年时间已经发展成为功能强大、设计完善的操作系统之一,不仅可以与各种传统的商业操作系统分庭抗争,在新兴的嵌入式操作系统领域内也获得了飞速发展。嵌入式系统的发展方向是与目标密切相关的嵌入性能、操控能力与控制的可靠性。嵌入式操作系统从它的产生到现在经历了几个阶段,全入市系统是以应用为中心的计算机技术为基础并且软硬件是可裁剪的适用于对功能、可靠性、成本、功耗等有严格要求的专用计算机系统嵌入式系统最典型的特点是与人们的日常生活紧密相关,任何一个普通人都可能拥有各种运用了嵌入式技术的电子产品。各种新型嵌入式设备在数量上已经远远超过了通用计算机。2.2 嵌入式Linux的组成
10、一个最小的嵌入式系统基本组成为:一个用作引导的可用设施(工具);一个具备内存管理,进程管理和定时器服务的Linux微内核;一个初始进程;硬件的驱动程序;一个或几个应用进程以提供必要的应用功效。嵌入式Linux既继承了Internet上无限的开放源代码资源,又具有嵌入式操作系统的特性。(1) 硬件层:硬件层包含嵌入式微处理器、存储器(SDRAM、ROM、Flash等)、通用设备接口和I/O接口(A/D、D/A、I/O等)。在意嵌入式处理器基础上添加电源电路、时钟电路和存储电路就构成了一个嵌入式核心控制模块。其中操作系统和应用程序多都可以固化在ROM中。(2) 中间层:硬件层与软件层之间为中间层,
11、也称为硬件抽象层(Hardware Abstract Layer,HAL)或者板级支持包(Board Support Package,BSP),它半系统上层软件与底层硬件分离开来,使系统的底层驱动程序与硬件无关,上层软件开发人员无需关心底层硬件的具体情况,根据BSP层提供的接口即可进行开发。该层一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置功能。(3) 系统软件层:系统软件层由实时多任务操作系统(Real-time Operation System,RTOS)、文件系统、图形用户接口(Graphic User Interface,GUI)、网络系统及通用组件模块组成。RTO
12、S是嵌入式应用软件的基础和开发平台。3 Qt工具3.1 Qt简介Qt是一个1991年由奇趣科技开发的跨平台C+图形用户界面应用程序开发框架。它给应用程序开发者提供了一套功能齐全的进行艺术级的图形用户界面程序设计所需的功能。Qt很容易扩展,并且 允许真正地组件编程。基本上Qt和X Window上的GTK,Openwin,Motif等图形界面库和 Windows 平台上的ATL,CL,OWL,VMFC是非常类似的。QtCreator主要是为了帮助新Qt用户更快速入门并运行项目,还可提高有经验的Qt开发人员的工作效率。Qt Creator 包括项目生成向导、高级的 C+ 代码编辑器、浏览文件及类的工
13、具、集成了 Qt Designer、Qt Assistant、Qt Linguist、图形化的 GDB 调试前端,集成 qmake 构建工具等。3.2 Qt优点Qt的良好封装机制使得Qt的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。Qt提供了一种称为signal/slots的安全类型来替代callback,这使得各个元件之间的协同工作变得十分简单。Qt有丰富的API包括多达250个以上的C+类,还是提供基于模板的collections,serialization,file,I/Odevice,directory management,date/time类,还包括正则表达式的处
14、理功能。支持2D/3D图形渲染、OpenGL、大量的文档开发、XML支持和实现本地界面与Web内容的无缝集成。4 模拟时钟的设计设计要求指针式的表盘为原型,并且圆周上有分布均匀的12个刻度,钟面上有长度不同的指针,即时针、分针、秒针,间隔一秒更新一次时间。显示的时间为开发板当前的系统时间,显示的结果随着系统时间变化而变化。4.1 代码的编写模拟时钟每一个模块的功能是在cpp文件中实现的,h文件是类、槽、函数、变量的定义,main主函数用来调用现实,头文件和主函数的代码如下:myclock.h文件#ifndef MYCLOCK_H#define MYCLOCK_H#include #includ
15、e #include #include #include #include namespace Ui class myclock;class myclock : public QWidgetQ_OBJECTpublic: explicit myclock(QWidget *parent = 0); myclock();protected: void paintEvent(QPaintEvent*);private: Ui:myclock *ui; QTimer *timer; int i;#endif / MYCLOCK_Hmain主函数:main.cpp#include myclock.h#
16、include int main(int argc, char *argv) QApplication a(argc, argv); myclock w; w.show(); return a.exec();模拟时钟的走时为调用系统时间,用定时器每一秒更新一次draw函数,在表盘上显示为秒针跳动一格,由于始终与系统时间保持一致,所以完全可以作为直接的时间显示工具。实现的代码如下:myclock:myclock(QWidget *parent) : QWidget(parent), ui(new Ui:myclock) ui-setupUi(this); this-resize(350,350)
17、; timer = new QTimer(this);/定时器 connect(timer,SIGNAL(timeout(),this,SLOT(update(); timer-start(1000);myclock:myclock() delete ui;时钟的指针绘制也是根据定义的坐标用画笔画出需要的指针形状,其中绘制指针的实现代码如下: QPen hourpen;/时针的画笔 hourpen.setWidth(4);/设置画笔宽度 /hourpen.setColor(Qt:blue);/设置画笔颜色 mypainter.setPen(hourpen); mypainter.save();
18、/ mypainter.rotate(30.0 * (time.hour() + time.minute() / 60.0); mypainter.drawConvexPolygon(hourHand, 3); /mypainter.drawLine(0,0,0,-80); mypainter.restore(); QPen minutepen;/分针的画笔 minutepen.setWidth(3); minutepen.setColor(Qt:yellow);/设置画笔颜色 mypainter.setPen(minutepen); mypainter.save(); mypainter.r
19、otate(6.0 * (time.minute() + time.second() / 60.0); mypainter.drawConvexPolygon(minuteHand, 3); /mypainter.drawLine(0,0,0,-100); mypainter.restore(); QPen secondpen;/秒针的画笔 secondpen.setWidth(1); secondpen.setColor(Qt:blue);/设置画笔颜色 4.2 代码的调试和运行通过以上步骤代码编写已经完成,在Windows系统下的QT运行。通过调试发现没有发现错误和警告,就会出现如下的到模
20、拟时钟的界面,如图1所示。图1 模拟时钟界面5 模拟时钟到开发板的移植5.1 交叉编译环境的构建 在开发板上移植Linux系统之前,必须确保已经安装了USB驱动,并把开发版设置为NOR Flash启动。系统更新和安装完毕后设置为Nand Flash启动。然后对Nand Flash进行分区,安装bootloader,移植内核文件,移植文件系统。做完这些就可以进行交叉编译环境构建。在Linux平台下,要为开发板编译内核,图形界面Qtopia,bootloader,还有其他一些英勇程序,均需要交叉编译工具链。(1)安装gcc编译工具用于arm平台程序的编译工具,arm-linux-gcc,arm-l
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式系统 电子 时钟 系统 设计 嵌入式 课程设计 说明书
限制150内