ucos_ii.c

来自「UCOS在我的MIPS CPU上的移植 1. 这是UCOS在我的MIPS CP」· C语言 代码 · 共 82 行

C
82
字号
/*
*********************************************************************************************************
*                                                uC/OS-II
*                                          The Real-Time Kernel
*
*                          (c) Copyright 1992-2005, Jean J. Labrosse, Weston, FL
*                                           All Rights Reserved
*
* File    : uCOS_II.C
* By      : Jean J. Labrosse
* Version : V2.80
*********************************************************************************************************
*/

#define  OS_GLOBALS                           /* Declare GLOBAL variables                              */
#include <ucos_ii.h>


#define  OS_MASTER_FILE                       /* Prevent the following files from including includes.h */
#include <os_core.c>
#include <os_flag.c>
#include <os_mbox.c>
#include <os_mem.c>
#include <os_mutex.c>
#include <os_q.c>
#include <os_sem.c>
#include <os_task.c>
#include <os_time.c>
#include <OS_CPU_C.c>

#define			Task0_Prio	1
#define			Task1_Prio	2
#define			TASK_STK_SIZE	1024
unsigned int	TaskStk0[TASK_STK_SIZE];
unsigned int	TaskStk1[TASK_STK_SIZE];

unsigned int	free_mem_start;

void Task0(void * pParam) 
{
	static	unsigned int	cnt = 0;
	while(1)
	{
		printf(".Task0 running(%ld).\n", cnt);
		OSTimeDly(1);
		cnt ++;
	}
}

void Task1(void * pParam) 
{
	static	unsigned int	cnt = 0;
	while(1)
	{
		printf(".Task1 running(%ld).\n", cnt);
		OSTimeDly(1);
		cnt ++;
	}
}

int main(int argc, char **argv)
{
	//此处使用的堆栈是系统在上电时设置的
	printf(".OSInit\n");
	OSInit();

//	printf(".OSTaskCreate.\n");
	OSTaskCreate(Task0, 0, &TaskStk0[TASK_STK_SIZE-1], Task0_Prio);
	OSTaskCreate(Task1, 0, &TaskStk1[TASK_STK_SIZE-1], Task1_Prio);

	OS_ENTER_CRITICAL();
	install_isr_service(isr_service);
	OS_EXIT_CRITICAL();


	OSStart();	//start never return

	return 0;
}
 

⌨️ 快捷键说明

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