沈阳航空航天大学课程设计报告课程设计名称:嵌入式系统综合课程设计课程设计题目:基于嵌入式linux计算器的实现院(系):专业:班级:学号:姓名:指导教师:完成日期:沈阳航空航天大学课程设计报告-I-目录第1章系统分析...........................................................................................................11.1需求分析...............................................................................................................11.2硬件分析...............................................................................................................11.2.1实验环境........................................................................................................11.3软件分析...............................................................................................................21.3.1操作系统简介................................................................................................21.3.2开发技术简介................................................................................................2第2章系统设计...........................................................................................................42.1操作系统移植.......................................................................................................42.2系统模块设计.......................................................................................................42.3函数设计...............................................................................................................42.4关键流程...............................................................................................................52.4.1系统主流程....................................................................................................52.4.2功能按键流程图............................................................................................5第3章QT程序移植....................................................................................................73.1建立交叉编译环境.................................................................................................73.2QT源文件的编译..................................................................................................83.3QT应用的移植......................................................................................................8第4章系统调试及运行...............................................................................................94.1调试分析...............................................................................................................94.2结果分析.............................................................................................................10参考文献.........................................................................................................................11附录...........................................................................................................................12沈阳航空航天大学课程设计报告错误!未指定书签。第1章系统分析-1-第1章系统分析1.1需求分析课程设计内容和要求:设计一个简单的计算器,能够进行加、减、乘、除等数学操作。(1)利用嵌入式linux和Qt,在ARM9上实现。(2)界面尽可能友好、美观。这是一个简单的计算器软件,功能为加、减、乘、除等,在嵌入式设备上实现,使用方便,性能可靠,基于ARM内核的微处理器在市场上绝对处于领导地位,因此该类项目拥有庞大的市场。1.2硬件分析将编写好的程序Makefile后,通过Vivi烧入到博创UP-Star2410开发板上,开机运行即可。1.2.1实验环境实验环境是:win7下安装虚拟机,在虚拟机上安装linux(ubuntu11.10)开发板是:博创UP-Star6410,开发板。软件资源:(1)内核版本linux2.6.21(2)BootLoader:U-boot(3)文件系统:Cramfs+Yaffs2硬件资源:(1)基于ARM1176JZF-S内核的SAMSUNGS3C6410处理器(2)系统工作频率为533/667MHz(3)256MBNandFlash、8MBNorFlash(4)256MBMobileDDRRAM沈阳航空航天大学课程设计报告错误!未指定书签。第1章系统分析-2-(5)可外接3.5寸液晶屏或7寸液晶屏、可外接触摸屏(6)1个主USB口、一个USBOTG口(7)100M以太网口、一个USB串口接口(8)JTAG接口(9)总线和可复用资源扩展接口、多媒体支持AUDIOCODEC(10)JOYSTICK按键,1个中断键,5个LED灯1.3软件分析这次课设我们用的是Linux下的Ubuntu系统。Linux是一样自由和开放源代码的类Unix操作系统。该操作系统的内核由林纳斯·托瓦兹在1991年1月5日首次发布。严格来说,术语Linux只表示操作系统内核本身,但通常采用Linux内核来表达该意思。Linux则常用来指基于Linux内核的完整操作系统。包括GUI组件和许多其他的工具。Qt是一个跨平台的C++应用程序开发框架。广泛采用于开发GUI程序,这种情况下又称为部件工具箱。也可用于开发非GUI程序,比如控制台工具和服务器。1.3.1操作系统简介Ubuntu是一个以桌面应用为主的GUN/Linux操作系统,其名来自非洲南部祖鲁语或科萨语,意思是人性。Ubuntu是基于Debian发布版和GNOME桌面环境,与Debian的不同在于它每6个月会发布一个新版本,每2年发布一个LTS长期支持版本。普通的桌面版可以获得发布后18个月内的支持,标为LTS(长期支持)的桌面版可以获得更长时间的支持。Ubuntu的目标在于为一般用户提供一个最新的同时又相当稳定的主要由自由软件构建而成的操作系统。1.3.2开发技术简介Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开沈阳航空航天大学课程设计报告错误!未指定书签。第1章系统分析-3-发框架。它既可以开发GUI程式,也可用于开发非GUI程式,比如控制台工具和服务器,具有下列一些优点:1)优良的跨平台特性。2)面向对象。3)支持2D/3D图形渲染,支持OpenGL。4)大量的开发文档。5)XML支持。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(MetaObjectCompiler,moc))以及一些宏,易于扩展,允许组件编程。2008年,奇趣科技被诺基亚公司收购,QT也因此成为诺基亚旗下的编程语言工具。2012年,Qt被Digia收购。基本上Qt同X-Window上的Motif、Openwin、GTK等图形界面库和Windows平台上的MFC、OWL、VCL、ATL是同类型的。沈阳航空航天大学课程设计报告错误!未指定书签。第2章系统设计-4-第2章系统设计2.1操作系统移植在电脑上安装VmwareWorkstation虚拟机,下载Ubuntu11.04的安装镜像,通过镜像文件将Ubuntu11.04安装在VmwareWorkstation工作平台下。进行安装就可以运行Ubuntu系统了。2.2系统模块设计该软件主要分为四个大的功能模块:(1)图形整合模块:将写成的文本框、按键整齐排列。(2)数字输入模块:将输入的数字显示在文本框上。(3)功能按键模块:将文本框上已经输出的数字进行处理,包括数字运算、屏幕清零等操作。(4)临时存储模块:将文本框上的数字存入一个寄存器,可进行调用或者清零。2.3函数设计该程序的设计主要函数有以下三个:1)数字按键函数:构造按键类,对按键的点击可将数字传入文本框,供用户进行操作。2)功能按键函数:构造按键类,可以使不同的按钮拥有不同的功能,通过信号槽对所有对象进行处理,包括数字存储和操作,给予点击信号量,使其调用该函数。3)按键整合函数:将文本框、数字按键、功能按键整齐排列、分区。沈阳航空航天大学课程设计报告错误!未指定书签。第2章系统设计-5-2.4关键流程这个软件里有几个模块比较关键,分别是对文本框的写入和读出、调用数据完成操作,通过槽函数的连接将按钮和文本框连接,调用各模块的函数对文本框内容进行操作,文本框可存储显示int型和double型的数据。2.4.1系统主流程进入软件后,软件将显示经函数整理的计算器界面,点击数字按键,将会在文本框上显示相应数字,点击功能按键,会对数字进行运算或存储。系统主流程图如图2.1所示。开始操作数据显