论文部分内容阅读
随着计算机技术的发展,嵌入式系统已成为计算机领域的一个重要组成部分,并成为近年来新兴的研究热点。ARM7TDMI是一种高效,低功耗的RISC处理器。以该内核为核心的S3C44B0是一款集成了许多外围设备的芯片,非常适合做嵌入式产品。本文主要讲述的是嵌入式系统的软件的移植问题。所谓移植,就是使一个软件能在某个微处理器或操作系统上运行。移植工作与硬件和操作系统的相关性很大,虽然有些软件是用标准的C语言编写的,但是与硬件相关和与操作系统相关的部分还要依据实际情况来编写。本文介绍了嵌入式系统的总体构造,包括硬件电路总体框图,以及所选取的要移植的软件。介绍了ARM处理器的体系结构,以及本文所用到的ARM处理器S3C44B0的内部结构。uC/OS-II是一个移植方便的、可固化的、可裁剪的、占先的多任务实时内核,它适用于多种微处理器,微控制器和数字处理芯片。uC/OS-II可以管理63个应用任务。本文研究了uC/OS-II的源代码,解决了基于ARM的移植问题。主要是编译常量的设置,数据类型的定义,宏定义,以及与操作系统调度相关的函数的编写,大部分是使用汇编语言实现的。uC/GUI是嵌入式应用中通用的图形软件,是为带LCD的图形应用系统提供高效的图形用户接口而设计的,它不依赖于处理器和LCD控制器。uC/GUI在多任务环境下工作与在单任务环境下工作性能同样卓越,任何尺寸大小的显示设备,不管是物理的或是虚拟的,只要具备LCD控制器和处理器,都可以运用uC/GUI。本文研究了uC/GUI的源代码,解决了基于ARM的移植问题,包括LCD控制器的初始化,以及对LCD进行控制的所有函数的实现,对一些编译时所用到的常量进行了设置,对uC/GUI进行了裁剪,使其能够适应16灰度级的LCD显示屏。另外还编写了鼠<WP=77>标的驱动程序。最后比较了用不同数据结构的数组,对显示速度的影响。在移植工作完成后还对uC/GUI进行了测试,修改了Demo程序,结果证明uC/GUI移植获得了成功。LwIP是瑞士计算机科学院(Swedish Institute of Computer Science)的Adam Dunkels等开发的一套用于嵌入式系统的开放源代码TCP/IP协议栈。LwIP的含义是Light Weight(轻型)IP协议。LwIP可以移植到操作系统上,也可以在无操作系统的情况下独立运行。LwIP TCP/IP实现的重点是在保持TCP协议主要功能的基础上减少对RAM的占用,一般它只需要几十K的RAM和40K左右的ROM。本文研究了LwIP的源代码,解决了基于ARM的移植问题,包括编译常量的设置,数据类型的定义,与操作系统相关函数修改,以及网卡设备的初始化和驱动。在移植工作完成后还编写了简单的web程序用来测试LwIP。做软件的移植工作大体上可分为这样几个步骤:首先是熟悉所要移植的系统的硬件特性;其次要了解所要移植的软件的结构,分清那些部分是与硬件相关的部分,那些是与硬件无关的部分,找出移植所要实现的部分;第三要了解要移植的软件的工作流程;第四要了解移植工作中要用到的各种协议,例如TCP/IP协议栈LwIP的移植,就需要对TCP/IP协议协议族有一定的了解。在具体的开发过程中,掌握了ARM-32位嵌入式微处理器的开发。并且适当的裁剪了上述三个软件,使其适合本系统的应用要求。掌握了嵌入式软件开发的核心技术。