基于asp的bbs论坛系统的设计和实现学士学位论文.doc
《基于asp的bbs论坛系统的设计和实现学士学位论文.doc》由会员分享,可在线阅读,更多相关《基于asp的bbs论坛系统的设计和实现学士学位论文.doc(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、大庆师范学院本科毕业论文(设计)大庆师范学院 本科生毕业论文基于ARM9上的C/OS-嵌入式系统移植-院 (系) 物理与电气信息工程 专 业 电子信息工程 研 究 方 向 嵌入式 摘 要随着计算机和电子技术的发展,越来越多的嵌入式产品出现在人们的日常生活和工业生产之中。由于嵌入式设备的智能型,使得生活和生产变得极为方便,由此也带来了嵌入式操作系统的迅速发展。C/OS-内核作为一种代码公开的嵌入式实时操作系统,ARM9以内核耗电少,成本低,二者相互搭配,构成了较为完美的搭配组合。 本文主要讲述的是C/OS-在ARM9上的系统移植问题。 关键词:C/OS-;Arm9;移植AbstractWith
2、the development of computer and electronic technology, embedded has become an indispensable part of modern society. Big to industrial production, such as aerospace, small to daily life, such as smart card applications, many devices are built into the embedded, makes the equipment or device has a hig
3、h automation performance and some degree of intelligence, great convenience to peoples production and living needs, and thus also brought the rapid development of the embedded operating system. Mu C/OS - kernel code, as a kind of open embedded real-time operating system, the ARM kernel, less consump
4、tion, lower cost, the two match each other, form the relatively perfect collocation. This article mainly tells the mu C/OS - portability issues on the ARM of the system.Keywords: u C/OS - ; Arm; transplant目录第一章 嵌入式系统基础51.1 嵌入式系统概述51.2 嵌入式体系硬件基础51.3 嵌入式体系软件基础6第二章 C/OS-II介绍6第三章ARM9介绍7第四章 C/OS-在S3C2440
5、上的移植84.1 移植环境简介84.2 移植条件84.3 移植步骤84.3.1 INCLUDES.H94.3.2 OS_CFG.H94.3.3 OS_CPU.H 文件94.3.4 OS_CPU_C.C 文件104.3.4.1 OSTaskStkInt()104.3.4.2 OSTaskCreateHook()104.3.4.3OSTaskDelHook()104.3.4.4 OSTaskSwHook()114.3.4.5 OSTaskStatHook()114.3.4.6 OSTimeTickHook()114.3.5 OS_CPU_A.ASM 文件114.3.5.1 OSStartHighR
6、dy()114.3.5.2 OSCtxSw()124.3.5.3 OSIntCtxSw()124.3.5.4 OSTickISR()124.4 移植测试12第五章 实例移植135.1 工程创建135.2 工程设置145.3 实例调试18第六章 结束语18参考文献19谢 辞20第一章 嵌入式系统基础1.1 嵌入式系统概述基于计算机技术,以应用为中心,且软硬件可裁剪,对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统,叫做嵌入式系统。一般由以下几部分组成:1. 嵌入式的微处理器2. 硬件设备(外围)3. 嵌入式的操作系统4. 特定应用程序嵌入式系统具有以下几个特点:1. 特定且广泛的应用2
7、. 密集的技术、知识、资金3. 高效性4. 较长生命周期5. 高可靠性6. 软硬件集于一体,以软件为主嵌入式系统的应用领域十分广泛,主要包括交通管理、机器人、军事电子、通信设备、网络设备、医疗仪器、环境监测、汽车电子、工控设备等。嵌入式系统从上世纪60年代中期开始,从无操作系统、简单操作系统、实时操作系统直至今日面向Intenet的阶段,历经50多年。嵌入式因为广泛应用性,巨大的创业型和广阔市场性,走进了千家万户。1.2 嵌入式体系硬件基础嵌入式系统的硬件核心是嵌入式微处理器,另外包括总线、存储器、输入/输出接口和设备。1. 微处理器:至少包含一个微处理器,采用的体系结构是冯诺依曼或哈佛结构。
8、2. 总线:集成在嵌入式微处理器中,选择总线和微处理器密切相关,总线的种类随不同的微处理器的结构而不同。3. 存储器:包括主存和外存。主存用于存数代码和数据;外存存放各种信息4. 输入/输出接口和设备:集成在微处理器中,主要包括中断控制器、DMA、串行和并行接口等1.3 嵌入式体系软件基础RTOS(实时多任务操作系统)、文件系统、GUI(图形接口)、网络系统和通用的组件模块构成了嵌入式系统的软件层。EOS,即嵌入式操作系统是一种用途广泛的系统软件,主要负责系统软硬件分配、任务控制,调度以及协调并发的活动。目前,世界上一些应用比较成功的EOS产品系列已经被推出了。随着Internet技术发展、信
9、息家电普及应用,EOS已经开始从单一弱功能向高专业化强功能的方向发展。EOS除了具备了一般操作系统最基本的功能(如任务调度、机制同步、中断处理、文件功能等)外,还具有以下的特点:1. 可装载卸载性。开放性、可伸缩性体系结构。2. 极强的实时性。EOS实时性较强,可用于各种设备的控制当中。3. 统一的接口。提供了各种设备驱动接口。4. 方便操作、简单、提供图形GUI,图形的界面,追求的是易学易用性。5. 支持TCP/IP协议和其它的网络协议,提供多种网络协议和MAC访问的接口,为各种手持移动设备预留了接口。6. 强稳定性和弱交互性。7. 固化的代码,系统和应用软件固化在ROM中。8. 更好的适应
10、硬件,具有良好的移植性。第二章 C/OS-II介绍实时操作系统,英文称Real Time Operating System,简称RTOS,是一种能够接受并快速处理外界时间或中断,且处理接口在规定时间内来控制过程作出响应,并控制所有实时任务一致运行的系统。1992年美国人Jean J.Labrosse在Embedded SystemProgramming杂志上最先发表了RTOS,名为C/OS,从而开创了它的新时代。C/OS是一个源码开放,抢占式微内核的实时操作系统,C/OS-II是它的升级版本,全部代码约有5000行,由ANSI C,以及少量的汇编语言编写而成,结构简洁,实时性和内核的稳定性强。
11、至今,从8位到64位,C/OS-II已经在超过40种的不同微处理器上运行,在世界范围内得到广泛使用,包括诸多领域,如手机、路由器、集线器、不间断电源、飞行器、医疗设备及工业控制等。实际上,C/OS-II已经通过了非常严格的测试,并且得到了美国航空管理局(Federal Aviation Administration)的认证,可以用在飞行器上。这说明C/OS-II是稳定可靠的,可用于与人性命攸关的安全紧要(safety critical)系统;当然,也可用于非安全紧要系统。C/OS-II体系结构如图2.1所示图2.1 C/OS-II体系结构第三章ARM9介绍ARM9是32位通用微处理器ARM(A
12、dvanced RISC Machine)家族中的一员,具有比较低的电源消耗和良好的性价比,由此广泛应用于工业生产和日常生活中。基于RISC(精简指令)的结构,较微程序的控制复杂指令系统的计算机相对简单,使得它用有较高的中断响应和指令处理的能力。ARM9的指令集共包含了11种基本类型:用于偏上的算术逻辑单元,桶式的移位器及乘法器(两种);指令控制数据传送:用在弹性地址,高速内容切换,和交换数据(三种); 用于流程控制和特权级执行的指令(三种);专门用在能够扩展到片外的协处理器中(三种)。指令集比较适用不同的高级语言编译器,但需要临界代码段,汇编语言编程也比较简单,不像其它的需要复杂的编译器来管
13、理指令。ARM9的流水线技术,能够使指令处理和系统存储的各个部分都可以连续的运行。比如一条指令正在执行,下一条指令正在被破译,同时第三条指令可以从存储器取出。 在存储的系统中,ARM9存储接口的设计能够最大限度的发挥性能潜力且代价降低,被做成流水线方式,速度敏感控制信号推动着由工业DRAM提供的快速局部访问模式。 ARM9有32位地址总线,也可以配制成26位的地址线,向下兼容其它的早期处理器。 全静态的CMOS的ARM9,允许时钟在周期内的停止,并保存当前的状态。基于上述的优势,ARM9适用于一些需要紧凑且功能强大的RISC处理器系统,包括电子通讯、数据通信、信息存储、图像处理、JOEG控制器
14、等,为人们的日常生活和工业生产带来了极大的便利。第四章 C/OS-在S3C2440上的移植4.1 移植环境简介移植就是使实时内核能够在多个微处理器或微控制器上成功运行的过程。本文采用的是S3C2440芯片,开发环境采用Keil uVision3,基本满足了移植的需求。三星公司的16/32位精简指令集的微处理器S3C2440,基于ARM920T的核心,实现了内存管理,ARBA总线和哈佛结构高速缓冲的具有独立的16KB指令高速缓存和16KB数据高速缓存体系结构。4.2 移植条件由于CPU版本的不同,C/OS-II 可能会出现不兼容的问题,这时需要对操作系统进行移植,使它能够在使用的CPU 上运行。
15、C/OS-II 的移植需满足以下的要求:1. 处理器的 C 编译器可产生可重入代码; 2. 进入和退出临界区代码可以使用 C 进行调用; 3. 处理器必须支持具有定时中断源的硬件中断; 4. 处理器必须能够容纳一定的数据硬件堆栈; 5. 处理器需要有交换数据的指令,使其能够在 CPU 的寄存器和内核及堆栈间进行数据的交换。 4.3 移植步骤C/OS-作为实时操作系统操作系统,在设计初期就已经充分考虑了可移植性,针对不同的CPU版本,C/OS-的移植核心环节就是改写一些与处理器硬件相关的函数。移植工作包括以下内容:1. 用#define设置一些常量的值(OS_CPU.H)2. 声明10个指定的数
16、据类型(OS_CPU.H) 3. 用#define声明2个宏(OS_CPU.H) 4. 用 C 语言编写6个简单函数(OS_CPU_C.C) 5. 根据硬件编写了4个函数(OS_CPU_ A.ASM)4.3.1 INCLUDES.H INCLUDES.H是一个被包含在所有.C文件中的头文件。简而言之,在这个INCLUDES.H使得项目中的每个.C文件不需要分头文件中包含了可能用到的头文件以及一些可能与实际应用不相关的头文件。虽然这增加了文件编译的时间,但是增强了可移植性。我们可以通过INCLUDES.H来增加自己需要的头文件,为了避免重新编译已编译的内容,增加的头文件必须添加在头文件列表的最后
17、。4.3.2 OS_CFG.H内核是一个系统的核心,而OS_CFG.H就是用来配置内核的头文件,根据不同的需要和应用,我们可以对内核进行定制和裁剪,从而提高了实时性。4.3.3 OS_CPU.H 文件 OS_CPU.H主要包含了一些用#define定义的常量,宏和类型定义(与处理器相关)。众所周知,不同的处理器字长是不相同的,尤其是,C/OS-代码不使用与编译器相关的C的short(短整),int(整型)和long(长整)等数据类型。所以为了移植的成功,需要对C/OS-中的数据类型进行重新的定义。与所有的实时内核一样,C/OS-需要先将中断禁止再进行访问代码临界段,且在访问完毕重新允许中断。C
18、/OS-定义了两个宏来禁止和允许中断:OS_ENTER_CRITICAL() 和OS_EXIT_CRITICAL()。结构常量OS_STK_GROWTH是用来改变堆栈生长方式。因为不同的微处理器和微控制器堆栈生长方式不同,C/OS-中可以通过改变OS_STK_GROWTH的值来改变堆栈生长方式当把OS_STK_GROWTH值置0,堆栈的生长方式是从下往上长。当把OS_STK_GROWTH值置1,堆栈的生长方式是从上往下长。OS_TASK_SW()是一个在C/OS-进行任务切换(低任务优先级级到最高优先级任务)时被调用的宏。任务切换只是简单的把处于当前优先级任务处理器的寄存器保存到将被挂起的任务
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 asp bbs 论坛 系统 设计 实现 学士学位 论文
限制150内