论文部分内容阅读
随着计算机技术的发展,嵌入式系统已经广泛地应用于国防、工业、交通、能源、信息技术以及日常生活等各个领域。在这些应用开发中,除了非常少数的简单应用,其余无一例外的选择使用操作系统来简化开发。在对操作系统的选择中,一个名词在逐渐的为我们所熟知-嵌入式实时操作系统,同时在计算机领域尤其是嵌入式领域,它成为了研究的热点。在嵌入式应用中广泛选用嵌入式实时操作系统,一般出于两点原因-第一,大多数的嵌入式应用都有实时性的需求,而我们日常使用的Windows、Unix类操作系统内核的设计往往是出于“平均”的思想,那么对实时性有要求的系统它们往往是无能为力的,而嵌入式实时操作系统就是应确保实时性而产生的,它能满足应用的实时性要求。第二、嵌入式系统的设计与应用密切相关,一种嵌入式产品如果想在日益竞争的市场中占据一席之地,那么它必须降低成本。所以说嵌入式系统往往都是一些受限系统,这样的受限系统往往需要特定的应用组件,而且只需要与应用相关的组件,嵌入式实时操作系统就是由实时内核与各种可供选择的特定组件组成。嵌入式实时操作系统内核,它基本上是由以下几大模块组成-线程管理、中断管理、同步与通信管理、内存管理。因为实时操作系统的动态内存管理比较复杂,有的实时操作系统内核没有实现内存管理,用户可以借助于第三方提供的内存管理组件管理内存。本文主要介绍使用开源交叉工具链以及开源调试工具在基于三星S3C2440片上系统的MINI2440开发板上设计、实现的嵌入式实时操作系统内核和NAND Flash自启动的BootLoader,并对内核的实现基础和实现的细节做深入探讨。本次毕业设计实现的嵌入式实时操作系统内核具有的功能:1)支持多线程,256个优先级,允许相同优先级上有多个线程。2)实现基于优先级抢占的时间片轮转调度算法,且保证调度的O(1)时间复杂度。3)提出了三级中断处理体系结构并设计了基于ARM9的中断嵌套代码。4)设计实现了时钟处理模块,提供定时器功能。5)提供了线程与线程间,线程与中断服务程序间的多种同步、通信方式。包括关中断、调度器加锁、信号量、事件、邮箱。