μCOS-II操作系统在各种处理器上的移植

μCOS-II操作系统在各种处理器上的移植

ID:40578585

大小:67.00 KB

页数:6页

时间:2019-08-04

μCOS-II操作系统在各种处理器上的移植_第1页
μCOS-II操作系统在各种处理器上的移植_第2页
μCOS-II操作系统在各种处理器上的移植_第3页
μCOS-II操作系统在各种处理器上的移植_第4页
μCOS-II操作系统在各种处理器上的移植_第5页
资源描述:

《μCOS-II操作系统在各种处理器上的移植》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、μC/OS-Ⅱ操作系统在各种处理器上的移植长江大学杨青胜徐爱钧摘要介绍μC/OS-II操作系统的应用和移植条件;阐述μC/OS-Ⅱ操作系统在普通的51单片机,NXP公司的LPC2210,ALTERA公司的NiosII三种处理器上的移植。关键字μC/OS-II移植51单片机LPC2210NiosIIPortingμC/OS-ⅡtoVariousprocessorYangtzeUniversityYangQingshengXuAijunAbstract:IntroducedtheμC/OS-IIoperatingsystemapplicationandtransplantc

2、onditions;ExplainedtheμC/OS-IIoperatingsystemon51commonmicroprocessor,NXP'sLPC2210,ALTERA'sNiosIIthreeprocessorstransplant.KeyWords:μC/OS-IIport51microprocessorLPC2210NiosIIμC/OS-II操作系统是一种抢占式多任务、单内存空间、微小内核的嵌入式操作系统,具有高效、紧凑的特点。它具有执行效率高、占用空间小、可移植性强、实时性能良好和可扩展性强等特点。采用μc/os-ii实时操作系统可以有效地对任务进行

3、调度;对各任务赋予不同的优先级可以保证任务及时响应,而且采用实时操作系统,降低了程序的复杂度,方便程序的开发和维护。非常适合应用在一些小型的嵌入式产品应用场合,在家用电器,机器人,工业控制,航空航天,军事科技等领域有着广泛的应用。单片机ARM,FPGA与μC/OS-II操作系统的结合,实现一些具体功能是目前嵌入式应用中比较常见。在这些应用中基础性的工作就是操作系统的移植,故而本文选取使用较多的51单片机,LPC2210,NiosII三种处理器做介绍必定有一定的意义。1μC/OS-II操作系统移植条件μC/OS-II操作系统的大部分源代码都是用C语言书写的,但仍需使用C语

4、言和汇编语言来完成一些和处理器相关的操作,例如读写处理器,寄存器时只能使用汇编语言来实现。因此,μC/OS-II操作系统的移植在目标处理器上,需要从硬件和软件两方面来考虑。硬件方面,目标处理器需满足以下条件:Ⅰ处理器的C编译器能产生可重入代码;Ⅱ用C语言可以开,关中断;Ⅲ处理器支持中断,并且能够产生定时中断(通常在l0~1000Hz之间);Ⅳ处理器能够支持容纳一定量数据的硬件堆栈;Ⅴ处理器有将堆栈指针和其它寄存器读出和存储到堆栈或内存中的指令。软件方面,主要关注的是一些与处理器相关的代码移植,其分布在OS-CPU.H,OS-CPU-C.C和OS-CPU-A.ASM这3个

5、不同的文件中。1目标处理器硬件支持51单片机,LPC2210,NiosII三种处理器在硬件方面上均能满足μC/OS-II操作系统的移植要求。51单片机:选择Keil公司的集成开发环境作为开发工具,因为该集成开发环境的C51编译器能产生可重入型代码,且用C语言就可以开/关中断。同时具有一定数量的堆栈和操作相关要求的寄存器的指令。LPC2210:采用ARM7微控制器可以满足上述Ⅱ,Ⅳ,Ⅴ,而ADS1.2的C编译器可以满足Ⅰ,Ⅲ的要求。NiosII处理器:Nios处理器可以配置成最多支持64个中断,包括外部硬件中断、内部中断以及TRAP(调试中断)。NiosII处理器可以配置

6、使用32位内部定时器,通过用软件控制写入几个控制寄存器的内容来获得定时工作,与一般的定时器工作原理相同,可以产生定时中断。Nios处理器可以外接存储器,以使用的DE2开发板为例,外接512SRAM资源,可以提供足够的数据硬件堆栈。NiosII8.0IDE采用GNU编译器,支持C/C++的编译、连接产生重入代码,允许在C语言中嵌入汇编语言。3软件移植过程3.1OS-CPU.H的实现OS_CPU.H文件包括了用#define语言定义的与处理器相关的常数、宏以及数据类型。①数据类型,在上述三种处理器采用的不同编译器中的定义是相同的,在此不做具体介绍。②在OS_CPU.H中定义

7、与处理器相关的宏,主要是进入临界区的OS_ENTER_CRITICAL()和退出临界区的OS_EXIT_CRITICAL()。在Keil编译器中:EA是总中断#defineOS_ENTER_CRITICAL()EA=0;//关中断#defineOS_EXIT_CRITICAL()EA=1;//开中断在ADS编译器中:定义为软件中断函数,并编写软件中断处理代码实现开关中断_swi(0x00)viodOS_TASK_SW(viod);//任务级任务切换函数_swi(0x00)viodOS_ENTER_CRITICAL(viod)//关中断_s

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。