基于ARM S3C2410平台下嵌入式Linux虚拟机移植技术的研究与实现
上传时间: 2013-07-14
上传用户:zuozuo1215
TCP/IP协议作为Internet上的通信实现方式的一种,是近年来嵌入式应用领域的一个研究热点。嵌入式设备要与Internet网络直接交换信息,就需要支持TCP/IP协议。嵌入式系统具有内核小、专用性强、系统精简、实时性高、功耗和环境要求严格等特点,所以传统的TCP/IP协议不适合移植到嵌入式系统中。实现嵌入式系统网络接入有两种选择,第一种是按照TCP/IP协议的原理编写简化版的通信协议;第二种是将已有小型的,适用于嵌入式系统的网络协议移植到系统中。 首先本文简要介绍了嵌入式网络协议的研究现状和研究内容,分析了LwIP协议栈中IP协议、TCP协议、UDP协议和ICMP协议的原理。由于LwIP没有使用和操作系统相关的系统调用和数据结构,所以在LwIP和操作系统之间增加了一个操作系统封装层为操作系统服务。LwIP不仅保持了TCP协议主要功能,而且减少了对RAM的占用。 其次,移植中实现了操作系统模拟层和LwIP底层接口。操作系统模拟层为协议和操作系统提供了一个接口,使协议对操作系统透明,可以不依赖操作系统运行,需要实现信号量、邮箱、线程和临界保护。LwIP底层接口为不同的硬件提供不同的驱动程序,需要实现系统初始化、网卡初始化、线程接收、数据包的读取和发送。 最后提出测试设计框架,在ARM开发板和μC/OS-Ⅱ操作系统上对移植的协议进行测试。测试结果表明,移植协议可以正常工作,实现了基本的网络功能。
上传时间: 2013-07-11
上传用户:iswlkje
随着电子产品的飞速发展,嵌入式系统已经在这个社会上无处不在。操作系统作为嵌入式产品的灵魂,一定要依据产品的需要安装合适的操作系统,以便于可以更好的编写应用程序。 本研究将Linux操作系统移植到QQ2440开发板。操作系统移植的目的是为了能够更好的利用开发板开发应用程序,本文将Linux2.6版本内核移植到QQ2440开发板,使开发板可以用于工业过程控制。文章介绍了嵌入式系统的特点、ARM体系结构、嵌入式Linux操作系统。重点描述了Linux操作系统的移植,论文在Linux操作系统移植研究中,首先,进行了移植环境的设计和搭建,建立交叉编译环境,配置网络文件系统NFS。然后,对Linux2.6版本内核和vivi进行配置和编译并以yaffs文件系统为例,介绍了yaffs根文件系统映象的制作。最后,介绍了一种解决内核实时化的方法。在论文的最后,给出了嵌入式Linux驱动程序的概念与结构以及开发流程,并进行了UART2串口以及LCD显示屏驱动的开发。全文详细的描述了嵌入式Linux操作系统移植的流程,在基于QQ2440开发板上给出了bootloader、内核以及文件系统移植的实现方法。并给出了解决Linux内核实时化的一种算法并进行了驱动程序的开发。
上传时间: 2013-06-04
上传用户:LouieWu
近年来,嵌入式技术发展迅速,已经渗透到工业控制、智能设备以及电子消费品等人们日常生活的各个领域,而Internet技术也取得了巨大的发展,为人们所广为接受,于是嵌入式技术和Internet技术相结合形成的嵌入式Internet技术适时地出现了,并且成为实现远程控制、信息共享的关键技术。 本文首先阐述了课题研究的背景、目的和意义,以及嵌入式TCP/IP协议栈研究的现状,然后分析了嵌入式操作系统μ C/OS-Ⅱ的工作原理并描述了把它移植到LPC2210上的过程,为嵌入式TCP/IP协议栈实现提供了操作系统支持。接着,针对嵌入式协议栈的特殊需求,详细分析并采用了零拷贝技术、跨层技术等对LwIP协议栈进行了有效的裁剪和优化,结合μ C/PS-Ⅱ设计了一种紧凑的协议栈工作模型和内存管理机制。并且结合μ C/OS-Ⅱ设计了协议栈的工作模型和内存管理机制。在驱动程序的基础上实现了对LwIP中的IP协议、ARP协议、ICMP协议、UDP协议和TCP协议等几个协议栈的裁剪和优化。并分析了它们的安全漏洞及基于这些漏洞的攻击方式,在这个基础上提出了如攻击检测算法等填补漏洞和抵抗攻击的一些技术和措施。最后在目标板上成功移植了优化后的LwIP。 本文同时还设计了一种能够提供足够多软定时器资源的算法。在不需要操作系统支持的情况下,软定时器可以给多任务的系统提供足够的定时服务,而且不影响中断处理时间。并且具有自动回调功能,启动一次以后就可自动调用定时器。此软定时器使用方便且易移植,大大方便了本课题多次使用定时器的需要。课题结合具体项目“蓄电池状态记录仪的设计”,分析了它的各个功能模块,设计了其系统结构。对各个功能模块的设计与实现进行了代码编写和测试,借助于TFTP服务器实现了基于协议的嵌入式目标板和PC机间的网络通信。 本课题经过几个月的软硬件设计和现场测试,已实现了最初的设计目标。构建出了实验硬件平台和一个多任务多协议的基本实时系统框架。以后的开发者可以不必深入了解μ C/OS-Ⅱ实时操作系统和嵌入式TCP/IP协议栈的情况下就可以方便的创建一个嵌入式网络控制系统,并能在平台上开发其它的应用任务,为以后的研究提供了参考并奠定了基础。
上传时间: 2013-04-24
上传用户:www240697738
随着城市高层建筑的发展,建筑的消防安全性越来越引起人们的重视。火灾报警系统是建筑自动化系统中重要的组成部分,它利用各种探测器来检测火情,对火灾的发生进行及时准确的报警,并控制各种灭火设备进行自动灭火和对相关设备进行联动控制。传统的火灾报警系统采用微机中心处理方式,每个控制中心处理2000至8000个探测单元的信息,系统的实时性与稳定性的提升受到控制中心的数据处理能力和网络通信速率的限制。 基于这一现状,本文提出了基于ARM与uC/OS-Ⅱ的网络火灾报警系统。将控制中心的数据处理任务交由各控制单元,引入嵌入式操作系统对任务进行管理,同时引入TCP/IP协议栈实现网络功能,利用Internet来进行信息传输。 本文设计了基于ARM的控制单元硬件平台,并进行了硬件模块测试。ARM作为32位RISC芯片的领导者,具有很高的处理能力,同时其成本较低,十分适用于作为系统中的控制单元,从硬件上保证了系统的数据处理能力与火灾报警的实时性。 在软件上,本文移植了uC/OS-Ⅱ作为系统的软件平台,编写了启动与移植相关代码,并做了移植测试。uC/OS-Ⅱ作为开源的嵌入式实时操作系统,拥有极为精简的内核和出色的实时性与可靠性,作为控制单元的操作系统平台对任务进行管理与调度,从软件上保证了系统的稳定性与可靠性。 最后,本文在ARM和uC/OS-Ⅱ的基础上实现了网络协议栈LwIP的移植,进行了计算机通信测试。网络协议栈的移植使控制单元通过Internet完成信息的传输与控制,提高网络的扩展性与健壮性,同时摆脱了专用网络的传输速率与范围的限制。 本文研究的系统具有分布智能化的特点,多个嵌入式控制单元取代了控制中心火灾信息处理,降低了中心数据处理压力和网络通信压力,平行的网络结构提高了系统的稳定性,个别控制单元故障不会引起整个系统的崩溃,为基于这一思路的火灾报警系统建立了一个完整的软硬件平台。
上传时间: 2013-04-24
上传用户:Ten_Gallon_Head
随着微处理器技术与信息技术的不断发展,嵌入式系统的应用也进入到国防、工业、能源、交通以及日常生活中的各个领域。嵌入式系统的软件核心是嵌入式操作系统。然而,国内在嵌入式系统软件开发上有很多困难,主要有:国外成熟的RTOS大都价格昂贵并且不公开源代码,用好这些操作系统需对计算机体系结构有深刻理解。针对以上问题,免费公开源代码的嵌入式操作系统就倍受瞩目了,μC/OS-II就是其中之一。μC/OS-II是面向中小型应用的、基于优先级的可剥夺嵌入式实时内核,其特点是小巧、性能稳定、可免费获得源代码。 本文在深入研究μC/OS-II内核基础上,将其运用于实际课题,完成了基于ARM架构的μC/OS-II移植及实时同步交流采样的误差补偿研究。本文主要工作内容和研究成果如下: 1.剖析了μC/OS-II操作系统内核,重点研究了μC/OS-II内核的任务管理与调度算法机理,得出了μC/OS-II内核优点:任务调度算法简洁、高效、实时性较好(与Linux相比)。 2.介绍了ARM9体系架构,重点讲叙了MMU(存储管理单元)功能。为了提高交流采样系统的取指令和读数据速度,成功将MMU功能应用于本嵌入式系统中。 3.完成了μC/OS-II操作系统在目标板上的移植,主要用汇编语言编写了启动代码、开关中断、任务切换和首次任务切换等函数。 4.针对国内外提出的同步交流采样误差补偿算法的局限性,本文从理论上对同步交流采样的准确误差进行了研究,并尝试根据被测信号周期的首尾过零点的三角形相似法,求出误差参数并对误差进行补偿。此外,考虑到采样周期△T不均匀,经多次采样后会产生累积误差,本文也给出了采样周期△T的优化算法。 5.完成了系统硬件设计,并根据补偿算法和△T优化法则,编写了相应采样驱动和串口驱动。最后对实验数据进行了分析和比较,得出重要结论:该补偿算法实现简单,计算机工作量小,精度较高。
上传时间: 2013-04-24
上传用户:xzt
自己制作的ucos演讲文稿,对学习嵌入式操作系统有一定作用
标签: uCos
上传时间: 2013-06-23
上传用户:小儒尼尼奥
信息技术的发展,数字化产品的普及,导致了对嵌入式开发的巨大需求。以Linux为宿主机系统,搭配一个交叉编译环境,为嵌入式设备生成可执行程序己成为现在日益流行的编译嵌入式软件的解决方案。而开放源代码的GNUT具链是一套开源的开发环境,是嵌入式软件开发中理想的交叉编译器。但现有GNUI具链支持的平台并不能满足层出不穷的嵌入式产品的开发需要,仍有许多平台得不到支持,例如我们进行的minix向ARM-MINIX平台的移植。 本文以在linux环境下构建MINIX嵌入式系统的交叉编译工具链为背景,首先介绍了交叉编译系统的基本组成和结构,以及利用GCC构建交叉编译环境的优越性。然后对目标平台作了介绍。分析了GCC编译器,说明了GCC的设计思想,系统结构,介绍了GNU Binutils的功能,使用方法;接着分析了GNU工具链中的GAS和GLD的实现机制及源代码结构,由于BFD是GNUBinutils的基础,GAS和GLD都是使用BFD库来操作目标文件,因此在这一部分本文对BFD库的工作机制,数据结构也作了重点分析。紧接着说明了GCC交叉编译系统的移植思路和方法,实现难点,以及一些相关技术细节,这涉及到了若干重要的C源文件,Makefile,配置文件的修改,重点给出了BFD库,GAS和GLD的分析及其重定向(通常GCC生成的目标程序是针对GNU/Linux系统的)的实现;然后本文给出了在GNU/Linux宿主机上构建针对ARM-MINIX的参数设置及过程:最后对本文所做的工作进行了总结。
上传时间: 2013-05-31
上传用户:wangzhen1990
T-Kernel作为一种嵌入式操作系统,由于实时性和开源性,在嵌入式操作系统领域中的应用越来越广泛。ARM是一款比较好的微处理器,T-Kernel在ARM上的应用研究基本上是空白,所以结合两者进行研究促进T-Kernel在国内嵌入式领域的发展。同时,T-Kernel内部调度机制存在着优先级反转缺陷,优先级反向使得高优先级任务的执行时间无法预测,增加了实时系统的不确定性。早期的解决协议较好地解决了优先级反转问题,但同时也存在着自身不足之处。 针对T-Kernel存在的缺陷,在深入研究相关协议的基础上,本论文提出了一种新的改进的优先级继承协议。该协议设置超时保护机制,避免任务在获取信号量时长时间的阻塞,结合Havender提出的“有序资源使用法”防止死锁发生,给出该协议的分析过程,并把该协议结合到T-Kernel中。在这个基础之上,建立研究开发平台;针对硬件设备,研究引导程序的执行原理,实现系统的引导程序;构建T-Kennel内核;移植内核到开发板;最后对T-Kernel的启动过程进行了详细的分析。 T-Kernel在ARM上的移植研究,为嵌入式系统开发的提供了一种开发流程,同时对于T-Kernel的启动过程的分析,为以后的应用程序开发提供了一个接口;对于T-Kernel存在的优先级反转问题的解决,可以改进T-Kernel的实时性和灵活性,同时为实时系统的性能改进提供了参考。
上传时间: 2013-04-24
上传用户:shangdafreya
嵌入式操作系统是嵌入式系统应用的核心。完成简单功能的嵌入式系统一般不需要操作系统,但是随着所谓后PC时代的来临,嵌入式系统设计日趋复杂,嵌入式操作系统就必不可少了。一般而言,嵌入式操作系统不同于一般意义的计算机操作系统,它有占用空间小、执行效率高、方便进行个性化定制和软件要求固化存储等特点。 本文在讨论了嵌入式操作系统的基本理论之后,论述了MINIX 3操作系统的特点,指出了MINIX 3向嵌入式操作系统方面发展的意义和可行性。建立可移植代码是操作系统移植的首要步骤和重要途径,本文又论述了建立可移植代码的一般方法和过程。而后深入分析了MINIX 3操作系统的内核结构及组成部分,重组了内核目录树,列出了移植MINIX 3内核需要重新编写的内核接口。在MINIX 3已有代码的基础上,分离了一部分机器相关代码和体系结构不相关代码,建立了相应的可移植代码。 提到嵌入式,就不能不提ARM,ARM体系结构是目前最流行的嵌入式微处理器体系结构。本文就是针对ARM处理器体系结构来展开的,文中简单介绍了ARM处理器的情况,并且对应ARM体系结构修改了MINIX 3内核的部分代码。最后在深入分析了MINIX3操作系统进程调度算法和代码之后,结合软实时操作系统进程调度特点和要求,改进了MINIX 3进程调度策略,使之适合软实时操作系统的要求,并给出了修改后的相关源代码。
上传时间: 2013-06-24
上传用户:kksuyiwen