首先下载安装BC45软件和Tasm软件,关于软件的下载和安装,百度里有一大堆资料,自己去找。
下面我来看看ucosii内核结构
在PC中移植主要用到的文件为uCOS-II.C , OS_CPU_C.C , OS_CPU_A.ASM . PC.C 和自己写
的TEST.C文件
为什么要用这些文件呢?
uCOS-II.C文件的内容:
#include "\software\ucos-ii\source\os_core.c"
#include "\software\ucos-ii\source\os_flag.c"
#include "\software\ucos-ii\source\os_mbox.c"
#include "\software\ucos-ii\source\os_mem.c"
#include "\software\ucos-ii\source\os_mutex.c"
#include "\software\ucos-ii\source\os_q.c"
#include "\software\ucos-ii\source\os_sem.c"
#include "\software\ucos-ii\source\os_task.c"
#include "\software\ucos-ii\source\os_time.c"
uCOS-II.C中包含了所有uCOS-II.C内核的内容,所以肯定要用到的。
OS_CPU_C.C文件的内容是一些挂钩函数和OSTaskStkInit(),挂钩函数是以供用户在系统调用函
数中书写自己的代码用,他可以不包含任何代码,但必须声明,而OSTaskStkInit()是必要的函数,
因为任务创建中要调用OSTaskStkInit()来初始化任务的堆栈。故移植时要用 OS_CPU_C.C。
OS_CPU_A.ASM文件内容是4个汇编函数:OSStartHighRdy(); OSCtxSW();OSIntCtxSw();OSTickISR();
在多任务启动OSStart()函数中调用OSStartHighRdy()来使就绪任务中优先级最高的任务开始运
行;
OSCtxSW(),OSIntCtxSw()分别为任务级的切换和中断级的切换,他们的代码差不多,区别只
是,在中断ISR中已经保存了CPU的寄存器而不需要在OSIntCtxSw()中保存CPU的寄存器。
OSTickISR()为时钟节拍中断服务程序,一般都是在OSStart()运行后的第一个任务中初始化节拍中
断。他提供的是时间延迟和超时的功能。
PC.C文件主要包含3类服务:字符显示、运行时间测量及一些其他服务。