嵌入式实时操作系统内核设计与实现

嵌入式实时操作系统内核设计与实现

论文摘要

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

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 课题的研究背景和意义
  • 1.2 国内外研究状况和发展态势
  • 1.3 本文的主要研究内容和章节安排
  • 第二章 嵌入式实时操作系统内核开发基础与 BootLoader
  • 2.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 BootLoader
  • 2.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 总结
  • 第七章 总结与展望
  • 致谢
  • 参考文献
  • 相关论文文献

    标签:;  ;  ;  ;  ;  

    嵌入式实时操作系统内核设计与实现
    下载Doc文档

    猜你喜欢