uCOS-II移植

本文详细记录了将uCOS-II操作系统成功移植到LPC1788微控制器的过程,主要涉及os_cpu.h、os_cpu_c.c和os_cpu_a.asm三个关键文件的修改。通过MDK4.72进行开发,遇到中断处理问题,最终在Flash中运行并完成移植验证,包括OSTaskStkInit()、OSStartHighRdy()等函数的测试。同时,文章还提及了将UCGUI与uCOS-II结合,使UCGUI能在多任务环境下运行的步骤。
摘要由CSDN通过智能技术生成

  今天终于把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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值