基于ARM9的COS嵌入式系统移植

上传人:人*** 文档编号:558753245 上传时间:2023-04-11 格式:DOC 页数:28 大小:2.45MB
返回 下载 相关 举报
基于ARM9的COS嵌入式系统移植_第1页
第1页 / 共28页
基于ARM9的COS嵌入式系统移植_第2页
第2页 / 共28页
基于ARM9的COS嵌入式系统移植_第3页
第3页 / 共28页
基于ARM9的COS嵌入式系统移植_第4页
第4页 / 共28页
基于ARM9的COS嵌入式系统移植_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《基于ARM9的COS嵌入式系统移植》由会员分享,可在线阅读,更多相关《基于ARM9的COS嵌入式系统移植(28页珍藏版)》请在金锄头文库上搜索。

1、大庆师范学院 本科生毕业论文基于ARM9的C/OS-嵌入式系统移植院 (系) 物理与电气信息工程 专 业 电子信息工程 研 究 方 向 嵌入式技术 学 生 姓 名 钮佳楠 学 号 200901071677 指导教师姓名 成宝芝 指导教师职称 讲师 2013年 5 月 15 日摘 要随着计算机和电子技术的发展,越来越多的嵌入式产品出现在人们的日常生活和工业生产之中。由于嵌入式设备的智能型,使得生活和生产变得极为方便,由此也带来了嵌入式操作系统的迅速发展。本文通过ADS1.2和JLink的软件平台,以及芯片为S3C2440的ARM9开发板,成功进行微型嵌入式操作系统C/OS-在开发板上的移植。在此

2、过程中对于C/OS-进行了较为全面的学习,对于移植操作也有了深刻的认识。关键词:C/OS-;Arm9;移植AbstractWith the development of computer and electronic technology, more and more embedded in peoples daily life and industrial production. Intelligent embedded devices, making life extremely convenient and production, which also brought the rapid

3、 development of embedded operating system.This article by ADS1.2 and JLink, software platforms, and chip S3C2440 ARM9 development board, the success of micro embedded operating system OS-II development board transplantation. In this process, the OS-II for a more comprehensive learning, have a deep u

4、nderstanding for the transplant operation.Key words: u C/OS - ; Arm9; transplant目 录第一章 嵌入式系统基础11.1 嵌入式系统概述11.2 嵌入式体系硬件基础11.3 嵌入式体系软件基础2第二章 C/OS-II介绍3第三章ARM9介绍4第四章 C/OS-在S3C2440上的移植54.1移植环境简介54.2 移植条件54.3 移植内容54.3.1 INCLUDES.H54.3.2 OS_CFG.H64.3.3 OS_CPU.H64.3.4 OS_CPU_C.C64.3.5 OS_CPU_A.ASM8第五章 实例移植

5、95.1 函数配置95.2 工程创建115.3 工程设置125.4 实例调试16第六章 结束语18参考文献19谢 辞20附 录21OS_CPU.H 文件函数:21OS_CPU_A.ASM文件函数21第一章 嵌入式系统基础1.1 嵌入式系统概述与一般的计算机系统不同,嵌入式系统的功能性、可靠性和安全性以及成本、体积、功耗都有严格的要求,并且在以应用为中心的前提下,能够进行软硬件的裁剪。一般嵌入式系统的组成包括以下部分:1. 嵌入式的微处理器2. 硬件设备(外围)3. 嵌入式的操作系统4. 特定应用程序嵌入式的系统特点如下:1. 特定且广泛的应用2. 密集的技术、知识、资金3. 高效性4. 较长生

6、命周期5. 高可靠性6. 软硬件集于一体,以软件为主嵌入式系统的应用领域十分广泛,主要包括交通管理、机器人、军事电子、通信设备、网络设备、医疗仪器、环境监测、汽车电子、工控设备等。嵌入式系统从上世纪60年代中期开始,从无操作系统、简单操作系统、实时操作系统直至今日面向Intenet的阶段,历经50多年。嵌入式因为广泛应用性,巨大的创业型和广阔市场性,走进了千家万户。1.2 嵌入式体系硬件基础存储器、总线和输入输出设备以及作为硬件核心的微处理器共同组成了嵌入式系统的硬件体系。1. 微处理器:至少包含一个微处理器,采用的体系结构是冯诺依曼或哈佛结构。2. 存储器:由内存和外存构成。内存(即主存)存

7、放一些数据和具体的代码;外存中存放各种信息,包括配置信息,调试信息等。3. 总线:种类随处理器的不同而不同,有些处理器总线32位,有些则是26位的。4. 输入/输出接口和设备:包含了串并口、中断处理器和DMA等设备。1.3 嵌入式体系软件基础同WINDOWS类似,嵌入式软件系统一般由操作系统(RTOS)、图形界面(GUI)、网络以及一些通用的模块组成。随着科技和技术的发展,嵌入式产品的功能由单一化转向专业化,成功应用在了各行各业。在除了任务调度,同步机制的一些基本功能外,嵌入式系统还具备有以下优点:1. 可装载卸载性。开放性、可伸缩性体系结构。2. 极强的实时性。EOS实时性较强,可用于各种设

8、备的控制当中。3. 统一的接口。提供了各种设备驱动接口。4. 方便操作、简单、提供图形GUI,图形的界面,追求的是易学易用性。5. 网络协议的多元化,提供各种网络协议的接口。6. 强稳定性和弱交互性。7. 固化的代码,系统和应用软件固化在ROM中。8. 更好的适应硬件,具有良好的移植性。第二章 C/OS-II介绍嵌入式操作系统(RTOS)是一个实时操作系统,所说的实时,就是指在外界中断或事件产生的时候,能够快速进行该中断的接受和处理操作,同时在规定的时间内使之控制相应的过程并作出正确响应的性能。20世纪90年代初期,美国人Jean J.Labrosse在嵌入式系统编程杂志上发表了一个关于名为C

9、/OS 的实时操作系统的文章,从而为C/OS系统掀开了崭新的篇章。微型内核的C/OS源码开放,稳定性强,作为C/OS升级版本的C/OS-II,主要有ANSI C,以及少量的汇编代码构成,全部代码不超过5000行,正因为占用空间的小巧,结构的简洁,基于实时性强的优点,C/OS-II能在多重不同位数的处理器上运行。大到航空航天,小至手持设备,C/OS-II已经成功应用诸多领域,为人们的生活带来了极大的便利。C/OS-II体系结构如图2.1所示图2.1 C/OS-II体系结构第三章ARM9介绍ARM9的低功耗和高性价比,使之在工业生产和日常生活中得到广泛应用。ARM9基于RISC(精简指令)的结构,

10、使它较用微程序控制的复杂指令系统的计算机具有更高的中断响应和指令处理的能力。ARM9的指令集共包含了11种基本类型:1. 桶式的移位器及乘法器和偏上算术的逻辑单元(两种);2. 指令控制数据传送:用在弹性地址,高速内容切换,和交换数据(三种); 3. 控制流程和特权级执行的指令(三种);4. 专门用在能够扩展到片外的协处理器中(三种)。ARM9的指令集比较适用不同的高级语言编译器,但需要临界代码段,汇编语言编程也比较简单,不像其它的需要复杂的编译器来管理指令。ARM9的流水线技术使它可以在译码的同时进行下一条指令的取指操作,具有更高的速率和效率。ARM9有32位地址总线,也可以配制成26位的地

11、址线,使早期版本的处理器能够被它兼容。 全静态CMOS 的ARM9,允许时钟停止循环,并保存当前状态。基于上述的优势,ARM9适用于一些需要紧凑且功能强大的RISC处理器系统,包括电子通讯、数据通信、信息存储、图像处理、JOEG控制器等,为人们的日常生活和工业生产带来了极大的便利。第四章 C/OS-在S3C2440上的移植4.1移植环境简介保证一个系统的内核保证能够在多个微处理器或微控制器上,同时保持了它的实时性和稳定性操作过程,就是移植。本文硬件平台选择的是S3C2440芯片,软件开发环境应用ADS1.2,再通过JLink-H进行调试,基本满足了移植的需求。ARM9的S3C2440,能够在A

12、RM920T核心的基础上,对系统内存进行高效的管理;哈佛体系结构使其执行效率和速度得到了加强。4.2 移植条件由于CPU版本的不同,C/OS-II 可能会出现不兼容的问题,这时需要对操作系统进行移植,使它能够在使用的CPU 上运行。C/OS-II的移植必须满足下列要求:1. 处理器的 C 编译器可产生可重入代码;2. 进入和退出临界区代码用 C 进行调用;3. 处理器必须支持具有定时中断源的硬件中断处理器必须能够容纳一定的数据硬件堆栈;4. 处理器需要有交换数据的指令,使其能够在 CPU 的寄存器和内核及堆栈间进行数据的交换。 4.3 移植内容针对C/OS-的移植操作看似复杂,其实过程并不困难

13、,在理解处理器位数和操作系统位数的前提下,只需要改写几个与处理器硬件相关的函数就能够保证移植操作的成功。一般而言,在C/OS-的移植过程中做到以下几点就基本可以使移植成功:1. 用#define设置一些常量的值(OS_CPU.H)2. 声明10个指定的数据类型(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 在移植初期,需要写入一个被包含在所有.C文件中的头文件,其中包含了可能用到的头文件和一些可能与实际应用不相关的头文

14、件。由于头文件的增加,导致了编译时间变长,但是避免了在编译过程中头文件丢失的风险,大大增强了移植性。当加入新的程序或代码的时,只需将所用头文件放到include.h文件中即可。需要增加的头文件必须需放在include.h头文件的最后,为了避免在编译过程中将已编译的内容再重新进行编译。4.3.2 OS_CFG.H内核是一个系统的核心,而OS_CFG.H就是用来配置内核的头文件,根据不同的需要和应用,我们可以对内核进行定制和裁剪,从而提高了实时性。4.3.3 OS_CPU.H OS_CPU.H:由#define重新定义的与处理器相关的宏,数据类型和常量存放在这个文件中。众所周知,处理器有8位,16位,32位,64位甚至128位,对应到不同处理器的操作系统中位数是不一样的,否则会发生无法兼容的问题,C/OS-中不使用C中使用频繁的short(短整),int(整型)和long(长整)等数据类型。所以为了能够与处理器的字长相匹配,需要对C/OS-中的数据类型进行重新的定义。在任何的操作系统中,中断都是必不可少的,否则在更高优先级的任务发生时,无法对其进行处理,可能导致系统的崩溃。在类似这种情况下,需要对C/OS-进行中断的禁止操作,且在访问代码结束重新将中断置为允许状态。所以在C/OS-中有两个宏: OS_ENTER_CRITICAL()(中断禁

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号