论文部分内容阅读
随着计算机技术的迅速发展和芯片制造工艺的不断进步,嵌入式系统的应用日益广泛。从个人消费产品到航空航天控制系统,到处都有嵌入式系统的身影。多数的嵌入式系统都是采用嵌入式实时操作系统来实现复杂的功能,因此如何启动嵌入式实时操作系统成为嵌入式系统开发中首先要解决的问题。本文主要是对基于ARM9处理器的嵌入式系统的Bootloader进行分析与设计。系统上电之后,操作系统并不能立刻运行,需要有一小段程序做一些准备工作,这些准备工作包括:初始化硬件设备、建立内存空间映射图、将系统的软硬件环境设定在一个合适的状态下,这些工作做完之后才可以调用操作系统内核,运行用户的应用程序。这段小程序称为引导加载程序,即Bootloader。嵌入式系统是一个专用的计算机系统,它有别于通用计算机系统,它是专门为满足某一功能需求而设计出来的,因此嵌入式系统中的Bootloader也要有其专用性,其专用性特点在于精简和效率。本文在内容方面可以分为三个部分,首先是理论基础部分,在第一章中介绍了Bootloader的研究背景以及研究现状;在第二章介绍了ARM9处理器的工作原理,包括它的工作状态、工作模式以及异常,并且在这章中也介绍了NANDFlash与NOR Flash这两种闪存,以及开发板的两种启动方式;在第三章中介绍了μC/OS-Ⅱ操作系统的工作机制。其次是具体的设计部分,第四章分析了Bootloader的启动流程和实际工作过程;在第五章中结合具体的软、硬件环境,对Bootloader进行设计。最后是验证部分,在第六章中成功的将μC/OS-Ⅱ移植到S3C2410上,验证了Bootloader的正确性。本文实现了将μC/OS-Ⅱ与ARM9处理器相结合,在基于ARM9处理器的S3C2410开发板上对Bootloader进行具体的设计。本文实现的结果是μC/OS-Ⅱ操作系统能够在S3C2410开发板上成功的启动。现阶段存在的Bootloader都是针对于多种处理器的,它们的通用性比较强,但是代码量大,文件系统复杂,不易于理解,而本文设计出来的Bootloader是专门针对于ARM9处理器,这体现了Bootloader的专用性,这种专用性使它具有代码量小、文件系统简单、易于理解特点,使用这样的Bootloader在时间方面可以提高系统的运行速度,节省系统的运行时间;在空间方面,可以节省系统宝贵的存储空间。这是本文的创新点所在。想要设计出专用的Bootloader必须要有完整的知识架构,要对所使用的硬件非常的了解,对所使用的操作系统也需要完全掌握,这是本文进行设计的难度所在。本文进行设计的目的是精准理解和掌握嵌入式系统启动过程的硬件和软件的工作原理及实际工作过程。