📄 inittask.lst
字号:
C51 COMPILER V8.02 INITTASK 11/05/2004 10:43:35 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE INITTASK
OBJECT MODULE PLACED IN INITTASK.OBJ
COMPILER INVOKED BY: D:\C51\BIN\C51.EXE INITTASK.C BROWSE DEBUG OBJECTEXTEND
line level source
1
2 /********************************************
3 嵌入式系统 小型操作系统
4 作者:汪普宏
5 制作日期:2006.9
6 *********************************************/
7
8 #include"OS.H"
9 #include"Init_Task.h"
10 #include"OS_Mail.h"
11 #include "OS_Memory.h"
12
13
14 /*操作系统全局变量*/
15 uchar data Prio;
16 uchar data *spend;
17 uchar data ISR_num ;
18 uchar data OSRdyGrp;
19 uchar data OSRdyTab[TASK_8N];
20 task_link xdata OSPCB[N+1];
21
22 /****************************************
23 模块功能:初始化,开始任务切换
24 模块接口:堆栈指针,任务优先级,任务函数地址,任务堆栈长度
25 调用者: 主函数
26 返回值: 无
27 *****************************************/
28 static uchar data *p;
29 void Task_Init(uchar i,void(*addr)(void),uchar xdata *Task_sta)
30 {
31 1 Task_sta[0]=(uint)(*addr)&0xff;
32 1 Task_sta[1]=(uint)(*addr)>>8;
33 1 OSPCB[i].sp_start=&Task_sta[0];
34 1 OSPCB[i].sp_size=INIT_SP;
35 1 }
36 void OSStart(void) //系统初始化,开始任务调度
37 {
38 1 uchar i;
39 1 p=SP-1;
40 1 for(i=0;i<N+1;i++) //任务就绪表初始化
41 1 {
42 2 OSPCB[i].flg=WAIT_MSG;
43 2 OSPCB[i].msg=0;
44 2 }
45 1 for(i=0;i<TASK_8N;i++)
46 1 {
47 2 OSRdyTab[i]=0; //任务均处于等待状态
48 2 }
49 1 OSRdyGrp=0;
50 1 // OSInit_Malloc(); //动态内存初始化
51 1 // OSIint_Queue(); //消息列队初始化
52 1 Task1_Init_Hook(); //任务中用户数据的初始化函数
53 1 Task2_Init_Hook();
54 1 Task3_Init_Hook();
55 1 Task4_Init_Hook();
C51 COMPILER V8.02 INITTASK 11/05/2004 10:43:35 PAGE 2
56 1 Task5_Init_Hook();
57 1 Task_Free_Init_Hook();
58 1 OS_RdyTask(FREE_TASK); //必须将空闲任务置于就绪表中
59 1 Prio=FREE_TASK; //先将当前任务指针指向空闲任务
60 1 *p++=(uint)(free_task)&0xff;
61 1 *p=(uint)(free_task)>>8;
62 1 spend=SP-1;
63 1 EA=ET1=TR1=1; //任务切换的系统时钟开始工作
64 1 OSTask_TimeDal(0); //开始任务调度
65 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 169 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 48 ----
PDATA SIZE = ---- ----
DATA SIZE = 6 6
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 + -