今天终于把uCOS-II在LPC1788上的移植给搞出来了,之前上网搜了很多资料,又把《嵌入式操作系统uC/OS-II》这本书通读了一下,然后开始尝试uCOS-II的移植。
在uCOS-II在不同CPU之间的移植只需要更改三个文件:os_cpu.h,os_cpu_c.c,os_cpu_a.asm。其中os_cpu.h是关于可移植数据类型的定义、uCOS-II的主堆栈的定义、开关中断宏的定义以及os_cpu_c.c和os_cpu_a.asm中的函数声明;os_cpu_c.c是关于系统钩子函数、系统节拍初始化函数及设置函数还有任务栈初始化函数的定义;os_cpu_a.asm是关于开关中断函数、开始最高优先级任务函数及任务切换函数的定义。这三个函数的模板有很多,我用的是MDK5.15中自带的,MDK5.15版本中有个Manage Run-Time Environment模块,能在建立工程时为所选的MCU提供RTOS的运行环境支持。由于我用的开发环境是MDK4.72,所以我将uCOS-II的内核源码及移植文件都复制到了MDK4.72下建立的工程中,分别在MDK5.15的安装路径如下:E:\Program Files (x86)\Keil_v5\ARM\PACK\Micrium\RTOS\1.0.0\Software\uCOS-II\Source和E:\Program Files (x86)\Keil_v5\ARM\PACK\Micrium\RTOS\1.0.0\Software\uCOS-II\Ports\ARM-Cortex-M3\Generic\RealView。其中Source文件夹下的ucos_ii.h不要添加到工程中,否则会出现函数重定义的错误,从官网上下载下来的源码也不包括这个文件;Ports文件夹下的os_dbg.c也不要添加的工程中,在Source文件夹中已经包括了os_dbg_r.c,这两个文件一样。之后还要复制一个文件os_cfg.h,这个是关于uCO
uCOS-II移植
最新推荐文章于 2025-03-03 16:59:05 发布