📄 ucos51.dif
字号:
--- SOURCE/ucos.c Sat Jun 22 08:22:48 1996
+++ ucos.c Wed Jul 16 15:22:18 1997
@@ -1,3 +1,16 @@
+/* $Id: ucos.c,v 1.14 1997/07/16 13:22:18 gianpi Exp $
+ *
+ * Description:
+ * uC/OS - Target-independent code.
+ *
+ * Author[s]:
+ * Jean Labrosse 72644.3724@compuserve.com
+ * Gianpaolo Macario gianpi@geocities.com
+ *
+ * Conditionalizations:
+ * _CC51
+ */
+
/*
*********************************************************************************************************
* uC/OS
@@ -15,7 +28,7 @@
*/
#define OS_GLOBALS
-#include "INCLUDES.H"
+#include "includes.h"
/*
*********************************************************************************************************
@@ -41,7 +54,7 @@
*********************************************************************************************************
*/
-UBYTE const OSMapTbl[] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80};
+UBYTE const _rom OSMapTbl[] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80};
/*
*********************************************************************************************************
@@ -52,7 +65,7 @@
*********************************************************************************************************
*/
-UBYTE const OSUnMapTbl[] = {
+UBYTE const _rom OSUnMapTbl[] = {
0, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,
@@ -77,6 +90,10 @@
*********************************************************************************************************
*/
+#ifdef _CC51
+#define static /* DBG: MICE51 does not show static vars */
+#endif
+
static OS_TCB *OSTCBList; /* Pointer to doubly linked list of TCBs */
static UBYTE OSRdyGrp; /* Ready list group */
static UBYTE OSRdyTbl[8]; /* Table of tasks which are ready to run */
@@ -91,6 +108,9 @@
static OS_EVENT OSEventTbl[OS_MAX_EVENTS]; /* Table of EVENT control blocks */
static OS_Q OSQTbl[OS_MAX_QS]; /* Table of QUEUE control blocks */
+#ifdef _CC51
+#undef static
+#endif
/*
*********************************************************************************************************
@@ -98,8 +118,9 @@
*********************************************************************************************************
*/
-static void OS_FAR OSTaskIdle(void *data);
+static void /* OS_FAR */ OSTaskIdle(void *pdata);
static void OSDummy(void);
+
/*$PAGE*/
/*
*********************************************************************************************************
@@ -152,15 +173,16 @@
*********************************************************************************************************
*/
-static void OS_FAR OSTaskIdle(void *data)
+static void OS_FAR OSTaskIdle(void *pdata)
{
- data = data;
+ pdata = pdata;
while (1) {
OS_ENTER_CRITICAL();
OSIdleCtr++;
OS_EXIT_CRITICAL();
}
}
+
/*$PAGE*/
/*
*********************************************************************************************************
@@ -254,7 +276,7 @@
*********************************************************************************************************
*/
-UBYTE OSTCBInit(UBYTE prio, void OS_FAR *stk)
+UBYTE OSTCBInit(UBYTE prio, void /* OS_FAR */ *stk)
{
OS_TCB *ptcb;
@@ -392,6 +414,7 @@
}
}
#endif
+
/*$PAGE*/
#if OS_TASK_DEL_EN
/*
@@ -1282,3 +1305,5 @@
static void OSDummy(void)
{
}
+
+/* === End of File === */
--- SOURCE/ucos.h Sun Oct 8 10:22:26 1995
+++ ucos.h Mon Jul 14 15:25:54 1997
@@ -1,3 +1,13 @@
+/* $Id: ucos.h,v 1.9 1997/07/14 13:20:25 gianpi Exp $
+ *
+ * Description:
+ * uC/OS - System Declarations.
+ *
+ * Author[s]:
+ * Jean Labrosse 72644.3724@compuserve.com
+ * Gianpaolo Macario gianpi@geocities.com
+ */
+
/*
*********************************************************************************************************
* uC/OS
@@ -14,6 +24,9 @@
*********************************************************************************************************
*/
+#ifndef _UCOS_H_
+#define _UCOS_H_ 1
+
/*
*********************************************************************************************************
* MISCELLANEOUS
@@ -66,6 +79,7 @@
#define OS_TASK_RESUME_PRIO 100
#define OS_TASK_NOT_SUSPENDED 101
+
/*$PAGE*/
/*
*********************************************************************************************************
@@ -88,7 +102,7 @@
*/
typedef struct os_tcb {
- void OS_FAR *OSTCBStkPtr; /* Pointer to current top of stack */
+ void /* OS_FAR */ *OSTCBStkPtr; /* Pointer to current top of stack */
UBYTE OSTCBStat; /* Task status */
UBYTE OSTCBPrio; /* Task priority (0 == highest, 63 == lowest) */
UWORD OSTCBDly; /* Nbr ticks to delay task or, timeout waiting for event */
@@ -119,6 +133,7 @@
UBYTE OSQSize; /* Size of queue (maximum number of entries) */
UBYTE OSQEntries; /* Current number of entries in the queue */
} OS_Q;
+
/*$PAGE*/
/*
*********************************************************************************************************
@@ -130,8 +145,8 @@
OS_EXT ULONG OSIdleCtr; /* Idle counter */
OS_EXT UBYTE OSIntNesting; /* Interrupt nesting level */
OS_EXT BOOLEAN OSRunning; /* Flag indicating that kernel is running */
-OS_EXT OS_TCB *OSTCBCur; /* Pointer to currently running TCB */
-OS_EXT OS_TCB *OSTCBHighRdy; /* Pointer to highest priority TCB ready to run */
+OS_EXT OS_TCB * _data OSTCBCur; /* Pointer to currently running TCB */
+OS_EXT OS_TCB * _data OSTCBHighRdy; /* Pointer to highest priority TCB ready to run */
OS_EXT OS_TCB *OSTCBPrioTbl[64]; /* Table of pointers to all created TCBs */
/*
@@ -149,13 +164,13 @@
void OSSchedLock(void);
void OSSchedUnlock(void);
-UBYTE OSTaskCreate(void (OS_FAR *task)(void *pd), void *pdata, void *pstk, UBYTE prio);
+UBYTE OSTaskCreate(void (/* OS_FAR */ *task)(void *pd), void *pdata, void *pstk, UBYTE prio);
UBYTE OSTaskDel(UBYTE prio);
UBYTE OSTaskDelReq(UBYTE prio);
UBYTE OSTaskChangePrio(UBYTE oldprio, UBYTE newprio);
UBYTE OSTaskSuspend(UBYTE prio);
UBYTE OSTaskResume(UBYTE prio);
-UBYTE OSTCBInit(UBYTE prio, void OS_FAR *stk);
+UBYTE OSTCBInit(UBYTE prio, void /* OS_FAR */ *stk);
void OSIntEnter(void);
void OSIntExit(void);
@@ -184,3 +199,7 @@
void *OSQAccept(OS_EVENT *pevent);
UBYTE OSQPost(OS_EVENT *pevent, void *msg);
void *OSQPend(OS_EVENT *pevent, UWORD timeout, UBYTE *err);
+
+#endif /* ndef _UCOS_H_ */
+
+/* === End of File === */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -