admin管理员组

文章数量:1565833

2024年3月15日发(作者:)

---实时操作系统的使用,能够简化嵌入式系统的应用开发,有效地确保稳定性和可靠

性,便于维护和二次开发。

μC/OS-II是一个基于抢占式的实时多任务内核,可固化、可剪裁、具有高稳定性和可

靠性,除此以外,μC/OS-II的鲜明特点就是源码公开,便于移植和维护。

在μC/OS-II官方的主页上可以查找到一个比较全面的移植范例列表。但是,在实际的

开发项目中,仍然没有针对项目所采用芯片或开发工具的合适版本。那么,不妨自己根据

需要进行移植。

本文则以在TMS320C6711 DSP上的移植过程为例,分析了μC/OS-II在嵌入式开发

平台上进行移植的一般方法和技巧。μC/OS-II移植的基本步骤

在选定了系统平台和开发工具之后,进行μC/OS-II的移植工作,一般需要遵循以下的

几个步骤:

● 深入了解所采用的系统核心

● 分析所采用的C语言开发工具的特点

● 编写移植代码

● 进行移植的测试

● 针对项目的开发平台,封装服务函数

(类似80x86版本的PC.C和PC.H)

系统核心

无论项目所采用的系统核心是MCU、DSP、MPU,进行μC/OS-II的移植时,所需要

关注的细节都是相近的。

首先,是芯片的中断处理机制,如何开启、屏蔽中断,可否保存前一次中断状态等。

还有,芯片是否有软中断或是陷阱指令,又是如何触发的。

此外,还需关注系统对于存储器的使用机制,诸如内存的地址空间,堆栈的增长方向,

有无批量压栈的指令等。

在本例中,使用的是TMS320C6711 DSP。这是TI公司6000系列中的一款浮点型号,

由于其时钟频率非常高,且采用了超常指令字(VLIW)结构、类RISC指令集、多级流水

等技术,所以运算性能相当强大,在通信设备、图像处理、医疗仪器等方面都有着广泛的

应用。

在C6711中,中断有3种类型,即复位、不可屏蔽中断(NMI)和可屏蔽中断

(INT4-INT15)。可屏蔽中断由CSR寄存器控制全局使能,此外也可用IER寄存器分别置

位使能。而在C6711中并没有软中断机制,所以μC/OS-II的任务切换需要编写一个专门

的函数实现。

此外,C6711也没有专门的中断返回指令、批量压栈指令,所以相应的任务切换代码

均需编程完成。由于采用了类RISC核心,C6711的内核结构中,只有A0-A15和B0-B15

本文标签: 中断移植采用指令