资料介绍
嵌入式系统论文
μC/OS-II在80196KC单片机上的移植
摘要:主要讨论了将μC/OS-
II实时操作系统在8019KC单片机上进行移植的原理和方法,给出了一个以Tasking
C为编译器、以8019KC为处理器,对μC/OS-II实时操作系统进行移植的具体实例。
关键词:80196KC; uC/OS-II;Tasking C;移植
Intel的80196KC系列单片机在中国国内有很大一批用户。支持8019
6KC的C编译器生产厂商主要有Tasking和IAR。但国内使用Taskin
g公司C编译器的用户较多。由于μC/OS-Ⅱ系统为源码公开的实时操作系统,因此
是当前嵌入式系统开发的主要方法。但是,在μC/OS-Ⅱ网站上没有现成的移植实例
。因此,有必要进行一次移植以使操作系统成为μC/OS-Ⅱ,这种移植采用的处理器
为80196KC,而其编译器为Tasking c 196。
1 μC/OS-Ⅱ的工作原理
μC/OS-Ⅱ是一个源码公开的实时多任务操作系统,其工作流程如图1所示。图中
,任务切换的核心是利用出栈指令将各个任务的工作现场再现,并利用子程序返回指令
改变PC指针以完成任务的切换。移植的关键是如何构造任务堆栈及任务切换时的出栈
顺序。任务区堆栈初始化主要是模拟任务被中断后的堆栈内容。
2 80196KC的工作状态
80196KC是Intel公司的16位单片机,和程序运行密切相关的寄存器有
指令计数器PC、堆栈指针sp、程序状态寄存器PSW、中断屏蔽寄存器INTMA
SK和INTMASK1以及窗口寄存器WSR(以下将程序状态寄存器PSW、中断
屏蔽寄存器INTMASK和INTMASK1、窗口寄存器WSR统称为程序状态字
)。它们可在执行子程序调用call指令时自动将pc进栈,并在子程序返回调用R
ET指令时自动将pc出栈。由于80196K