嵌入式操作系统应用研究_毕业设计(27页).doc

上传人:1595****071 文档编号:37817314 上传时间:2022-09-02 格式:DOC 页数:27 大小:255.50KB
返回 下载 相关 举报
嵌入式操作系统应用研究_毕业设计(27页).doc_第1页
第1页 / 共27页
嵌入式操作系统应用研究_毕业设计(27页).doc_第2页
第2页 / 共27页
点击查看更多>>
资源描述

《嵌入式操作系统应用研究_毕业设计(27页).doc》由会员分享,可在线阅读,更多相关《嵌入式操作系统应用研究_毕业设计(27页).doc(27页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、-嵌入式操作系统应用研究_毕业设计-第 27 页毕业设计(论文)设计(论文)题目嵌入式操作系统应用研究姓 名:学 号:学 院:专 业:软件工程年 级06级软件一班指导教师:附表2:毕业设计(论文)开题报告论文题目:嵌入式操作系统应用研究姓 名:学 号:学 院:信息工程学院专 业:软件工程年 级:06级软件一班指导教师:一、 课题来源嵌入式系统EOS(Embedded OperatingSystem)是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。嵌入式开发就是对于除了电脑之外的所有电子设备上操作系统的开发,开发对象

2、有手机、掌上电脑、机电系统等。未来的几年内,随着信息化,智能化,网络化的发展,嵌入式系统技术也将获得广阔的发展空间。进入20世纪90年代,嵌入式技术全面展开,目前已成为通信和消费类产品的共同发展方向。嵌入式系统是研究的热点。促使我们投入到这个广阔的事业中去。在研究的同时,我门也可以发现由于嵌入式系统并不是突然出现的,对于微处理器应用的研究和硬件系统的研究已经有了一个很长时间的发展历史。所以无论是从硬件方面还是软件方面我们都很容易获得研发的资料。因此嵌入式操作系统应用研究可使我们能够掌握有关的知识,使自己在嵌入式方面有所研究。二、 本课题的基本内容随着Internet技术的发展、信息家电的普及应

3、用及EOS的微型化和专业化,EOS开始从单一的弱功能向高专业化的强功能方向发展。嵌人式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。本课题主要研究嵌入式系统硬件平台的体系结构;研究嵌入式操作系统及其移植、应用和开发。三、 本课题的重点和难点重点:交叉编译,内核移植,根文件系统制作难点:交叉编译,内核移植,根文件系统制作四、 论文提纲绪论:说明本课题的目的及意义。本论:1、 嵌入式操作系统开发简介。2、 在Linux服务器上安装交叉编译工具的设计思想说明。3、 嵌入式Linux内核的配置与编译。嵌入式应用程序编程环境与方法。4、 嵌入式Linux

4、应用程序的开发。结束语:对本系统做出客观评价,给出它的优点和不足之处,并给出改进方法。五、 进度安排4/24提出要求式样书4/31:提出详细设计,提交详细设计式样书5/17:完成编码5/25:完成单体测试5/28:完成结合测试5/31:完成论文,准备答辩指导教师意见:(请手写意见和签名)(对本课题的深度、广度及工作量的意见)指导教师:(签字)年 月 日教研室审查意见:(请手写意见和签名) 教研室负责人:(签字) 年 月 日毕 业 论 文 开 题 报 告附表3.毕业设计(论文)任务书学 生 姓 名学号指导教师设计(论文)题目嵌入式操作系统应用研究主要 研究 内容掌握Linux常用命令的运用和c+

5、语言编程,掌握运用QT进行页面设计和编码,了解嵌入式操作系统开发环境的安装,尤其是GCC(GNU Compiler Collection)和QT的安装与环境的的配置,了解gcc的编译过程和一些常用的命令,了解内核的裁剪的方法与意义和对其编译的过程与方法,掌握如何在嵌入式操作系统环境下编程,并能开发一些简单的应用程序,了解如何将裁剪的内核和应用程序移植到ARM机箱上的过程与方法研 究 方 法综合运用C+、linux和qt的开发技术,结合毕业设计的要求,在虚拟机上来完成嵌入式操作系统应用研究的相关内容主要技术指标(或研究目标)熟悉嵌入式操作系统的定义和内核裁剪的意义,掌握在嵌入式系统下编程的方法并

6、学习开发一些简单的应用程序,了解内核和应用程序的移植过程主要 参考 文献C+ GUI QT4 编程(第二版) Jasmin Blanchette Mark Summerfield著 电子工业出版社Linux操作系统原理与应用 张玲著 西安电子科技大学出版社嵌入式系统设计与应用开发 郑灵翔著 北京航空航天大学出版社注:1、本表由指导教师根据学生的开题报告填写,下发给学生,并定期检查学生进度。本表可用微机打印;2、由理工科指导教师填写。附表4.毕业设计(论文)成绩评定表学院: 信息工程学院 专业: 软件工程 年级: 06级 姓名学号设计(论文)总成绩设计(论文)题目嵌入式操作系统应用研究指导教师评

7、语评定成绩: 60%= 签名: 年 月 日答辩 小 组 评 语答辩成绩: 40%= 组长签名: 年 月 日注:指导教师、答辩小组给予的成绩和设计(论文)总成绩统一实行百分制,总成绩中指导教师评分占60%,答辩小组评分占40%。评语、成绩、签名及日期处必须手写。目 录摘 要10Abstract11一、开发环境简介12(一)操作系统:Windows XP、Red Hat Linux 9.012(二)开发工具12(三)开发语言12(四)Qt 系统的信号与槽机制简介12(五)软硬件环境支持15二、嵌入式操作系统概要16(一)嵌入式简介16(二)嵌入式技术的发展现状与趋势161.嵌入式在国内发展状况16

8、2.嵌入式技术的发展趋势17(三)基于ARM的嵌入式linux内核的裁剪与移植181.建立交叉编译环境182.内核的获得183.内核的编译183.Busybox与根文件系统的构造214.什么是根文件系统214.BootLoader简介,调试与烧写235.嵌入式linux系统内核,文件系统的移植24三、嵌入式操作系统应用程序的开发25(一)Qt应用程序开发流程25(二)Qt应用程序“记事本”的具体开发流程251.记事本各部分功能:262.开发流程中的注意事项283.在Linux下进行源码编译和运行325.如何将源程序移植到目标Linux系统33参考文献35注 释36附 录37一.Qt/X11的编

9、译安装简介37二.嵌入式Linux文件系统37谢 辞38摘 要随着IT产业、信息产业和家电产业等的迅猛发展,嵌入式系统(Embedded System)无疑是当今最热门的概念之一。嵌入式产品的软硬件技术也正发生着深刻的变化。嵌入式产品由原来的功能单一、界面简单的风格逐渐向多功能、界面美观、交互性好的方向发展。嵌入式技术的发展,是当今新型技术时代的一个重大标志,嵌入式操作系统已成为全球电子市场的一个关键支撑,嵌入式系统产品的应用已超过整个计算机应用的40%。本课题首先了解嵌入式操作系统的定义,掌握内核的裁剪与编译;然后了解Linux下嵌入式应用程序开发流程,界面部分采用 QT Designer来

10、设计;最后了解如何进行嵌入式操作系统内核和应用程序的移植。关 键 词Linux,嵌入式操作系统,QT,GCC,内核裁剪与编译,BootloaderAbstractWith the rapid development of IT industry, information industry, and home appliance industry, embedded system is one of the most popular concept now. Embedded hardware and software technology is also undergoing profound

11、 changes. Embedded products are developing from single function, simple interface to multi-functional, beautiful and friendly interactive interface.And the development of the embedded technologies is a significant of new technologies today,embedded operating system has become a key of the global ele

12、ctronics market,and the application of embedded system have been more than 40% of the entire computer applications.First of all,understanding of definition of the embedded operating system is necessary, and we should also learn how to cut and compile the kernel;then we should understand the developm

13、ent process of the embedded application under the Linux,and parts of the interface have been designed by QT Designer;the last we should leran how to transplant the embedded operation system kernel and the applications.KeywordsLinux, Embedded OS, QT, GCC, the cutting and compilement of kernel, Bootlo

14、ader一、 开发环境简介(一) 操作系统:Windows XP、Red Hat Linux 9.0嵌入式产品中选择什么样的操作系统极为重要,嵌入式Linux由于其开源特性、实时性好、可移植、内置网络支持等优点在嵌入式领域成为主力军。如今,业界已经达成共识:即嵌入式linux是大势所趋,其巨大的市场潜力与酝酿的无限商机必然会吸引众多的厂商进入这一领域。(二) 开发工具Qt Creator 1.3.1 、Qt Linguist 3.3.5 、 Source Insight 3.5随着通信行业的迅猛发展,移动手持设备必将成为人们工作、学习和生活的主流,用Qt设计移动手持设备的GUI有着得天独厚的优

15、势。目前,Qt应用于全世界上百个软件开发项目中。在我国,Qt的发展也有星星之火可以燎原之势。Qt是一个跨平台的C+图形用户界面库,由挪威TrollTech公司开发,目前包括Qt/X11、基于Framebuffer的Qt/Embedded、快速开发工具Qt Creator以及国际化工具Qt Linguist等。人们所熟知的Linux下面的KDE环境就是基于Qt开发而成的,Qt支持Unix和Linux系统,还支持Windows平台。Qt的良好封装机制使其模块化程度非常高,可重用性较好,对于用户来说非常的方便。Qt API和开发工具对所有支持平台都是一致的,从而可以进行独立于平台的程序开发和配置。它

16、使得跨平台软件编程直观、简易和方便。(三) 开发语言由于QT是一个跨平台的C+图形用于界面库,在开发过程中都是借用QT中的类库进行开发。(四) Qt 系统的信号与槽机制简介信号与槽机制提供了对象间的通信机制,它易于理解和使用,并完全被Qt图形设计器所支持。图形用户接口的应用需要对用户的动作做出响应。例如,当用户点击了一个菜单项或是工具栏的按钮时,应用程序会执行某些代码。大部分情况下,我们希望不同类型的对象之间能够进行通信。程序员必须把事件和相关代码联系起来,这样才能对事件做出响应。在以前,当我们使用回调函数机制来把某段响应代码和一个按钮的动作相关联时,我们通常把那段响应代码写成一个函数,然后把

17、这个函数的地址指针传给按钮,当那个按钮被按下时,这个函数就会被执行。对于这种方式,以前的开发包不能确保回调函数被执行时所传递进来的函数参数就是正确的类型,因此容易造成进程崩溃,另外一个问题是,回调这种方式紧紧的绑定了图形用户接口的功能元素,因而很难把开发进行独立的分类。Qt的信号与插槽机制是不同的。Qt的窗口在事件发生后会激发信号。例如一个按钮被点击时会激发一个“clicked”信号。程序员通过建立一个函数(称作一个插槽),然后调用connect()函数把这个插槽和一个信号连接起来,这样就完成了一个事件和响应代码的连接。信号与槽的连接原理如图3.5所示。当对象改变其状态时,信号被发送,对象不关

18、心有没有其它对象接收到这信号,槽是类的正常成员函数,可以将信号和槽通过connect函数任意相连。信号与插槽机制并不要求类之间互相知道细节,这样就可以相对容易的开发出代码可高重用的类。信号与插槽机制是类型安全的,它以警告的方式报告类型错误,而不会使系统产生崩溃。如果一个类要使用信号与槽机制,它就必须是从QObject或QObject的子类继承,而且类的定义必须加上Q_OBJECT宏。信号被定义在类的信号部分,而插槽则定义在public slots,protected slots或private slots部分。signal和slot机制真正实现了封装的概念,slot除了接收signal之外和其

19、它的成员函数没有什么不同,而且signal和slot之间也不是一一对应的。下面为Signal和Slot的链接方式:QObject是Qt类体系的唯一基类,是Qt各种功能的源头活水,就象MFC中的CObject和Dephi中的TObject事件是由窗口系统或qt本身对各种事务的反应而产生的。当用户按下、释放一个键或鼠标按钮,一个键盘或鼠标事件被产生;当窗口第一次显示,一个绘图事件产生,从而告知最新的可见窗口需要重绘自身。大多数事件是由于响应用户的动作而产生的,但还有一些,比如定时器等,是由系统独立产生的。下面为事件运行机制: QApplication:exec()QApplication:ente

20、r_loop()QApplication:processNextEvent()QApplication: sendPostedEvents();QWSDisplay:getEvent()QApplication:qwsProcessEvent() QWSServer:processEventQueue()(五) 软硬件环境支持硬件:Pentium 2 CPU 1Ghz 1.00G RAM操作系统:Red Hat Linux 9.0编辑工具:Source Insight 3.5编译器:gnu-gcc3.2.2依赖库:QT/X11 4.6.2二、 嵌入式操作系统概要(一) 嵌入式简介嵌入式系统是以

21、应用为中心,以半导体技术、控制技术、计算机技术和通讯技术为基础,强调硬件软件的协同性与整合性,软件与硬件可剪裁,适用于应用系统对功能可靠性、成本体积功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,主要作用是实时控制(Control)、监视(Monitor),管理移动计算机(Management)、数据处理等,或者辅助其它设备运转,完成各种自动化处理的任务。嵌入式系统是一个技术密集、资金密集、高度分散、不断创新的知识集成系统,对整个系统的体积功耗成本等都有严格的限制,嵌入式系统的设计不同于桌面计算机系统设计的一个方面在于:嵌入

22、式系统非常受限于功能和具体的应用环境,如实时性的要求;对外部事件必须保证在规定时间内进行响应;功率预算、散热必须符合环境要求;有体积、重量的限制;需要令人满意的安全性可靠性;系统本身的成本需求等。因此在嵌入式系统设计时需要重点考虑下面一些因素:实时性好,可靠性高,集成度高,功耗低,环境适应能力强,系统成本低等。嵌入式系统应定义为:“嵌入到对象体系中的专用计算机系统”。“嵌入性”、“专用性”与“计算机系统”是嵌入式系统的三个基本要素。对象系统则是指嵌入式系统所嵌入的宿主系统。这个定义是较多定义的一种,对于嵌入式的真正官方定义还仍然在讨论中,不过这不会对嵌入式的发展和应用带来任何影响。按照上述嵌入

23、式系统的定义,只要满足定义中三要素的计算机系统,都可称为嵌入式系统。嵌入式系统按形态可分为设备级(工控机)、板级(单板、模块)、芯片级 (MCtf, SOC)。(二) 嵌入式技术的发展现状与趋势1. 嵌入式在国内发展状况基于internet/intranet的嵌入式远程监控技术在我国处于起步阶段,近年国家出台了一系列信息产业政策,大力发展信息产业,对电子信息行业的企业在政策、税收等方面实行了相当的优惠,这大大促进了作为信息产业一部分的嵌入式远程监控系统的发展。国内的远程监控技术正在被广泛的应用到安防、邮电、电力、通讯、银行、工业控制等国民经济中的各个领域。随着工业控制技术的发展、网络传输速度的

24、提高、国内芯片制造业的日趋壮大,嵌入式网络远程监控技术必将获得长足的发展,从而有力的促进国民经济的发展。2. 嵌入式技术的发展趋势最初嵌入式系统多用于工业控制领域,它对嵌入式系统要求较低,那时候嵌入式系统处理器运算速度较低,系统结构和功能相对简单。进入二十世纪九十年代后,以计算机和软件为核心的数字化技术取得了迅猛发展,不仅广泛渗透到社会经济、军事,交通,通信等相关行业,而且深入到家电、娱乐、艺术、社会文化等各个领域,掀起了一场数字化技术革命。随着后PC时代的到来,嵌入式系统成了这场数字革命的主角之一得到了广泛的应用。以信息家电为代表的互联网时代嵌入式产品,不仅为嵌入式市场展现了美好前景,注入了

25、新的生命;同时也对嵌入式系统技术,特别是软件技术提出新的挑战。这主要包括:支持日趋增长的功能密度、灵活的网络联接、轻便的移动应用和多媒体的信息处理,此外,当然还需对付更加激烈的市场竞争。 (1)嵌入式应用软件的开发需要强大的开发工具和操作系统的支持 随着因特网技术的成熟、带宽的提高,ICP和ASP在网上提供的信息内容日趋丰富、应用项目多种多样,像电话手机、电话座机及电冰箱、微波炉等嵌入式电子设备的功能不再单一,电气结构也更为复杂。为了满足应用功能的升级,设计师们一方面采用更强大的嵌入式处理器如32位、64位RISC芯片或信号处理器DSP增强处理能力;同时还采用实时多任务编程技术和交叉开发工具技

26、术来控制功能复杂性,简化应用程序设计、保障软件质量和缩短开发周期。 目前,国外商品化的嵌入式实时操作系统,已进入我国市场的有WindRiver、Microsoft、QNX和Nuclear等产品。我国自主开发的嵌入式系统软件产品如科银(CoreTek)公司的嵌入式软件开发平台DeltaSystem,它不仅包括DeltaCore嵌入式实时操作系统,而且还包括LamdaTools交叉开发工具套件、测试工具、应用组件等;此外,中科院也推出了Hopen嵌入式操作系统。 (2)联网成为必然趋势为适应嵌入式分布处理结构和应用上网需求,面向21世纪的嵌入式系统要求配备标准的一种或多种网络通信接口。针对外部联网

27、要求,嵌入设备必需配有通信接口,相应需要TCP/IP协议簇软件支持;由于家用电器相互关联(如防盗报警、灯光能源控制、影视设备和信息终端交换信息)及实验现场仪器的协调工作等要求,新一代嵌入式设备还需具备IEEE1394、USB、CAN、Bluetooth或IrDA通信接口,同时也需要提供相应的通信组网协议软件和物理层驱动软件。为了支持应用软件的特定编程模式,如Web或无线Web编程模式,还需要相应的浏览器,如HTML、WML等。 (3)支持小型电子设备实现小尺寸、微功耗和低成本为满足这种特性,要求嵌入式产品设计者相应降低处理器的性能,限制内存容量和复用接口芯片。这就相应提高了对嵌入式软件设计技术

28、要求。如,选用最佳的编程模型和不断改进算法,采用Java编程模式,优化编译器性能。因此,既要软件人员有丰富经验,更需要发展先进嵌入式软件技术,如Java、Web和WAP等。 (4)提供精巧的多媒体人机界面嵌入式设备之所以为亿万用户乐于接受,重要因素之一是它们与使用者之间的亲和力,自然的人机交互界面,如司机操纵高度自动化的汽车主要还是通过习惯的方向盘、脚踏板和操纵杆。人们与信息终端交互要求以GUI屏幕为中心的多媒体界面。手写文字输入、语音拨号上网、收发电子邮件以及彩色图形、图像已取得初步成效。目前一些先进的PDA在显示屏幕上已实现汉字写入、短消息语音发布,但离掌式语言同声翻译还有很大距离。(三)

29、 基于ARM的嵌入式linux内核的裁剪与移植1.建立交叉编译环境通常程序在一台计算机上编译,然后再分布到将要使用的其它计算机上。将主机系统(运行编译器的系统)和目标系统(产生的程序将在其上运行的系统)不兼容时,该过程就叫做交叉编译。本课题的主机采用的是x86体系结构的RedHat Linux系统,采用arm-elf-tools交叉编译环境arm-elf-tools-20030314.sh,该工具可从www.uclinux.org/pub/uClinux/arm-elf-tools/上下载。得到这个文件以后,执行以下命令:sh arm-elf-tools-20030314.sh这个命令将在主机

30、上安装uClinux-ARM的交叉编译环境。安装完成后,键入arm-elf-gcc,如果能看到下面的输出信息:arm-elf-gcc:No input files表示uClinux-ARM的交叉编译环境已建立。2.内核的获得可以从网上下载内核文件,http:/www.kernel.org。如果是为了练习,尽量下载.4.x的内核。因为2.6.x的内核比较大,当然编译也需要更都的时间。3.内核的编译Linux内核的编译菜单主要有三个版本:)make config:进入命令行,可以一行一行的配置。)make menuconfig:开发人员比较熟悉的menuconfig菜单。)make xconfig

31、:在2.4.X以及以前版本中xconfig菜单是基于TCL/TK的图形库的我们采用menuconfig菜单编译内核需要root权限,以下操作都假定你是root用户.先在根目录下建立名为ARM2410的目录然后 把你需要升级的内核拷到/usr/src/下(下文中以2.4.18的内核的linux-2.4.18.tar.gz为例),命令为 #cp linux-2.4.18.tar.gz /usr/src然后解压该文件,命令为: #tar -zxvf linux-2.4.18.tar.gz 如果你所下载的是.bz2文件,例如linux-2.4.0test8.tar.bz2,请使用下面的命令 #bzip

32、2 -d linux-2.4.18.tar.bz2 #tar -xvf linux-2.4.18.tar下面我们开始编译:第一步:在终端下进入内核所在目录 /arm2410;第二步:键入make menuconfig,进入内核配置菜单,如下图:注意:)带有表示该选项包含选项;)每个选项前面有 或,中括号表示仅有种选择(*或空),尖括号表示有种选择(M,*或空),按空格键可显示这几个选择;)M表示以模块方式编译进内核,在内核启动后,需要手工执行insmod命令才能使用该项驱动;*表示直接编译进内核;空表示不编译进内核;第三步:按着自己的需求,配置内核一共有项第四步:键入make clean命令,

33、删除已生成的模块和目标文件第五步:键入make dep命令,编译变量依赖关系等;第六步:键入make zlmage生成经压缩以后的内核映像文件zlmage;第七步:键入make modules编译模块;第八步:键入make modules_install安装编译完成的模块;内核映像文件zlmage存放在 ./arch/arm/boot/目录下3. Busybox与根文件系统的构造4. 什么是根文件系统Linux引导启动时,默认使用的文件系统是根文件系统其中一般都包括这样一些子目录:/dev 设备文件及其他特殊文件/etc 系统配置文件/usr 大多数用户使用的应用程序和文件目录/usr/bin

34、 必要的用户命令/var 监控程序和工具程序存放的可变数据(1) 什么是busyboxBusyBox是很多标准Linux工具的一个单个可执行程序它包含了一些简单的工具,例如cat,还包含了一些更大,更复杂的工具,例如grep.,find,mount以及telnet;(2) 剪裁配置busybox第一步:进入busybox-1.1.0-pre1目录下,执行make menuconfig第二步:设置编译方式、编译器(Buile Options) 如下图:第三步:设置Installation Options选项,如下图:第四步:分别执行make clean命令,make dep命令,make命令,m

35、ake install命令;第五步:在busybox-1.1.0-pre1目录下,新建root文件夹,将_install文件夹下的子目录,文件全部拷贝到root下面;第六步:在busybox-1.1.0-pre1目录下,执行下面命令生成root映像文件:mkcramfs root root cramfs4.BootLoader简介,调试与烧写嵌入式Linux系统的引导加载程序。包括固化在固件(firmware)中的boot代码(可选),和BootLoader两大部分。引导加载程序是系统加电后运行的第一段软件代码。PC机中的引导加载程序由BIOS(其本质就是一段固件程序)和位于硬盘MBR中的OS

36、 BootLoader(比如,LILO和GRUB等)一起组成。BIOS在完成硬件检测和资源分配后,将硬盘MBR中的BootLoader读到系统的RAM中,然后将控制权交给OS BootLoader。BootLoader的主要运行任务就是将内核映象从硬盘上读到 RAM 中,然后跳转到内核的入口点去运行,也即开始启动操作系统。 而在嵌入式系统中,通常并没有像BIOS那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由BootLoader来完成。比如在一个基于ARM7TDMI core的嵌入式系统中,系统在上电或复位时通常都从地址0x00000000处

37、开始执行,而在这个地址处安排的通常就是系统的BootLoader程序。 简单地说,BootLoader就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。 通常,BootLoader是严重地依赖于硬件而实现的,特别是在嵌入式世界。因此,在嵌入式世界里建立一个通用的BootLoader几乎是不可能的。尽管如此,我们仍然可以对BootLoader归纳出一些通用的概念来,以指导用户特定的BootLoader设计与实现。基于ARM的系统的开发中,bootloade

38、r的烧写非常重要,有了bootloader其他的程序就可以通过串口或者网口进行烧写,BootLoader的烧写必须用仿真器。我们提供的仿真器支持两种方式,一种是wiggles方式,一种是JTAG方式。那我们烧写bootloader也就有两种方式:(1) 通过JTAG方式烧写首先将JTAG小板上面的短路冒拔插到JTAG插针上(班子上面有丝印标识),用开口延长线连线JTAG小板到开发板JTAG接口和电脑开口(接上开口线而不连接开发板JTAG板子上面的电源指示灯亮,接上开发板JTAG灯熄灭,开发板上电后指示灯又亮),给开发板上电,将光盘中bootloader文件夹拷贝到.下,把只读属性去掉,并将bo

39、otloader文件夹中的porttalk.sys文件拷贝到drivers下,最后双金bios.bat 运行即可烧写bootloader到开发板flash中。(2)通过Wiggler方式烧写首先将JTAS小板上面的短路冒拔插到wiggler插针上(板子上面有丝印标识),用并口延长线连接JTAG小板到开发板JTAG接口和电脑并口(接上并口线而不连接开发板JTAG板子上面的电源指示灯亮,接上开发板JTAG灯熄灭,开发板上电后指示灯又亮),安装flashgm软件后进行配置,最后烧写。5.嵌入式linux系统内核,文件系统的移植内核编译完成后生成镜像文件,通过串口活USB口把这个文件烧写开发板上。然后

40、将生成的文件系统的镜像文件烧写入内核中运行。由于一个嵌入式Linux系统从软件的角度看通常可以分为四个层次:1、 引导加载程序。包括固化在固件(firmware)中的boot代码(可选),和BootLoader两大部分。 2、 Linux内核。特定于嵌入式板子的定制内核以及内核的启动参数。 3、 文件系统。包括根文件系统和建立于Flash内存设备之上文件系统。通常用ramdisk来作为rootfs。 4、 用户应用程序。特定于用户的应用程序。有时在用户应用程序和内核层之间可能还会包括一个嵌入式图形用户界面。常用的嵌入式GUI有:MicroWindows和MiniGUI等。(此部分后面将介绍)至

41、此一个板上的嵌入式操作系统搭建完成了。三、 嵌入式操作系统应用程序的开发(一) Qt应用程序开发流程Qt是用于本地化跨平台应用开发的领先性框架。Qt所有平台的API是一致的。这就意味着在一种平台上写的应用程序。在新的平台上经过重新编译和连接便能运行于该新平台上。因此软件开发者通过开发和维护一种平台的应用源码来用于多种平台的开发。同样。嵌入式Qt也可以移植基于Qt的软件到嵌入式Linux中。因此我们将首先在PC环境下进行Qt图形界面的开发,然后在Qt/Embedded系统下进行编译运行,具体步骤大致如下:1.Qt Creator 是设计窗口组件的应用程序,在安装 Qt 的 bin 目录下有一个包

42、含很多 Qt 组件的可视化界面。在此组织应用程序的各组件分布很方便最后可生成一个 file. ui 和 mam.cpp 文件;file.ui 是用 XML 语言写的一个文本。2.Uic(User Interface Compiler)是从 XML 文件生成代码的用户界面编译器,用来将 file.ui 文件生成 file.h 和 file.cpp 文件(命令如: uic-o file.h file.uiuic-ofile.cpp-i file.h file.ui),但生成的这两个文件不是标准的纯 C+代码,通常称为Qt 的 C+扩展,因为 Qt 的对象间中运用了信号/槽的通信机制,在文件中用 Q

43、_ OBJECT宏来标识。3.用 qmake 下具生成 file.pro 文件,在设置好环境变量后,用 tmake 工具生成Makefile 文件(tmake 是跨平台 Makefile 生成器);不管在 PC 环境、Qt/Embedded 环境还是交叉编译环境中都能生成相应的 Makefile 文件。4.moc(元对象编译器)用来解析一个 C+文件中的类声明并且生成初始化对象的C+代码。moc 在读取 C+源文件时,如果发现其中一个或多个类的声明中含有 Q_OBJECT宏,就给出这个使用 Q_OBJECT 宏的类生成另外一个包含元对象代码的 C+元文件;对象代码对信号/槽机制、运行时类型信息

44、和动态属性系统是需要的。5.用 make 命令生成可执行的二进制代码文件;由于使用 tmake 生成 Makefile 文件,当需要的时候,编译规则中包含调用 moc,自动地被连编系统调用,不需要手动调用。(二) Qt应用程序“记事本”的具体开发流程用FileNew菜单来新建工程,选择Qt4 Gui Application,下面输入工程名和要保存到的文件夹路径,这里的工程名为Note,这时软件自动添加基本的头文件,因为这个程序我们不需要其他的功能,所以直接点击Next,点击Finish,完成工程的建立。1.记事本各部分功能:菜单栏项目:菜单栏FileEditFormatHelpNew,Open

45、,Save,Saveas,Saveall,print preview,Print,ExitUndo,Redo,Cut,Copy,Paste,Delete,Find, selectallBold,Italic,Underline,LeftAlign,CenterAlign,RightAlign,Font,ColorAboutme,aboutAuthor(1)File菜单栏:【New】点击自动生成新建txt文件,自动命名为“Untitled1.txt”,如果对了新建的文件“Untitled1.Txt”没有进行任何修改,当关闭记事本时就自动关闭,无提示。由于本人设计的记事本可于一个界面中打开多个记事本,因此新建时自动命名为“Untiled2.Txt”,“Untiled3.Txt”.当其中一个记事本中的内容发生修改,当关闭该文件时将会显示出Save File对话框,需要键入文件名和选择保存类型,最后点击保存即可完成对一个新建文件的保存。【Open】点击将打开open file对话框,从文件中选择需要打开的文件,点击“打开”就可打开文件,若取消操作,只需点击“取消”。【Save】点击将保存此刻记事本中打开的或新建的文件。若是新建的文件没有进行过任何修改,则无任何反应。若取

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com