?? 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 + -