77范文网 - 专业文章范例文档资料分享平台

嵌入式系统设计大学教程 - 习题与解答(9)

来源:网络收集 时间:2019-08-26 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

ioaddr = dev->base_addr;

lp = (struct net_local *)dev->priv;

while((status = readword(dev,ISQ_PORT))){ switch(status & ISQ_EVENT_MASK){ 类型*/

case ISQ_RECEIVER_EVENT: net_rx(dev); break;

case ISQ_TRANSMITTER_EVENT: lp->stats.tx_packets++; dev->tbusy = 0; mark_bh(NET_BH);

/*通知上层*/

/*获取信息包*/ /*判断中断

if((status & TX_OK) == 0) lp->stats.tx_errors++; if

status

&

TX_LOST_CRS

lp->stats.tx_carrier_errors++; if

status

&

TX_SQE_ERROR

lp->stats.tx_heartbeat_errors++; if

status

&

TX_LATE_COL

lp->stats.tx_window_errors++;

if(status & TX_16_COL) lp->stats.tx_aborted_errors++; break;

case ISQ_BUFFER_EVENT:

if(status & READY_FOR_TX){ dev->tbusy = 0; mark_bh(NET_BH);

/*通知上层*/

}

if(status & TX_UNDERRUN){ lp->send_underrun++;

if(lp->send_underrun > 3) lp->send_cmd TX_AFTER_ALL; } break;

case ISQ_RX_MISS_EVENT:

lp->stats.rx_missed_errors += (status >>6); break;

case ISQ_TX_COL_EVENT:

lp->stats.collisions += (status >>6); break; } }

dev->interrupt = 0; return;}

= 第8章 用户图形接口GUI

1、简述嵌入式系统对GUI的基本要求。(P206)

答:GUI在嵌入式系统或者实时系统中的地位将越来越重要,这些系统对GUI的基本要求包括:轻型、占用资源少、高性能、高可靠性、可配置、可移植等特点。 ? 体积小

谈到“嵌入”,真的是除了小还是小,现在PC的存储器动辄就是以GB论,对于嵌入式的硬件来说根本是不可能的奢求,大部分的嵌入式系统用的Flash大都以16MB或者32MB为主,与PC简直是天壤之别,所以这样苛刻的环境底下只有尽量减小软件的体积了。 ? 消耗系统资源少

对于手持式设备如PDA、手机等,最注重的就是系统资源及省电功能,在省电的前提下CPU速度就不能太高,运算速度越快越耗电,而且散热也会成为很大的问题。对于非手持式设备如Set Top Box、部份WebPAD等,这类系统主要考虑的是硬件的成本,所以嵌入式系统的CPU速度不如PC机,存储容量也小得多,因此GUI系统面临着另一种挑战,必须谨慎使用系统资源,不能有任何无谓的浪费。 ? 系统独立

嵌入式系统的一大特色就是硬件差异很大,不像PC机全部都是X86架构。尽管底层硬件差异很大,上层的GUI系统仍然需要表现出统一的界面,所以嵌入式GUI系统必须尽量与硬件划清界限,最好的设计是在GUI系统与硬件中间有一层系统负责隔离,在这方面,

Linux Kernel已经可以扮演这个角色。 ? 可配置、可移植

嵌入式系统往往是一种定制设备,它们对GUI的需求也各不相同。举个简单的例子,有的系统只要求一些图形功能,而有些系统要求完备的GUI支持。因此,GUI自身也必须是可定制的。

2、简述目前常见的嵌入式GUI系统的特点。(P207~210)

答:目前主流的嵌入式GUI系统主要有MicroWindows、Qt/Embedded、Tiny-X Windows、OpenGUI和MiniGUI等。由于嵌入式系统之间在特定应用环境下的差异,这些GUI系统在其结构、实现方法、使用方法、应用范围等方面也都有各自的特点。

(1)MicroWindows

MicroWindows是一个著名的开源嵌入式GUI软件,目的是把现代图形视窗环境引入到运行Linux的小型设备和平台上,作为X Windows的替代品。它支持多线程,但必须使用PThread库。MicroWindows是一个典型的基于Client/Server体系结构的GUI系统,采用分层结构。 (2)OpenGUI

OpenGUI分为三层:最低层是由汇编编写的快速图形引擎;中间层提供了图形绘制API,包括线条、矩形、圆弧等,并且兼容于Borland的BGI API;第三层用C++编写,提供完整的GUI对象集。OpenGUI采用LGPL条款发布。OpenGUI比较适合于基于x86平台

的实时系统,可移植性稍差,目前的发展也基本停滞。 (3)Tiny-X Windows

以X Windows System搭配Tiny-X Server架构来说,最大的优点就是弹性与开发速度。因为与桌面的X Windows架构相同,因此相对于很多以Qt、GTK+、FLTK等开发的软件来说,移植更容易。但因为X Windows系统的运行还需要其他程序和库的支持,包括X Windows管理器、XLib、建立在XLib之上的GTK和Qt等函数库,因此,即使是Tiny-X Windows系统,在运行期间所占用的系统资源也很多,国外使用Tiny-X Windows的环境也多是比较高端的平台。此外,Tiny-X Windows是一个多进程的GUI,它无法运行在很多仅支持多任务(线程)的RTOS上,因此它对于操作系统的兼容性较差,实时性不高。

(4)Qt/Embedded

Qt/Embedded延续了Qt在X上的强大功能,但在底层摒弃了XLib,仅采用FrameBuffer作为底层图形接口。同时,将外部输入设备抽象为keyboard和mouse等输入事件,底层接口支持键盘、鼠标、触摸屏以及用户自定义的设备等。 (5)MiniGUI

MiniGUI是由北京飞漫软件技术有限公司主持的自由软件,遵循GPL条款发布(1.2.6及之前的版本以LGPL条款发布),其目标是为实时嵌入式Linux系统建立一个快速、稳定和轻量级的图形用户界面支持系统。

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库嵌入式系统设计大学教程 - 习题与解答(9)在线全文阅读。

嵌入式系统设计大学教程 - 习题与解答(9).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/687994.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: