DSP28335移植ucosii

本文介绍了如何将uCOS-II实时操作系统移植到DSP28335处理器上,详细解析了移植过程中的文件分析和步骤,包括移植官方文件、处理代码段空间不足的问题,并在最后进行了成功测试。
摘要由CSDN通过智能技术生成

https://www.micrium.com/ 中,存在一个已经移植好的28335工程。但是这个工程问题很明显,就是缺乏相关寄存器的映射和定义。这就导致如果直接使用这个工程,一些.c和.h文件就要重新写,写的过程中错误不断…(好傻逼…)

文件分析

在这里插入图片描述这是一张ucos系统结构图,红色部分是与处理器无关的代码,可以直接移植,这部分代码是官方例程.\Micrium\Software\uCOS-II\Source路径下的部分;绿色的部分表示应用相关代码,其中os_cfg.h文件中包含大量宏定义,通过修改这些宏定义的值可以对操作系统进行裁剪;紫色的部分是与cpu相关的代码,移植的时候需要修改,对应位置是.\Micrium\Software\uCOS-II\Ports\C28x\Generic\CCS\。但是好处是这部分例程中都是修改好的,直接复制过去就可以了。

开始移植

在这里插入图片描述
1.移植官方文件。官网文件包括APP,BSP,UC_CPU,UC_LIB,UCOS_II。

  • APP包含了用户应用代码,其中各种.h文件是对ucos的一些配置。.h文件保留,并新建一个CONFIG文件夹保存起来。app.c文件删除,用自己写的文件代替。
  • BSP称作板级支持包,这个相当于官方提供的例程中所使用的各种.c文件。这部分可以直接放弃,因为如果裸板的工程师完整的,这些.c文件的内容都应该已经被囊括。如果保留这部分就会出现冲突。
  • uC_CPU是基于 micrium 官方评估板的 ucosii 移植代码,这个直接复制过来。
  • uC_LIB这个是micrium 官方的一个库代码,也复制过来。
  • uCOS_II这个文件是ucos_ii源代码,移植的时候需要修改的文件。但是官方已经帮我们修改好了。所以直接复制过来用就可以了。
    2.测试。移植完成之后需要测试,此时程序如下:
#include  <app_cfg.h>
#include  <ucos_ii.h>
#include  <cpu_core.h>
#include  <lib_def.h>
#include  <os_cpu.h>

#include "DSP2833x_Device.h"     // DSP2833x 头文件
#include "DSP2833x_Examples.h"   // DSP2833x 例子相关头文件

#define LED1        GpioDataRegs.GPATOGGLE.bit.GPIO16
CPU_STK_SIZE  App_TaskStartStk[APP_CFG_TASK_STK_SIZE];
CPU_STK_SIZE  App_TaskPendStk[APP_CFG_TASK_STK_SIZE];
CPU_STK_SIZE  App_TaskPostStk[APP_CFG_TASK_STK_SIZE];

static  OS_EVENT    *AppTaskObjSem;

static  void  App_TaskStart(void  *p_arg);
static  void  App_TaskPing (void  *p_arg);
static  void  App_TaskPong (void  *p_arg);

interrupt void cpu_timer0_isr(void);  // 中断声明
void BSP_Tick_Init(void);

void BSP_Tick_Init
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值