论文摘要
随着计算机技术的发展,嵌入式系统已经广泛地应用于国防、工业、交通、能源、信息技术以及日常生活等各个领域。在这些应用开发中,除了非常少数的简单应用,其余无一例外的选择使用操作系统来简化开发。在对操作系统的选择中,一个名词在逐渐的为我们所熟知-嵌入式实时操作系统,同时在计算机领域尤其是嵌入式领域,它成为了研究的热点。在嵌入式应用中广泛选用嵌入式实时操作系统,一般出于两点原因-第一,大多数的嵌入式应用都有实时性的需求,而我们日常使用的Windows、Unix类操作系统内核的设计往往是出于“平均”的思想,那么对实时性有要求的系统它们往往是无能为力的,而嵌入式实时操作系统就是应确保实时性而产生的,它能满足应用的实时性要求。第二、嵌入式系统的设计与应用密切相关,一种嵌入式产品如果想在日益竞争的市场中占据一席之地,那么它必须降低成本。所以说嵌入式系统往往都是一些受限系统,这样的受限系统往往需要特定的应用组件,而且只需要与应用相关的组件,嵌入式实时操作系统就是由实时内核与各种可供选择的特定组件组成。嵌入式实时操作系统内核,它基本上是由以下几大模块组成-线程管理、中断管理、同步与通信管理、内存管理。因为实时操作系统的动态内存管理比较复杂,有的实时操作系统内核没有实现内存管理,用户可以借助于第三方提供的内存管理组件管理内存。本文主要介绍使用开源交叉工具链以及开源调试工具在基于三星S3C2440片上系统的MINI2440开发板上设计、实现的嵌入式实时操作系统内核和NAND Flash自启动的BootLoader,并对内核的实现基础和实现的细节做深入探讨。本次毕业设计实现的嵌入式实时操作系统内核具有的功能:1)支持多线程,256个优先级,允许相同优先级上有多个线程。2)实现基于优先级抢占的时间片轮转调度算法,且保证调度的O(1)时间复杂度。3)提出了三级中断处理体系结构并设计了基于ARM9的中断嵌套代码。4)设计实现了时钟处理模块,提供定时器功能。5)提供了线程与线程间,线程与中断服务程序间的多种同步、通信方式。包括关中断、调度器加锁、信号量、事件、邮箱。
论文目录
摘要ABSTRACT第一章 绪论1.1 课题的研究背景和意义1.2 国内外研究状况和发展态势1.3 本文的主要研究内容和章节安排第二章 嵌入式实时操作系统内核开发基础与 BootLoader2.1 开发平台介绍2.1.1 硬件平台2.1.2 软件开发平台2.2 ARM 微处理器2.2.1 ARM 简介2.2.2 ARM 寄存器和工作模式2.2.3 ARM 汇编语言2.3 编译与链接2.3.1 C 语言基础与编译2.3.2 C 语言与汇编语言联合使用2.3.3 链接过程与 ELF 文件2.3.4 链接脚本2.4 BootLoader2.4.1 BootLoader 的介绍2.4.2 BootLoader 的设计与链接问题2.4.3 BootLoader 的工作流程2.4.4 BootLoader 的NAND Flash 驱动2.5 总结第三章 嵌入式内核架构与线程管理3.1 实时操作系统内核架构与基本元素3.1.1 实时操作系统内核与架构3.1.2 实时操作系统内核代码命名规则3.1.3 链表基本数据结构3.1.4 系统开关中断代码设计3.2 线程数据结构设计3.2.1 线程概念的引入3.2.2 线程的状态设计3.2.3 线程数据结构3.3 调度器设计3.3.1 基于优先级抢占和时间片轮转的调度3.3.2 调度器数据结构设计3.3.3 调度算法实现3.3.4 线程环境下上下文切换3.4 线程主要模块接口函数介绍3.4.1 线程创建3.4.2 线程挂起函数3.4.3 线程恢复执行函数3.4.4 线程优先级改变函数3.5 总结第四章 中断与时钟模块的设计与实现4.1 中断模块的设计与实现4.1.1 中断模型的设计4.1.2 开发板硬件中断组件和硬件处理流程4.1.3 中断系统数据结构与接口设计4.1.4 中断处理的整体流程4.2 时间处理模块设计4.2.1 定时器硬件介绍4.2.2 软件定时器相关数据结构与接口设计4.2.3 定时器中断代码分析4.3 总结第五章 同步与通信模块的设计与实现5.1 同步模块的设计与实现5.1.1 关中断与锁调度器5.1.2 信号量5.1.3 事件组5.2 通信模块的设计与实现5.2.1 全局变量5.2.2 邮箱5.3 总结第六章 实时内核的调试与测试6.1 调试环境与调试方法6.1.1 调试环境介绍6.1.2 调试方法6.2 内核代码功能测试6.3 总结第七章 总结与展望致谢参考文献
相关论文文献
标签:嵌入式实时操作系统内核论文; 线程论文; 调度器论文; 中断论文; 同步论文;