⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 os_cpu_c.c

📁 采用C++改写的uCOS-II,目标系统为MSP430系列CPU。
💻 C
字号:
#define  OS_CPU_GLOBALS
#include "..\os\linos.h"
#include "..\cpu\hard\mspper.h"

static void CpuPowerOnDly(void);  //上电延时程序
/*
*******************************************************************************
*                                    堆栈初始化函数                           *
*******************************************************************************
*/
OS_STK *OSTaskStkInit (void (*task)(void *pd), void *p_arg, OS_STK *ptos, INT16U opt)
{
  INT16U  *top;

  opt    = opt;                 
  top    = (INT16U *)ptos;
  top--;  
  *top = (INT16U)task;
  top--;
  *top = (INT16U)task;   //中断返回指针
  top--;
  *top = (INT16U)0x0008; //状态寄存器
  top--;
  *top = (INT16U)0x0404; //R4
  top--;
  *top = (INT16U)0x0505; //R5
  top--;
  *top = (INT16U)0x0606; //R6
  top--;
  *top = (INT16U)0x0707; //R7
  top--;
  *top = (INT16U)0x0808; //R8
  top--;
  *top = (INT16U)0x0909; //R9
  top--;
  *top = (INT16U)0x1010; //R10
  top--;
  *top = (INT16U)0x1111; //R11
  top--;
  *top = (INT16U)p_arg;  //R12 = p_arg
  top--;
  *top = (INT16U)0x1313; //R13
  top--;
  *top = (INT16U)0x1414; //R14                        
  top--;
  *top = (INT16U)0x1515; //R15
  return ((OS_STK *)top);    
}

/*
*******************************************************************************
*                                  CPU初始化程序                              *
*******************************************************************************
*/
void OSCpuInit(void)
{
  CpuPowerOnDly();
  CpuOscInit();         //CPU时钟初始化
  CpuGpioInit();        //Cpu输入输出口初始化
  CpuTimeraInit(OS_TICK_STEP_TIME); //Cpu定时器A初始化
}

void CpuPowerOnDly(void)
{
  INT16U i;
  for(i=0;i<0x2000;i++)
  {
    asm("  NOP");
    asm("  NOP");
    asm("  NOP");
    asm("  NOP");
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -