⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 os_core.lst

📁 atmega单片机用的ucos系统 占用内存适中 是atmega单片机合适的操作系统
💻 LST
📖 第 1 页 / 共 5 页
字号:
 309 00cd 00        		.byte	0
 310 00ce 01        		.byte	1
 311 00cf 00        		.byte	0
 312 00d0 04        		.byte	4
 313 00d1 00        		.byte	0
 314 00d2 01        		.byte	1
 315 00d3 00        		.byte	0
 316 00d4 02        		.byte	2
 317 00d5 00        		.byte	0
 318 00d6 01        		.byte	1
 319 00d7 00        		.byte	0
 320 00d8 03        		.byte	3
 321 00d9 00        		.byte	0
 322 00da 01        		.byte	1
 323 00db 00        		.byte	0
 324 00dc 02        		.byte	2
 325 00dd 00        		.byte	0
 326 00de 01        		.byte	1
 327 00df 00        		.byte	0
 328 00e0 05        		.byte	5
 329 00e1 00        		.byte	0
 330 00e2 01        		.byte	1
 331 00e3 00        		.byte	0
 332 00e4 02        		.byte	2
 333 00e5 00        		.byte	0
 334 00e6 01        		.byte	1
 335 00e7 00        		.byte	0
 336 00e8 03        		.byte	3
 337 00e9 00        		.byte	0
 338 00ea 01        		.byte	1
 339 00eb 00        		.byte	0
 340 00ec 02        		.byte	2
 341 00ed 00        		.byte	0
 342 00ee 01        		.byte	1
 343 00ef 00        		.byte	0
 344 00f0 04        		.byte	4
 345 00f1 00        		.byte	0
 346 00f2 01        		.byte	1
 347 00f3 00        		.byte	0
 348 00f4 02        		.byte	2
 349 00f5 00        		.byte	0
 350 00f6 01        		.byte	1
 351 00f7 00        		.byte	0
 352 00f8 03        		.byte	3
 353 00f9 00        		.byte	0
 354 00fa 01        		.byte	1
 355 00fb 00        		.byte	0
 356 00fc 02        		.byte	2
 357 00fd 00        		.byte	0
 358 00fe 01        		.byte	1
 359 00ff 00        		.byte	0
 360               	.global	OSMapTbl
 363               	OSMapTbl:
 364 0100 01        		.byte	1
 365 0101 02        		.byte	2
 366 0102 04        		.byte	4
 367 0103 08        		.byte	8
 368 0104 10        		.byte	16
 369 0105 20        		.byte	32
 370 0106 40        		.byte	64
 371 0107 80        		.byte	-128
 372               		.text
 376               	.global	OS_StrCopy
 378               	OS_StrCopy:
   1:OSsrc/os_core.c **** /*
   2:OSsrc/os_core.c **** ***************************************************************************************************
   3:OSsrc/os_core.c **** *                                                uC/OS-II
   4:OSsrc/os_core.c **** *                                          The Real-Time Kernel
   5:OSsrc/os_core.c **** *                                             CORE FUNCTIONS
   6:OSsrc/os_core.c **** *
   7:OSsrc/os_core.c **** *                          (c) Copyright 1992-2003, Jean J. Labrosse, Weston, FL
   8:OSsrc/os_core.c **** *                                           All Rights Reserved
   9:OSsrc/os_core.c **** *
  10:OSsrc/os_core.c **** * File    : OS_CORE.C
  11:OSsrc/os_core.c **** * By      : Jean J. Labrosse
  12:OSsrc/os_core.c **** * Version : V2.76
  13:OSsrc/os_core.c **** ***************************************************************************************************
  14:OSsrc/os_core.c **** */
  15:OSsrc/os_core.c **** 
  16:OSsrc/os_core.c **** #ifndef  OS_MASTER_FILE
  17:OSsrc/os_core.c **** #define  OS_GLOBALS
  18:OSsrc/os_core.c **** #include "ucos_ii.h"
  19:OSsrc/os_core.c **** #endif
  20:OSsrc/os_core.c **** 
  21:OSsrc/os_core.c **** /*
  22:OSsrc/os_core.c **** ***************************************************************************************************
  23:OSsrc/os_core.c **** *                              MAPPING TABLE TO MAP BIT POSITION TO BIT MASK
  24:OSsrc/os_core.c **** *
  25:OSsrc/os_core.c **** * Note: Index into table is desired bit position, 0..7
  26:OSsrc/os_core.c **** *       Indexed value corresponds to bit mask
  27:OSsrc/os_core.c **** ***************************************************************************************************
  28:OSsrc/os_core.c **** */
  29:OSsrc/os_core.c **** 
  30:OSsrc/os_core.c **** #define ALL_IN_ROM
  31:OSsrc/os_core.c **** 
  32:OSsrc/os_core.c **** #ifndef ALL_IN_ROM
  33:OSsrc/os_core.c ****        INT8U  const  OSMapTbl[8]   = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80};
  34:OSsrc/os_core.c **** #else
  35:OSsrc/os_core.c **** #include <avr/pgmspace.h>
  36:OSsrc/os_core.c ****        INT8U  const  OSMapTbl[8]  PROGMEM  = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80};
  37:OSsrc/os_core.c **** #endif
  38:OSsrc/os_core.c **** /*
  39:OSsrc/os_core.c **** ***************************************************************************************************
  40:OSsrc/os_core.c **** *                                       PRIORITY RESOLUTION TABLE
  41:OSsrc/os_core.c **** *
  42:OSsrc/os_core.c **** * Note: Index into table is bit pattern to resolve highest priority
  43:OSsrc/os_core.c **** *       Indexed value corresponds to highest priority bit position (i.e. 0..7)
  44:OSsrc/os_core.c **** ***************************************************************************************************
  45:OSsrc/os_core.c **** */
  46:OSsrc/os_core.c **** 
  47:OSsrc/os_core.c **** #ifndef ALL_IN_ROM
  48:OSsrc/os_core.c **** INT8U  const  OSUnMapTbl[256] = {
  49:OSsrc/os_core.c ****     0, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x00 to 0x0F                          
  50:OSsrc/os_core.c ****     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x10 to 0x1F                          
  51:OSsrc/os_core.c ****     5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x20 to 0x2F                          
  52:OSsrc/os_core.c ****     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x30 to 0x3F                          
  53:OSsrc/os_core.c ****     6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x40 to 0x4F                          
  54:OSsrc/os_core.c ****     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x50 to 0x5F                          
  55:OSsrc/os_core.c ****     5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x60 to 0x6F                          
  56:OSsrc/os_core.c ****     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x70 to 0x7F                          
  57:OSsrc/os_core.c ****     7, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x80 to 0x8F                          
  58:OSsrc/os_core.c ****     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x90 to 0x9F                          
  59:OSsrc/os_core.c ****     5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0xA0 to 0xAF                          
  60:OSsrc/os_core.c ****     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0xB0 to 0xBF                          
  61:OSsrc/os_core.c ****     6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0xC0 to 0xCF                          
  62:OSsrc/os_core.c ****     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0xD0 to 0xDF                          
  63:OSsrc/os_core.c ****     5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0xE0 to 0xEF                          
  64:OSsrc/os_core.c ****     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0        /* 0xF0 to 0xFF                          
  65:OSsrc/os_core.c **** };
  66:OSsrc/os_core.c **** #else
  67:OSsrc/os_core.c **** #include <avr/pgmspace.h>
  68:OSsrc/os_core.c **** INT8U  const  OSUnMapTbl[256] PROGMEM= {
  69:OSsrc/os_core.c ****     0, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x00 to 0x0F                          
  70:OSsrc/os_core.c ****     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x10 to 0x1F                          
  71:OSsrc/os_core.c ****     5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x20 to 0x2F                          
  72:OSsrc/os_core.c ****     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x30 to 0x3F                          
  73:OSsrc/os_core.c ****     6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x40 to 0x4F                          
  74:OSsrc/os_core.c ****     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x50 to 0x5F                          
  75:OSsrc/os_core.c ****     5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x60 to 0x6F                          
  76:OSsrc/os_core.c ****     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x70 to 0x7F                          
  77:OSsrc/os_core.c ****     7, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x80 to 0x8F                          
  78:OSsrc/os_core.c ****     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x90 to 0x9F                          
  79:OSsrc/os_core.c ****     5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0xA0 to 0xAF                          
  80:OSsrc/os_core.c ****     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0xB0 to 0xBF                          
  81:OSsrc/os_core.c ****     6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0xC0 to 0xCF                          
  82:OSsrc/os_core.c ****     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0xD0 to 0xDF                          
  83:OSsrc/os_core.c ****     5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0xE0 to 0xEF                          
  84:OSsrc/os_core.c ****     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0        /* 0xF0 to 0xFF                          
  85:OSsrc/os_core.c **** };
  86:OSsrc/os_core.c **** #endif
  87:OSsrc/os_core.c **** /*$PAGE*/
  88:OSsrc/os_core.c **** /*
  89:OSsrc/os_core.c **** ***************************************************************************************************
  90:OSsrc/os_core.c **** *                                       FUNCTION PROTOTYPES
  91:OSsrc/os_core.c **** ***************************************************************************************************
  92:OSsrc/os_core.c **** */
  93:OSsrc/os_core.c **** static  void  OS_InitEventList(void);
  94:OSsrc/os_core.c **** static  void  OS_InitMisc(void);
  95:OSsrc/os_core.c **** static  void  OS_InitRdyList(void);
  96:OSsrc/os_core.c **** static  void  OS_InitTaskIdle(void);
  97:OSsrc/os_core.c **** #if OS_TASK_STAT_EN > 0
  98:OSsrc/os_core.c **** static  void  OS_InitTaskStat(void);
  99:OSsrc/os_core.c **** #endif
 100:OSsrc/os_core.c **** static  void  OS_InitTCBList(void);
 101:OSsrc/os_core.c ****   
 102:OSsrc/os_core.c **** /*$PAGE*/
 103:OSsrc/os_core.c **** /*
 104:OSsrc/os_core.c **** ***************************************************************************************************
 105:OSsrc/os_core.c **** *                         GET THE NAME OF A SEMAPHORE, MUTEX, MAILBOX or QUEUE
 106:OSsrc/os_core.c **** *
 107:OSsrc/os_core.c **** * Description: This function is used to obtain the name assigned to a semaphore, mutex, mailbox or 
 108:OSsrc/os_core.c **** *
 109:OSsrc/os_core.c **** * Arguments  : pevent    is a pointer to the event group.  'pevent' can point either to a semaphore
 110:OSsrc/os_core.c **** *                        a mutex, a mailbox or a queue.  Where this function is concerned, the actu
 111:OSsrc/os_core.c **** *                        type is irrelevant.
 112:OSsrc/os_core.c **** *
 113:OSsrc/os_core.c **** *              pname     is a pointer to an ASCII string that will receive the name of the semaphor
 114:OSsrc/os_core.c **** *                        mutex, mailbox or queue.  The string must be able to hold at least 
 115:OSsrc/os_core.c **** *                        OS_EVENT_NAME_SIZE characters.
 116:OSsrc/os_core.c **** *
 117:OSsrc/os_core.c **** *              err       is a pointer to an error code that can contain one of the following values
 118:OSsrc/os_core.c **** *
 119:OSsrc/os_core.c **** *                        OS_NO_ERR                  if the name was copied to 'pname'
 120:OSsrc/os_core.c **** *                        OS_ERR_EVENT_TYPE          if 'pevent' is not pointing to the proper event
 121:OSsrc/os_core.c **** *                                                   control block type.
 122:OSsrc/os_core.c **** *                        OS_ERR_PNAME_NULL          You passed a NULL pointer for 'pname'
 123:OSsrc/os_core.c **** *                        OS_ERR_PEVENT_NULL         if you passed a NULL pointer for 'pevent'
 124:OSsrc/os_core.c **** *
 125:OSsrc/os_core.c **** * Returns    : The length of the string or 0 if the 'pevent' is a NULL pointer.
 126:OSsrc/os_core.c **** ***************************************************************************************************
 127:OSsrc/os_core.c **** */
 128:OSsrc/os_core.c **** 
 129:OSsrc/os_core.c **** #if OS_EVENT_EN && (OS_EVENT_NAME_SIZE > 1)
 130:OSsrc/os_core.c **** INT8U  OSEventNameGet (OS_EVENT *pevent, char *pname, INT8U *err)
 131:OSsrc/os_core.c **** {
 132:OSsrc/os_core.c ****     INT8U      len;
 133:OSsrc/os_core.c **** #if OS_CRITICAL_METHOD == 3                      /* Allocate storage for CPU status register       
 134:OSsrc/os_core.c ****     OS_CPU_SR  cpu_sr;
 135:OSsrc/os_core.c **** 
 136:OSsrc/os_core.c **** 
 137:OSsrc/os_core.c **** 
 138:OSsrc/os_core.c ****     cpu_sr = 0;                                  /* Prevent compiler warning                       
 139:OSsrc/os_core.c **** #endif    
 140:OSsrc/os_core.c ****     OS_ENTER_CRITICAL();
 141:OSsrc/os_core.c **** #if OS_ARG_CHK_EN > 0
 142:OSsrc/os_core.c ****     if (pevent == (OS_EVENT *)0) {               /* Is 'pevent' a NULL pointer?                    
 143:OSsrc/os_core.c ****         OS_EXIT_CRITICAL();                      /* Yes                                            
 144:OSsrc/os_core.c ****         *err = OS_ERR_PEVENT_NULL;
 145:OSsrc/os_core.c ****         return (0);
 146:OSsrc/os_core.c ****     }
 147:OSsrc/os_core.c ****     if (pname == (char *)0) {                    /* Is 'pname' a NULL pointer?                     
 148:OSsrc/os_core.c ****         OS_EXIT_CRITICAL();                      /* Yes                                            
 149:OSsrc/os_core.c ****         *err = OS_ERR_PNAME_NULL;
 150:OSsrc/os_core.c ****         return (0);
 151:OSsrc/os_core.c ****     }
 152:OSsrc/os_core.c **** #endif
 153:OSsrc/os_core.c ****     switch (pevent->OSEventType) {
 154:OSsrc/os_core.c ****         case OS_EVENT_TYPE_SEM:
 155:OSsrc/os_core.c ****         case OS_EVENT_TYPE_MUTEX:

⌨️ 快捷键说明

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