📄 os_cpu_c.lst
字号:
C51 COMPILER V7.20 OS_CPU_C 09/30/2006 10:50:43 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE OS_CPU_C
OBJECT MODULE PLACED IN os_cpu_c.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE os_cpu_c.c LARGE BROWSE DEBUG OBJECTEXTEND
line level source
1 #ifndef OS_MASTER_FILE
2 #include "includes.h"
3 #endif
4
5 void *OSTaskStkInit (void (*task)(void *pd), void *ppdata, void *ptos, INT16U opt) reentrant
6 {
7 1 OS_STK *stk;
8 1
9 1 ppdata = ppdata;
10 1 opt = opt; //opt没被用到,保留此语句防止告警产生
11 1 stk = (OS_STK *)ptos; //用户堆栈最低有效地址
12 1 *stk++ = 15; //用户堆栈长度
13 1 *stk++ = (INT16U)task & 0xFF; //任务地址低8位
14 1 *stk++ = (INT16U)task >> 8; //任务地址高8位
15 1 *stk++ = 0x00; //PSW
16 1 *stk++ = 0x0A; //ACC
17 1 *stk++ = 0x0B; //B
18 1 *stk++ = 0x00; //DPL
19 1 *stk++ = 0x00; //DPH
20 1 *stk++ = 0x00; //R0
21 1 *stk++ = 0x01; //R1
22 1 *stk++ = 0x02; //R2
23 1 *stk++ = 0x03; //R3
24 1 *stk++ = 0x04; //R4
25 1 *stk++ = 0x05; //R5
26 1 *stk++ = 0x06; //R6
27 1 *stk++ = 0x07; //R7
28 1 //不用保存SP,任务切换时根据用户堆栈长度计算得出。
29 1 *stk++=(INT16U)(ptos+MaxStkSize)>>8;
30 1 *stk++=(INT16U)(ptos+MaxStkSize)&0xff;
31 1 return ((void *)ptos);
32 1 }
33
34 #if OS_CPU_HOOKS_EN
void OSTaskCreateHook (OS_TCB *ptcb) reentrant
{
ptcb = ptcb; /* Prevent compiler warning */
}
//void OSTaskDelHook (OS_TCB *ptcb)
//{
//ptcb = ptcb; /* Prevent compiler warning */
//}
//void OSTaskSwHook(void)
//{
//}
//void OSTaskStatHook(void)
//{
//}
void OSTaskIdleHook(void) reentrant
{
}
void OSTimeTickHook (void) reentrant
C51 COMPILER V7.20 OS_CPU_C 09/30/2006 10:50:43 PAGE 2
{
}
#endif
59
60 #if OS_VERSION >= 204
61 void OSTCBInitHook(OS_TCB *ptcb) reentrant
62 {
63 1 ptcb = ptcb;
64 1 }
65
66 void OSInitHookEnd(void) reentrant
67 {
68 1 }
69
70 void OSInitHookBegin(void) reentrant
71 {
72 1 }
73 #endif
74
75 //初始化定时器0
76 void InitTimer0(void)
77 {
78 1 TMOD=TMOD&0xF0;
79 1 TMOD=TMOD|0x01; //模式1(16位定时器),仅受TR0控制
80 1 TH0=0x70; //定义Tick=50次/秒(即0.02秒/次)
81 1 TL0=0x00; //OS_CPU_A.ASM 和 OS_TICKS_PER_SEC
82 1 ET0=1; //允许T0中断
83 1 TR0=1;
84 1 }
85
86 void serial_initial(void)
87 {
88 1 SCON=0x52;
89 1 TMOD=0x20;
90 1 TH1=0xf3;
91 1 TR1=1;
92 1 }
93
94
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 670 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -