- 相关推荐
实时操作系统μC/OS-II在MCF5272上的移植
摘要:介绍了实时操作系统μC/OS-II的特点和内核结构,并首次实现μC/OS-II在Motorola嵌入式处理器MCF5272上的移值。关键词:μC/OS-II MCF5272 移植 GNU工具链
作为一个实时内核,μC/OS从1992年开始为人们熟悉,到现在已经发展为μC/OS-II。ΜC/OS-II最多支持56个任务,其内核为占先式,总是执行就绪态的优先级最高的任务,并支持Semaphore(信号量)、Mailbox(邮箱)、Message Queue(消息队列)等多种常用的进程间通信机制。与大多商用RTOS不同的是,μC/OS-II公开所有的源代码,并可以免费获得,对商业应用收取少量License费用。一般商用操作系统如VxWorks、pSOS、WinCE,购买费用动辄数万美元,而且每件产品都需要交纳运行费,开发、使用成本高昂。
目前MCF5272是Motorola公司一款集成度最高的ColdFire处理器,采用ColdFire V2可变长RISC处理器核心和DigitalDNA技术,在66MHz时钟下能够达到63Dhrystone2.1MIPS。其内部SIM(System Integrated Module)单元集成了丰富的通用模块,如10/100MHz快速以太网控制器,USB1.1接口等,并且能够与常用的外围设备(如SDRAM、ISDN收发器)实现无缝连接,从而简化了外围电路设计,降低了产品成本、体积和功耗。
使用GNU工具链(包括交叉编译器GCC、汇编器AS等)进行μC/OS-II内核的编译,Host(宿主机)环境为16MB SDRAM。在宿主机上编译出MCF5272处理器的可执行代码,通过MCF5272的BDM调试工具下载到目标板调试运行。
1 μC/OS-II系统结构
图1说明了μC/OS-II的软硬件体系结构。应用程序处于整个系统的顶层,每个任务都可以认为自己独占了CPU,因而可以设计成为一个无限循环。μC/OS-II处理器无关的代码提供μC/OS-II的系统服务,应用程序可以使用这些API函数进行内存管理、任务间通信以及创建、删除任务等。
大部分的μC/OS-II代码是使用ANSI C语言书写的,因此μC/OS-II的可移植性较好。尽管如此,仍然需要使用C和汇编语言写一些处理器相关的代码。μC/OS-II的移植需要满足以下要求:
(1)处理器的C编译器可以产生可重入代码;
(2)可以使用C调用进入和退出Critical Code(临界区代码);
(3)处理器必须支持硬件中断,并且需要一个定时中断源;
(4)处理器需要能够容纳一定数据的硬件堆栈;
(5)处理器需要有能够在CPU寄存器与内存和堆栈交换数据的指令。
[1] [2] [3] [4] [5]
【实时操作系统μC/OS-II在MCF5272上的移植】相关文章:
嵌入式实时操作系统VxWorks及其在地震勘探仪器中的应用04-28
光学遥感图像星上实时处理技术的研究04-26
移植04-29
C(1-19)《月亮上的足迹》教案04-25
基于RX850实时操作系统的柴油机高压共轨电控系统软件开发04-27