嵌入式操作系统应用研究_毕业设计(编辑修改稿)内容摘要:
QApplication ::processNextEvent() QApplication :: sendPostedEvents()。 QWSDisplay ::getEvent() QApplication ::qwsProcessEvent() QWSServer ::processEventQueue() 二、 嵌入式操作系统概要 (一 ) 嵌入式简介 嵌入式系统是以应用为中心,以半导体技术、控制技术、计算机技术和通讯技术为基础,强调硬件软件的协同性与整合性,软件与硬件可剪裁,适用于应用系统对功能可靠性、成本体积功耗有严格要求的专用计算机系统。 它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,主要作用是实时控制 (Control)、监视 (Monitor),管理移动计算机(Management)、数据处理等,或者辅助其它设备运转,完成各种自动化处理的任务。 嵌入式系统是一个技术密集、资金密集、高度分散、不断创新的知识集成系统,对整个系统的体积功耗成本等都有严格的限制,嵌入式系统的设计不同于 桌面计算机系统设计的一个方面在于:嵌入式系统非常受限于功能和具体的应用环境,如实时性的要求。 对外部事件必须保证在规定时间内进行响应。 功率预算、散热必须符合环境要求。 有体积、重量的限制。 需要令人满意的安全性可靠性。 系统本身的成本需求等。 因此在嵌入式系统设计时需要重点考虑下面一些因素 :实时性好,可靠性高,集成度高,功耗低,环境适应能力强,系统成本低等。 嵌入式系统应定义为 :“嵌入到对象体系中的专用计算机系统”。 “嵌入性”、“专用性”与“计算机系统”是嵌入式系统的三个基本要素。 对象系统则是指嵌入式系统所嵌入的宿主系 统。 这个定义是较多定义的一种,对于嵌入式的真正官方定义还仍然在讨论中,不过这不会对嵌入式的发展和应用带来任何影响。 按照上述嵌入式系统的定义,只要满足定义中三要素的计算机系统,都可称为嵌入式系统。 嵌入式系统按形态可分为设备级 (工控机 )、板级 (单板、模块 )、芯片级 (MCtf, SOC)。 (二 ) 嵌入式技术的发展现状与趋势 1. 嵌入式在国内发展状况 基于 inter/intra 的嵌入式远程监控技术在我国处于起步阶段,近年国家出台了一系列信息产业政策,大力发展信息产业,对电子信息行业的企业在政策、税收等方面实行 了相当的优惠,这大大促进了作为信息产业一部分的嵌入式远程监控系统的发展。 国内的远程监控技术正在被广泛的应用到安防、邮电、电力、通讯、银行、工业控制等国民经济中的各个领域。 随着工业控制技术的发展、网络传输速度的提高、国内芯片制造业的日趋壮大,嵌入式网络远程监控技 术必将获得长足的发展,从而有力的促进国民经济的发展。 2. 嵌入式技术的发展趋势 最初嵌入式系统多用于工业控制领域,它对嵌入式系统要求较低,那时候嵌入式系统处理器运算速度较低,系统结构和功能相对简单。 进入二十世纪九十年代后,以计算机和软件为核心的数字化技术取 得了迅猛发展,不仅广泛渗透到社会经济、军事,交通,通信等相关行业,而且深入到家电、娱乐、艺术、社会文化等各个领域,掀起了一场数字化技术革命。 随着后 PC 时代的到来,嵌入式系统成了这场数字革命的主角之一得到了广泛的应用。 以信息家电为代表的互联网时代嵌入式产品,不仅为嵌入式市场展现了美好前景,注入了新的生命;同时也对嵌入式系统技术,特别是软件技术提出新的挑战。 这主要包括:支持日趋增长的功能密度、灵活的网络联接、轻便的移动应用和多媒体的信息处理,此外,当然还需对付更加激烈的市场竞争。 ( 1)嵌入式应用软件的开发 需要强大的开发工具和操作系统的支持 随着因特网技术的成熟、带宽的提高, ICP 和 ASP 在网上提供的信息内容日趋丰富、应用项目多种多样,像电话手机、电话座机及电冰箱、微波炉等嵌入式电子设备的功能不再单一,电气结构也更为复杂。 为了满足应用功能的升级,设计师们一方面采用更强大的嵌入式处理器如 32 位、 64 位 RISC 芯片或信号处理器 DSP 增强处理能力;同时还采用实时多任务编程技术和交叉开发工具技术来控制功能复杂性,简化应用程序设计、保障软件质量和缩短开发周期。 目前,国外商品化的嵌入式实时操作系统,已进入我国市场的 有 WindRiver、Microsoft、 QNX 和 Nuclear 等产品。 我国自主开发的嵌入式系统软件产品如科银 (CoreTek)公司的嵌入式软件开发平台 DeltaSystem,它不仅包括 DeltaCore嵌入式实时操作系统 ,而且还包括 LamdaTools 交叉开发工具套件、测试工具、应用组件等;此外,中科院也推出了 Hopen 嵌入式操作系统。 ( 2)联网成为必然趋势 为适应嵌入式分布处理结构和应用上网需求,面向 21 世纪的嵌入式系统要求配备标准的一种或多种网络通信接口。 针对外部联网要求,嵌入设备必需配有通信接口 ,相应需要 TCP/IP 协议簇软件支持;由于家用电器相互关联 (如防盗报警、灯光能源控制、影视设备和信息终端交换信息 )及实验现场仪器的协调工作等要求,新一代嵌入式设备还需具备 IEEE139 USB、 CAN、 Bluetooth 或 IrDA通信接口,同时也需要提供相应的通信组网协议软件和物理层驱动软件。 为了支持应用软件的特定编程模式,如 Web 或无线 Web 编程模式,还需要相应的浏览器,如 HTML、 WML 等。 ( 3)支持小型电子设备实现小尺寸、微功耗和低成本 为满足这种特性,要求嵌入式产品设计者相应降低处理器的性 能,限制内存容量和复用接口芯片。 这就相应提高了对嵌入式软件设计技术要求。 如,选用最佳的编程模型和不断改进算法,采用 Java 编程模式,优化编译器性能。 因此,既要软件人员有丰富经验,更需要发展先进嵌入式软件技术,如 Java、 Web 和WAP 等。 ( 4)提供精巧的多媒体人机界面 嵌入式设备之所以为亿万用户乐于接受,重要因素之一是它们与使用者之间的亲和力,自然的人机交互界面,如司机操纵高度自动化的汽车主要还是通过习惯的方向盘、脚踏板和操纵杆。 人们与信息终端交互要求以 GUI 屏幕为中心的多媒体界面。 手写文字输入、语音 拨号上网、收发电子邮件以及彩色图形、图像已取得初步成效。 目前一些先进的 PDA 在显示屏幕上已实现汉字写入、短消息语音发布,但离掌式语言同声翻译还有很大距离。 (三 ) 基于 ARM 的嵌入式 linux 内核的裁剪与移植 通常程序在一台计算机上编译,然后再分布到将要使用的其它计算机上。 将主机系统(运行编译器的系统)和目标系统(产生的程序将在其上运行的系统)不兼容时,该过程就叫做交叉编译。 本课题的主机采用的是 x86 体系结构的 RedHat Linux 系统,采用armelftools 交叉编译环 境 ,该 工具可从。 得到这个文件以后,执行以下命令: sh 这个命令将在主机上安装uClinuxARM 的交叉编译环境。 安装完成后,键入 armelfgcc,如果能看到下面的输出信息: armelfgcc: No input files 表示 uClinuxARM 的交叉编译环境已建立。 可以从网上下载内核文件, 载2 . 的内核。 因为 的内核比较大,当然编译也需要更都的时间。 Linux 内核的编译菜单主要有三个版本: 1) make config:进入命令行,可以一行一行的配置。 2) make menuconfig:开发人员比较熟悉的 menuconfig 菜单。 3) make xconfig:在 以 及以前版本中 xconfig 菜单是基于 TCL/TK的图形库的. 我们采用 menuconfig 菜单 编译内核需要 root 权限,以下操作都假定你是 root 用户 .先在根目录下建立名为 ARM2410 的目录.然后 把你需要升级的内核拷到 /usr/src/下(下文中以 的内核的 为例),命令为 cp /usr/src 然后解压该文件,命令为: tar zxvf 如果你所下载的 是 .bz2 文件,例如 ,请使用下面的命令 bzip2 d tar xvf 下面我们开始编译: 第一步:在终端下进入内核所在目录 /arm2410。 第二步:键入 make menuconfig,进入内核配置菜单,如下图: 注 意: 1)带有"-->"表示该选项包含选项; 2)每个选项前面有 [ ]或 ,中括号表示仅有2种选择( *或空),尖括号表示有3种选择( M,*或空),按空格键可显示这几个选择; 3) M 表示以模块方式编译进内核,在内核启动后,需要手工执行 insmod命令才能使用该项驱动; *表示直接编译进内核;空表示不编译进内核; 第三步:按着自己的需求,配置内核.一共有21项. 第四步:键入 make clean 命令,删除已生成的模块和目标文件. 第五步:键入 make dep 命令,编译变量依赖关系等; 第六步:键入 make zlmage 生成经压缩以后的内核映像文件 zlmage。 第七步:键入 make modules 编译模块; 第八步:键入 make modules_install 安装编译完成的模块; 内核映像文件 zlmage 存放在 ./arch/arm/boot/目录下. 3. Busybox 与根文件系统的构造 4. 什么是根文件系统 Linux 引导启动时,默认使用的文件系统是根文件系统.其中一般都包括这样一些子目录: /dev 设备文件及其他特殊文件 /etc 系统配置文件 /usr 大多数用户使用的应用程序和文件目录 /usr/bin 必要的用户命令 /var 监控程序和工具程序存放的可变数据 ( 1) 什么是 busybox BusyBox 是很多标准 Linux 工具的一个单个可执行程序.它包含了一些简单的工具,例如 cat,还包含了一些更大,更复杂的工具,例如 grep.,find,mount以及 tel。 ( 2) 剪裁配置 busybox 第一步:进入 目录下,执行 make menuconfig. 第二步:设置编译方式、编译器( Buile Options) 如下图: 第三步:设置 Installation Options 选项,如下图: 第四步:分别执行 make clean 命令, make dep 命令, make 命令, make install命令; 第五步:在 目录下,新建 root 文件夹,将 _install文件夹下的子目录,文件全部拷贝到 root 下面; 第六步:在 目录下,执行下面命令生成 root 映像文件: mkcramfs root root cramfs 简介,调试与烧写 嵌入式 Linux 系统 的 引导加载程序。 包括固化在固件 (firmware)中的 boot 代码 (可选 ),和 BootLoader 两大部分。 引导加载程序是系统加电后运行的第一段软件代码。 PC 机中的引导加载程序由 BIOS(其本质就是一段固件程序 )和位于硬盘 MBR 中的 OS BootLoader(比如, LILO 和 GRUB 等)一起组成。 BIOS 在完成硬件检测和资源分配后,将硬盘 MBR 中的 BootLoader读到系统的 RAM 中,然后将控制 权交给 OS BootLoader。 BootLoader 的主要运行任务就是将内核映象从硬盘上读到 RAM 中,然后跳转到内核的入口点去运。嵌入式操作系统应用研究_毕业设计(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。