μ
μ
μ
μ C/OS-II
C/OS-II
C/OS-II
C/OS-II 在 MicroBlaz e
MicroBlaz e
MicroBlaz e
MicroBlaz e 上的移植
C/OS-II 是一种开放源码的实时嵌入式操作系统,具备可移植、可裁剪等特色,可用于
各类 8
位、
16 位和 32 位单片机或 DSP
。 本文介绍了
Xilinx 提供的可嵌入至 FPGA 的 Micr oBlaze
软核处理器以及 μ C/OS-II 操作系统在此处理器上的移植。并在 EDK 开发环境下,基于火 龙
刀 Spartan-3 开发板创建了 μ C/OS-II 操作系统应用范例。
被过滤广告
从 μ C/OS 算起, μ C/OS-II 内核已有 10 余年应用史,在诸多领域得到了广泛应用,其大
部分源代码是用 ANSI C 语言编写的,可容易地实现移植。尽管如此,它对系统还是有几 个
必要条件:
◆ 处理器的编译器能产生可重入代码,且用 C 语言就可以开关中断
◆ 处理器支持中断,且可产生定时中断
◆ 处理器支持足够的 RAM (几 K 字节)作为多任务环境下的任务堆栈
◆ 处理器有将堆栈指针和其他 CPU 寄存器读出和存储到堆栈及内存中的指令
μ C/OS-II 的移植只需修改与处理器有关的 3 个文件以及与应用程序有关的两个配置文
件即可,代码量很小。在了解了处理器和 C 编译器的具体细节后,
μ
C/OS-II 移植只需修改
与处理器相关的代码即可。具体移植工作包括以下几个内容:
◆ 在 OS_CPU.H 设置一个常量标识堆栈增长方向
◆ 在 OS_CPU.H 声明几个用于开关中断的宏
◆ 在 OS_CPU.H 针对处理器的字长,重新定义一系列数据类型
◆ 在 OS_CPU_A.ASM 中改写 4 个用汇编语言编写的函数
◆ 在 OS_CPU_C.C 中用 C 语言编写 6 个简单函数
◆ 修改头文件 INCLUDES.H
,
加入整个系统所需的头文件
MicroBlaz e 软核处理器及 GCC 编译器完全符合上述要求。
MicroBlaz e 帮助系统实现编程