附录B 外文原文
Using Linux in Embedded Systems
UNIX evokes a wide range of emotions: loved by some for its power and flexibility, despised by others for its eomplex and arcane commands. UNIX has established a checkered reputation in the world of computing.
EASE OF USE
UNIX is infamous for its glut of arcane , non-mnemonic, and cryptic keyboard commands, each with many command-line switches, which can be incredibly confusing to remember. Its SVR 4 implementation contains more than 2,000 comands. Many of these functions can be combined, using pipes and redirection. This illustrates one of UNIXrsquo;s design fundamentals: the creation of a large assortment of very specialized and modular commands that can be combined to accomplish complex tasks.
While UNIX was essentially limited to use by software professionals at universities and in applications development houses, its complex command-line syntax and resulting flexibility were considered an advantage rather than a problem. But this same flexibility also creates a major drawback for using UNIX in a business-oriented market--the more flexible a system is, the more difficult it becomes to learn and operate.
UNIX#39;s script languages provide one form of help. Using scripts, a system administrator can tailor the system to a set of users#39; needs quickly. Another factor mitigating the difficulties of UNIX#39;s arcane command language are the Graphic User Interfaces(GUIs), such as Motif, SunView, or OpenLook. GUIs, however, place another level of incompatibility problems on what is already a complex system.
Motif has been ported to the most different architectures and (because it follows the Presentation Manager style ) is perhaps closest in look and feel to a PC interface such as Microsoft Windows. Sun View is also dominant because of its large installed base and the numbers of applications programmers who have become familiar with writing software to its specifications.
BINARY COMPATIBILITY
UNIX marketers have looked with some envy at the huge-base of shrinkwrapped applications available in the DOS world and have promised that binarycompatible applications for systems is just around the comer. These promises have yet to be met in any significant way. While binary compatibility is not yet available, it is getting easier to share data and applications across different machines.
PORTABILITY
Compared with most operating system sources, UNIX code is quite move UNIX to different architectures. But a UNIX port to a new system is not a trivial matter, offen taking several man-years of work, and can result in glitches and malfunctions, which may create very subtle inconsistencies in performance. These bugs are often difficult to identify and correct.
Having the source code available for your computerrsquo;s operating system is beneficial and detrimental: if the OS lacks certain desirable featuers, having the sources in-house greatly enhances a companyrsquo;s ability to make necessary changes.
On the other hand the customized version of the operating system, with its new or modified features may later present compatibility problems with newer releases or purchased application.
Why Linux?
Intelligent dedicated systems and applicances used in interface, monitoring, communications, and control applications increasingly demand the services of a sophisticated, state-of-the-art operating systems. Many such systems require advanced capabilities like: high resolution and user-friendly graphical user interfaces(GUIs); TCP/IP connectivity; substitution of reliable( and low power)flash memory solid state disk for conventional disk drives; support for 32-bit ultra-high-speed CPUs; the use of large memory arrays; and seemingly infinite capacity storage devices including CDROMs and hard disks.
This is not the stuff of yesteryearrsquo;s “standalone” code, “roll-your-own” kernels, or “plain old DOS”, No, those days are gone-forever.
Then too, consider the rapidly accelerating pace of hardware and chipset innovation-accompanied by extremely rapid obsolescence of the older devices. Combine these two, and you can see why itrsquo;s become an enormous challenge for commercial RTOS vendors to keep up with the constant churning of hardware devices . Supporting the newest devices in a timely manner-even just to stay clear of the unrelenting steamroller of chipset obsolescence-takes a large and constant resource commitment. If it#39;s a struggle for the commercial RTOS vendors to keep up, going it alone by writing standalone code or a roll-your-own kernel certainly makes no sense.
With the options narrowing, embedded system developers find themselves faced with a dilemma:
On the one hand, todayrsquo;s highly sophisticated and empowered intelligent embedded systems-based on the newest chips and hardware capabilities—demand noting less than the power, sophistication, and currency of support provided by a popular high-end operating system like windows.
On the other hand, embedded systems demand extremely high reliability(for non-stop, unattended operation)plus the ability to customize the OS to match an application#39;s unique requirements.
Study on Embedded WEB Server and Realization
Abstract
In the future pervasive computing environment, people are surrounded by a great multitude of microcomputers that would be embedded in home appliances, factory devices, and so on. It is a better choice for these devices to be embedded a WEB server. Through this embedded WEB server users or administrators can access their equipments remotely, and many other things such as maintenance requests can automatically be done. After discussing the advantages and challenges of embedded WEB server, we report our efforts on development of an embedded internet based WEB server with focus on realization of TCP/IP suite and progr
剩余内容已隐藏,支付完成后下载完整资料
附录A 译文
Linux在嵌入式系统中的应用
人们对UNIX有着截然不同的复杂情感:因为它的能力和灵活性被一些人喜爱,因为它复杂和晦涩难懂的命令被一些人轻视。UNIX在计算领域已经建立了一个多变的声誉。
易用性
UNIX因其大量的晦涩难懂的、不方便记忆的和模糊的键盘输入命令而臭名昭著,每个命令都有许多命令行选择,这可能会让人回忆起来感到非常混乱。它的SVR 4安装启用了超过2000个命令的组合。其中的许多函数可以组合、使用管道和重定向。这阐明了UNIX的一个设计理念:创建了大量非常专业的和模块化的指令,通过命令的组合执行复杂任务。
UNIX本来仅限于供大学研究人员和应用程序开发公司的软件专业人员使用,它复杂的命令行语法和由此产生的灵活性却认为是一种优势而不是问题。然而灵活性同时也为在面向业务的市场中使用UNIX带来了一个主要缺陷——系统越灵活,学习和操作就越困难。
UNIX的脚本语言提供了一种帮助形式。通过使用脚本,系统管理员可以快速地将系统调整成符合用户需求的设置。另一个减轻UNIX命令语言晦涩难懂的方式是图形用户界面(GUI),如Motif、SunView或OpenLook。然而,GUI在已经非常复杂的系统上又增加了不兼容的问题。
Motif这种方式已经被移植到差别最大的架构中了,并且(因为它效仿了 Presentation Manager style 的风格)在外观桑可能是最接近于PC界面的,比如Microsoft Windows一类的PC接口。Sun View也占据着主导地位,因为它的安装基数很大,而且越来越多编写应用程序的程序员已经熟悉了编写软件的规范。
二进制兼容
UNIX营销人员对DOS世界中可用的大量简装应用程序感到羡慕,并承诺即将发行二进制兼容的系统应用程序。这些承诺还没有解决所用需求问题。虽然二进制兼容性尚不存在,但在不同的机器上共享数据和应用程序变得更加容易。
可移植性
与大多数操作系统源代码相比,UNIX代码非常适合不同的架构。但是把UNIX移植到一个新系统中也不是一个一蹴而就的事情,它需要花费数年的工作时间,并且可能导致故障和失灵,这可能会在性能上造成难以捉摸的不一致性。这些错误通常很难识别和纠正的。拥有你自己计算机的操作系统源代码既有益,也有害;如果操作系统缺少某些所需的功能,那么拥有内部的源代码可以极大地提高公司进行必要更改的能力。
另一方面,带有新的或修改特性的操作系统定制版本,可能会在以后出现与新版本或购买的应用程序的兼容性问题。
为什么用LINUX?
用于接口、监控、通信、和控制应用程序的智能专用系统和应用程序,要求越来越复杂的服务需求和最先进的操作系统。许多这样的系统需要如下的高级的性能:
例如:高分辨率和用户友好的图形用户界面;TCP / IP连接;用可靠的、低功率的闪存固态磁盘 替换常规硬盘驱动器;支持32位的超高速CPU;使用大存储器阵列;以及看似无限容量的存储设备包括光盘和硬盘。
这些已经不是过去的独立代码,自己编写的内核,或者普通老旧的DOS,是的,那些日子已永远过去了。
同样,考虑到硬件和芯片的快速发展 --伴随着旧设备的快速淘汰。结合这两种情况,你就会明白为什么对于商业RTOS的供应商来说,要跟上硬件设备的不断变化是一个巨大的挑战。及时地支持最新的设备,甚至不去理会不愿退让的、大力推销的逐渐过时的芯片,为了实现这个需要不断投入大量资材。如果商业RTOS的供应商需要奋力紧跟硬件发展,那么通过编写独立的代码或者自己的内核就是毫无意义的。
因为选择范围很小,嵌入式系统的开发商面临这样的一种困境:
一方面,今天高度复杂的,且授权的智能嵌入式系统(基于最新的芯片和硬件性能)需要正式流行的高档操作系统(如Windows)提供的那种能力、精致性,以及通用性。
另一方面,嵌入式系统要求非常高的可靠性(不停机,无人看管的操作),加上有能力把操作系统改编成符合应用系统的独特的要求。
嵌入式WEB服务器的研究与实现
在未来计算机普遍应用的时代,大量的嵌入式微处理器将会应用于家用电器、工厂设备等等。对这些设备来说应用嵌入式WEB服务器将是一个很好的选择。通过嵌入式WEB服务器用户或管理员可以远程访问他们的设备,和其他许多的工作如自动完成维修需求。在讨论嵌入式WEB服务器的优点和挑战之后,我们报告了在基于WEB服务器嵌入式internet的发展方面所做的工作,重点是实现TCP IP协议和互动式网站的编程。实验结果还表明该嵌入式网络系统可以有效的集成到设备中。
在不远将来,普适计算环境将包括数不尽的相互作用、协调合作、访问权限的放开,经常还包括无形的计算设备。这些设备,无论是我们随身携带的或者嵌入在我们的家里、企业和工厂,通过无线和有线链接和另外的嵌入式设备及全球网络基础设施连接到一起。结果是将网络环境开放到一个新的水平。而且,在装置和传感器中嵌入一个WEB服务器允许用户在世界的任何一个地方利用标准的因特网浏览器访问这些设备。因为万维网在继续发展,很明显,其潜在的技术远不止只是对浏览网页有益。事实上WEB浏览器已成为多种运用的标准用户界面。这是因为WEB浏览器能够为各种客户机/服务器应用提供一个图形用户接口界面而不执行一个单独的客户端。它为管理员随时随地提供一个用户友好、跨平台、开放和无处不在的方法去管理嵌入式系统。
新的嵌入式系统开发平台和嵌入式WEB服务器技术是可以实现的,可以使设备和传感器制造商为他们的产品迅速开发先进的和易于使用的图形界面。为建设嵌入式网络系统提供的更好的工具将进一步加速新的WEB启用的产品的使用,这种产品预计将成为未来的接口标准的首选。随着简化和加快产品接口的发展,成本因此降低,一个WEB接口可以大大提高现场设备的功能,如:1 )自动生成维修请求, 2 )远程诊断, 3 )遥控固件升级,等等。
例如,假设一个空调已经侦测到其驱动马达发生故障。最好的控制器或智能装置可以做的是将其写入一个日志文件,并在操作员界面上显示消息来表明有服务需求。在基于WEB服务的世界里,装置可能执行之前的两个步骤,向图形用户接口程序员通知消息。使用一个嵌入在设备中的标准服务器,WEB服务代理会接受此通知,在编码的邮件中隐藏,然后调用一个远程的WEB服务。WEB服务器将会处理马达故障这一事件,,根据预定义的工作流程及业务规则处理。处理结果可能是援引其他WEB服务;如将服务请求提交给现场设备的应用表格以及检测运行在另一台计算机上清单管理系统上是否有空闲马达。
通过使用WEB服务,空调的自我诊断故障系统提出更换马达的需求,这一需求在一个支持售后服务的企业会引发一系列的行动。一个简单零件的故障能够自动设定到一系列复杂事件活动(在客户意识到这个问题之前)。这一系统的运用使得对问题的反应更快,提高了客户的满意度。
为了允许调用外部的WEB服务,许多嵌入式系统供应商也可能会被要求提供WEB服务。继续上面的例子,现场服务应用发送一个无线的通知给技术员的掌上电脑。利用标准技术,技术员可以致电客户预约一次访问,进入该站点,对空调执行一套例行的诊断。连续的诊断经常发生会导致额外的零部件维护需求,延长修复的进程。在基于网络服务的世界里,技术员可以用他的掌上电脑远程请求诊断例程,让掌上电脑成为空调供应商提供的网络服务的客户。使用嵌入到现场设备中网络服务标准也可以提供其他功能如固件升级和远程遥控。
实验装置
嵌入式网络服务器的目标是在嵌入式设备和互联网之间提供相互联系,所以嵌入式互联网必须配置如图一所示。在嵌入这种服务器之后用户可以随时随地的通过互联网便捷的访问他们的设备。在该实验中我们的目的是设计一款小型嵌入式网络服务器,将其嵌入到各种设备中。用户通过一个浏览器由一个统一的界面访问这些设备。实际上他们只需要一个浏览器即可。它给传统的设备提供了一个统一的互联网界面。
嵌入式系统
在嵌入式系统中使用的微处理器是一款由三星电子有限公司生产的32位ARM7TDMI的网络处理器---S3C44BOX.。该芯片特点是低功耗,具有16/32位精简指令集。另外,该芯片处理器统一配置了8K字节的缓存/SRAM,一个多主I2C总线接口,两个串口,两个计时器,18个可编程输入输出口和网络集成电路,如CS8900A可用于实现所有在输入输出数据中解码和编码;因此,大部分以太网的功能可以实现。三星S3C44BOX的最重要的一个特点是可移植uClinux操作系统。uClinux是由Linux 2.4内核驱动,专为无内存管理单元的微处理器所设计。uClinux的内核远小于Linux 2.4内核的源码,而保留了Linux 的主要优点如稳定性,较好的支持网络能力和杰出的文件支持系统。利用uClinux,这些文件的设计和应用将会更会更有效。
嵌入式TCP/IP协议
TCP / IP堆栈是指协议的集合。其他主要的ERTO供应商利用TCP/IP堆栈开发基于Unix的系统。这些堆栈基于数据流,数据流是为Unix v.3操作系统和旧的BSD实现所创造的。它们不适合使用在嵌入式互联网中,因为它们从未这样打算过。它们有大量的记忆要求,提供欠佳的表现。当软件从个人电脑开发转移到嵌入式开发板时,内存和内存管理成为一个重要的问题。厂商纷纷将网络技术和嵌入式网络服务器加入到他们的生产线中,以一种更加开放和经济的方法提供网络设备。尽管在减少网络服务器的大小和成本方面取得了长足进展,但对于大多数机器来说它仍然过于庞大和昂贵,在每台设备上安装网络服务器以便从互联网上管理它们是讲得通的,对于小型设备来说,将网络服务器减少到只剩必需的部分是有必要的,小型设备只需要很少的几K字节的内存即可。更进一步,在每台设备上拥有嵌入式TCP/IP协议堆栈使得和该设备通信成为可能。
不是所有的TCP/IP协议对于嵌入式网络应用都是必需的。为了支持嵌入式网络服务器必需过滤掉一些协议。今天的浏览器可以执行各种任务,内核的任务是从一个HTTP协议的数据包中接受数据,在浏览器上以一种合适的格式提交数据,这样用户便能通过浏览器阅读理解这些数据。WWW是一个用户友好的界面,图片、格式化文本、视频和音频能够实现。用户可以通过任何浏览器访问它们的设备。因此,TCP和HTTP是基本需要。在一些特殊情况用户可能喜欢使用UDP协议,所以我们预留了UDP,ARP,RARP,ICMP协议作为基本功能。在应用层一些协议如SNMP、FTP非常复杂并且很少在嵌入式网络应用中使用到,所以将这些协议从嵌入式网络内核中删除。
因此,应用在设备中的TCP/IP堆栈是精简后的专门应用于嵌入式系统中的,它的主要目标放在性能和缩小代码大小上。在和基于堆栈的标准流的比较中,瘦TCP/IP堆栈被证明是优秀的,非常小的。在设计瘦TCP/IP配置时,简单性和多功能性是主要的关注方面。它被设计的简洁,直截了当和灵活。使用TCP/IP连接,在互联网上通过一个网络浏览器访问WEB服务器,服务器将会提供一个嵌入式设备中的图形窗口到浏览器中。WEB服务器生成一个有图形的网页显示在浏览器上。服务器和浏览器通过HTTP协议通信。网络服务器可以增加嵌入式文件系统和TCP/IP网络实体如TFTP服务器。网络文件可以由文件系统通过TFTP工具下载到嵌入式设备中。
编程互动网站
CGI是一个标准规格,允许服务器运行其他程序。它提供了一种机制,这种机制用来向程序传递参数和将它们的输出发送回网络浏览器。利用通过CGI访问外部例程的能力,一个互动和独立于平台的网站就建立了。CGI应用程序可以由C , C , Visual Basic,Perl等语言书写。然而大多数CGI商业应用程序由Perl和C语言来写。Perl语言不被uClinux操作系统支持,所以在本篇论文中使用C语言。例如,下面的程序部分是用来实现所建议的网站的标题。
安全性
当你向公网或局域网发布设备信息时,安全在任何时候都是一个重大问题。安全有许多方面,包括加密,认证和授权。任何基于网络的服务实现必须解决这些问题。解决方法之一是全权证书介绍和使用具体的授权行动。幸运的是,一些网络服务的框架实现针对于嵌入式世界,支持身份验证的访问授权服务。有两种方式来实现:一是只有经过授权的人可以访问由设备提供的特定网络服务,二是一些网络服务由一些企业提供,这些服务只提供给授权的设备。正如在图三中所显示的。
实验结果和讨论
如图四中所示,下列功能实现:从嵌入式系统中获得实时数据显示在HTTL页上;用户通过HTTL页上的按钮远程操作嵌入式系统,通过运行CGI程序填写表单将数据提交给嵌入式应用程序,以告诉服务器进程中的信息;当侦测到控制设备发生混乱时嵌入式网络服务器自动发送邮件。但是一些功能目前还未实现,如建立在嵌入式网络服务器和在引言中提到的制造商的服务器之间的工作流程。此外,在实现实时控制和监控方面还有困难,因为CGI安装和显示在网络浏览器所需的时间。无论如何,由于嵌入式系统发展的快速步伐,这些挑战在不远的将来都将被克服。因此,网络服务器技术在嵌入式因特网设计中有潜力变得更加有用,使用更加普遍。
结论
我们已经介绍了一般的嵌入式网络服务器的设计理念,特别是剪裁TCP / IP ,目标是让访问和开
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[468151],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。