嵌入式web服务器boa的移植及其应用毕业论文(编辑修改稿)内容摘要:

抢占和轮转调度机制,这充分保证了可靠的实时性,并使同样的硬件配置能满足更强的实时性要求。 另外 Vxworks 具有高度的可靠性,从而保证了用户工作环境的稳定,同时, Vxworks 还有很完备强大的集成开发环境,这也大方便了用户的使用。 以其优良的可靠性、开放性、实时性和易用性赢得了大量的客户。 但是由于 Vxworks 的开发和使用都需要交高额的专利费,因此大大增加了用户的开发成本。 同时由于 Vxworks 的源码不公开,造成部分功能的更新滞后。 3. QNX QNX 是 Quantumn Software System 公司研制的基于 PC 的实时多任务的、可扩展的操作系统,它具有微内核结构, QNX 是业界公认的 X86 平台上最好的嵌入式实时操作系统之一 ,它具有独一无二的微内核实时平台 ,是建立在微内 核和完全地址空间保护基础之上的 ,它同样具有实时性强、稳定可靠的优点。 用户可根据需要选择其中一些组件来定制操作系统。 4. PalmO S. PalmO S 是一种专为掌上设备设计的 32位操作系统,它运行在一个抢占式的多任务内核之上。 同一时刻用户界面仅仅允许一个应用程序被打开,这个被打开 10 的程序将控制整个屏幕,应用程序始终运行在单用户界面进程上, Plam OS 最明显的特点在精简,它的内核只有几千个字节,同时用户也可以方便地开发定制,具有较强的可操作性。 . 嵌入式 Linux( Embedded Linux)是指对标准 Linux 经过小型化裁剪处理之后,能够固化在容量只有几 KB或者几 MB字节的存储芯片或者单片机中,是适合于特定嵌入式应用场合的专用 Linux 操作系统。 在目前已经开发成功的嵌入式系统中,大约有一半使用的是 Linux 这与它自身的优良特性是分不开的。 嵌入式 Linux 同 linux 一样,具有低成本、多种硬件平台支持、优异的性能和良好的网络支持等优点。 另外,为了更好地适应嵌入式领域的开发,嵌入式 Linux 还在 Linux基础上做了部分改进, Linux 也逐渐应用于工作站及桌面 PC。 同样, Linux 以也因为 它服务器 OS 的特性而成为一个下一个智能型嵌入式设备的理想操作系统。 嵌入式 Linux 操作系统 嵌入式 Linux 由于代码开放性以及强大的网络功能,在中低端的嵌入式网络设备中的应用,比起 pSOS, VxWorks 有许多优势。 Linux 现在甚至支持蓝牙技术。 开发嵌入式Linux 产品,从产品上市时间到产品系列化,除人员以外所需的投入均较少。 相对于Windows CE, QNX 以及国内的 H OPEN 等嵌入式操作系统,嵌入式 Linux 以其特有的开放性、与生俱来的网络特性成为嵌入式操作系统的主流之一。 嵌入式 Linux 系统的优势所在 1. 充分满足硬件设备的实时性要求 严格要求的实时性的决定因素与中断例程本身和内核中的其他驱动程序有关。 而响应延迟时间主要受中断的优先级和其他进程暂时地关闭中断响应的影响。 因此管理和驱动中断的机制必须保证实时要求。 根据这个要求,大多数嵌入式系统并不具备严格的实时性,而 windows CE 基本上不具备实时性的特点。 但是,嵌入式 Linux 可以很好得满嵌入式 Web 服务器 Boa 的移植及其应用 11 足实时性要求。 对 Intel x86处理器,实时扩充可以在 Linim系统中很容易进行, RTLinux就是很好的例子。 它主要 是把 Linux 的任务作为自己的一个任务,因此实时性要求很高的任务不受非实时的 Linux 的干扰,可以得到满足。 另外还提供了实时任务和 Linux 的基本核心和其他任务间的接口。 2. 具有很高的适应性和可靠性 和其他运行于 PC 的系统相比,因为 Linux 继承了 Unix 优点,在适应和稳定方面性能是非常突出的。 而嵌入式的 Linux 也是如此。 嵌入式 Linux 不仅支持 x86 芯片,而且是一个跨平台的系统,到目前为止可以支持二、三十种 CPU。 很多 CPU 包括家电业的芯片,都开始做 Linux 的平台移植工作。 移植的速度远远超过 JAVA 的开发环境,这是值得注意的。 也就是说,如果今天采用 Linux环境开发产品,那么将来换 CPU 时就不会遇到困扰。 同时,嵌入式 Linux 内核的结构在网络方面是非常完整的。 提供了包括十兆、百兆、干兆的以太网络以及无线网络、 Token ring(令牌环 )、光纤甚至卫星的支持。 所以 Linux 很适于做通信设备的开发。 ,可以跨越 ICE 等屏障 开发嵌入式系统的关键是需要一套好用的开发和调试工具,而且在开发所不同阶段还需要不同的工具。 传统的开发调试工具就是 ICE 一在线仿真器,它取代目标板的微处 理器,给目标程序提供仿真环境,同时可以连接监视器,允许开发者调试和监视程序的运行。 但是,这种设备价格非常贵。 如果使用嵌入式 Linux,就不用 ICE 也可以很好地开发和调试工作了、同时还降低开发费用。 嵌入式 Linux 利用 GNU 项目的 C编译器来编译程序,使用 gab 源程序级调试器来调试程序。 它们提供了合适的手段来使客户能够开发嵌入式的 Linux 各种应用程序。 通过串口和 gab 通讯,可以进行 C 源程序级的调试。 甚至客户还可以用串口把其他的程序下装到 RAM 或 flash 存储器。 通过串口,使用 gab 可以便得软硬件的初始化代码 继续运行到核心全部启动。 一旦核心运行了,就可以使用其他的更好的调试工具,象 Kgdb 等。 如果连接了网络,也可让网络工作起来。 同时客户就可以用 GUI 的 xgdb 来调试应用程 12 序。 一般说来,需要使用嵌入式操作系统的硬件体积都十分有限,不能像一般的计算机那样采用海量存储器来进行数据存储。 一般是采用软件固化的方法,将程序和操作系统嵌入到整个产品里面。 在这个技术中减少操作系统的体积是关键。 我们不能想象在一个紧凑的硬件设备外面再接一个通用的硬盘或是打算将几十兆上百兆的操作系统输入到普通的 ROM 或者 RAM 里面去。 因此,对嵌入式系统来讲 :功能和体积是一对互斥事件。 而 PS OS 以及其他的一些操作系统,虽然内核只有几十 K,但是要为相关的产品添加额外的功能,实际应用的时候体积在百 K 以上。 嵌入式 1 inux 除了本身体积较少以外,还保留了 Linux 操作系统中非常有特色的一点 :用户可以自己裁减内核。 用户完全可以根据不同的任务来选定特定操作内核模块,而将不用的部分去掉,减少体积,从根本上解决了体积和功能的矛盾。 Web 服务器 嵌入式 Linux 的应用涉及面很广,包括网络设备、信息家电、机顶盒、工业控 制、数据采集、测试等各个方面的应用。 由于 Linux 强大的网络功能,使得嵌入式 Linux 在网络设备的应用显得尤其突出。 连入互联网的嵌入式系统的出现,将给地球披上“电子皮肤”,嵌入式片上系统(System On a Chip)被称为“瘦服务器”。 预测未来 Inter 将向何处去,这是全世界科学家关心的问题,科学家对此做出了预测 :在这阶段“将会产生比 PC 时代多成百上千倍的瘦服务器和超级嵌入式瘦服务器,这些瘦服务器将与这个世界你能想到的各种物理信息、生物信息相联接,通过 Inter 网自动地、实时地、方便地、 简单地提供给需要这些信息的对象”。 由此可见,如何设计和制造嵌入式瘦服务器、嵌入式网关和嵌入式因特网路由器己成为嵌入式 Inter 时代的关键和核心技术。 HTTP(Hypertext Transfer Protocol,超文本传输协议 )协议是 WWW 的核心机制中的重要组成部分。 在 Web 网站开发过程中,对 HTTP 协议的信息格式进行分析和有针对嵌入式 Web 服务器 Boa 的移植及其应用 13 性的应用,是提高网站效率、增强网站功能的一条有效的途径。 HTTP 协议是 Web 服务器使用的主要协议,是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式 超媒体信息系统。 经过十多年的使用与发展,己经得到了不断的完善和扩展。 参考文献 [1][7][15] 2 嵌入式系统硬件 嵌入式系统微处理器 [1][7][12] 本论文采用的处理器是三星公司的 S3C2410X。 S3C2410 是使用 ARM920T 核、采用 的工艺 CMOS 标准宏单元和存储编译器开发而成的。 由于采用了由 ARM公司设计 14 的 16/32 位 ARM920T RISC 处理器, S3C2410X 实现了 MMU 和独立的 16KB 数据哈佛结构和缓存 ,每个缓存均为 8个字长 的流水线 ,它的低功耗、精简而出色的全静态设计特别适用于对成本和功耗敏感的领域 . ARM920T 支持 32 位 ARM 和 16位 Thumb 双指令集,同时支持 ARM 调试体系结构,它既包含用于硬件调试的逻辑,也包含用于软件调试的逻辑。 具有哈佛型 Cache 体系结构,并提供一个完整的高性能处理器了系统。 提供。 全性能的 MMU 指令和数据 Cache 高速 AMBA 基于总线的接口 处理工作状态 ARM920T 可以工作在下面两种工作状态下的一种: ARM 状态:执行 32 位字对齐的 ARM 指令; THUMB 状态:执行 16 位半字对齐的 THUMB 指令。 在这种状态下, PC 寄存器 的第 1 位来选择一个字中的哪个半字。 操作模式 ARM920T 支持 7 种操作模式: 用户模式( user 模式),运行应用的普通模式; 快速中断模式( fiq 模式),用于支持数据传输或通道处理; 中断模式( irq 模式),用于普通中断处理。 超级用户模式( svc 模式),操作系统的保护模式 异常中断模式( abt 模式) ,输入数据后登入 或预取异常中断指令 系统模式( sys 模式),是操作系统使用的一个有特权的用户模式 未定义模式( und 模式),执行了未定义指令时进入该模式 外部中断,异常操作或软件控制都可以改变中断模式。 大多数应用程序都时是在用嵌入式 Web 服务器 Boa 的移植及其应用 15 户模式下运行。 进入特权模式是为了处理中断或异常请求或操作保护资源服务的。 寄存器 ARM 共有 37 个 32 位的寄存器,其中 31 个是通用寄存器, 6 个是状态寄存器。 但在同一时间,对程序员来说并不是所有的寄存器都可见。 在某一时刻存储器是否可见(可被访问),是由处理器 当前的工作状态和工作模式决定的。 异常 当正常的程序执行流程被临时中断时,称为产生了异常。 例如程序执行转向一个外设的中断请求。 在异常能被处理前,当前处理器的状态必须被保留,这样按处理程序完成时就能恢复原始的程序。 有可能同时产生好几个异常,如果出现这种情况,就应该按固定的顺序处理。 详情请看后面对异常优先级的说明。 S3C2410A 的 NAND flash 控制器 [10][9] 当前 Flash 主要分为 NorFlash 两类,但 NOR flash 存储器的价格比较昂贵,而 SDRAM 和 NAND flash 存储器的价格相对来说比较合适,这样就激发了一些用户产生希望从 NAND flash 启动和引导系统,而在 SDRAM 上执行主程序代码的想法。 S3C2410A 恰好满足这一要求,它可以实现从 NAND flash 上执行引导程序。 为了支持 NANDflash 的系统引导, S3C2410A 具备了一个内部 SRAM 缓冲器,叫做“ Steppingstone”。 当系统启动时, NAND flash 存储器的前面 4KByte 字节将被自动载入到 Steppingstone 中,然后系统自动 执行这些载入的引导代码。 一般情况下,这 4K的引导代码需要将 NAND flash 中程序内容拷贝到 SDRAM 中,在引导码执行完毕后跳转到 SDRAM 执行。 使用 S3C2410A 内部硬件 ECC 功能可以对 NAND flash 的数据进行有效性的检测。 16 特性: ● NAND Flash 模式:支持读 /擦 /编程 NAND flash 存储器。 ● 自动导入模式:复位后,引导代码被送入 Steppingstone,传送后,引导代码在 Steppingstone 中执行。 ● 具备硬件 ECC 产生模块 (硬件产生,软件纠正 ) ● Nand flash 接口:支持每页 256words、 512byte、 1kwoeds 和 2kbyte 的 nand flash。 ● 接口: 8/16bit NANDflash 存储器接口。 ● Steppingstone 接口:支持小端 /大端格式、字节 /半字 /字等存储结构。 ● 4KB 内部 SRAM 缓冲器 Steppingstone,在 NAND flash 引导后可以作为其他用途使用。 图 31 Flash 闪存是非易失存储器,可以对存储器单位 元块进行擦写和再编程。 任何 Flash。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。