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

📄 os_core.lst

📁 称植到lpc2124上的UCOS2.85版 是本人初学移植和ARM的成果 可能已有人上传类似的了
💻 LST
📖 第 1 页 / 共 5 页
字号:
 312 00c9 00        		.byte	0
 313 00ca 01        		.byte	1
 314 00cb 00        		.byte	0
 315 00cc 02        		.byte	2
 316 00cd 00        		.byte	0
 317 00ce 01        		.byte	1
 318 00cf 00        		.byte	0
 319 00d0 04        		.byte	4
 320 00d1 00        		.byte	0
 321 00d2 01        		.byte	1
 322 00d3 00        		.byte	0
 323 00d4 02        		.byte	2
 324 00d5 00        		.byte	0
 325 00d6 01        		.byte	1
 326 00d7 00        		.byte	0
 327 00d8 03        		.byte	3
 328 00d9 00        		.byte	0
 329 00da 01        		.byte	1
 330 00db 00        		.byte	0
 331 00dc 02        		.byte	2
 332 00dd 00        		.byte	0
 333 00de 01        		.byte	1
 334 00df 00        		.byte	0
 335 00e0 05        		.byte	5
 336 00e1 00        		.byte	0
 337 00e2 01        		.byte	1
 338 00e3 00        		.byte	0
 339 00e4 02        		.byte	2
 340 00e5 00        		.byte	0
 341 00e6 01        		.byte	1
 342 00e7 00        		.byte	0
 343 00e8 03        		.byte	3
 344 00e9 00        		.byte	0
 345 00ea 01        		.byte	1
 346 00eb 00        		.byte	0
 347 00ec 02        		.byte	2
 348 00ed 00        		.byte	0
 349 00ee 01        		.byte	1
 350 00ef 00        		.byte	0
 351 00f0 04        		.byte	4
 352 00f1 00        		.byte	0
 353 00f2 01        		.byte	1
 354 00f3 00        		.byte	0
 355 00f4 02        		.byte	2
 356 00f5 00        		.byte	0
 357 00f6 01        		.byte	1
 358 00f7 00        		.byte	0
 359 00f8 03        		.byte	3
 360 00f9 00        		.byte	0
 361 00fa 01        		.byte	1
 362 00fb 00        		.byte	0
 363 00fc 02        		.byte	2
 364 00fd 00        		.byte	0
 365 00fe 01        		.byte	1
 366 00ff 00        		.byte	0
 367               		.text
 371               	.global	OS_StrCopy
 373               	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-2007, 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.85
  13:../OSsrc/os_core.c **** *
  14:../OSsrc/os_core.c **** * LICENSING TERMS:
  15:../OSsrc/os_core.c **** * ---------------
  16:../OSsrc/os_core.c **** *   uC/OS-II is provided in source form for FREE evaluation, for educational use or for peaceful re
  17:../OSsrc/os_core.c **** * If you plan on using  uC/OS-II  in a commercial product you need to contact Micri祄 to properly l
  18:../OSsrc/os_core.c **** * its use in your product. We provide ALL the source code for your convenience and to help you expe
  19:../OSsrc/os_core.c **** * uC/OS-II.   The fact that the  source is provided does  NOT  mean that you can use it without  pa
  20:../OSsrc/os_core.c **** * licensing fee.
  21:../OSsrc/os_core.c **** ***************************************************************************************************
  22:../OSsrc/os_core.c **** */
  23:../OSsrc/os_core.c **** 
  24:../OSsrc/os_core.c **** #ifndef  OS_MASTER_FILE
  25:../OSsrc/os_core.c **** #define  OS_GLOBALS
  26:../OSsrc/os_core.c **** #include <ucos_ii.h>
  27:../OSsrc/os_core.c **** #endif
  28:../OSsrc/os_core.c **** 
  29:../OSsrc/os_core.c **** /*
  30:../OSsrc/os_core.c **** ***************************************************************************************************
  31:../OSsrc/os_core.c **** *                                       PRIORITY RESOLUTION TABLE
  32:../OSsrc/os_core.c **** *
  33:../OSsrc/os_core.c **** * Note: Index into table is bit pattern to resolve highest priority
  34:../OSsrc/os_core.c **** *       Indexed value corresponds to highest priority bit position (i.e. 0..7)
  35:../OSsrc/os_core.c **** ***************************************************************************************************
  36:../OSsrc/os_core.c **** */
  37:../OSsrc/os_core.c **** 
  38:../OSsrc/os_core.c **** INT8U  const  OSUnMapTbl[256] = {
  39:../OSsrc/os_core.c ****     0, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x00 to 0x0F                          
  40:../OSsrc/os_core.c ****     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x10 to 0x1F                          
  41:../OSsrc/os_core.c ****     5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x20 to 0x2F                          
  42:../OSsrc/os_core.c ****     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x30 to 0x3F                          
  43:../OSsrc/os_core.c ****     6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x40 to 0x4F                          
  44:../OSsrc/os_core.c ****     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x50 to 0x5F                          
  45:../OSsrc/os_core.c ****     5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x60 to 0x6F                          
  46:../OSsrc/os_core.c ****     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x70 to 0x7F                          
  47:../OSsrc/os_core.c ****     7, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x80 to 0x8F                          
  48:../OSsrc/os_core.c ****     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x90 to 0x9F                          
  49:../OSsrc/os_core.c ****     5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0xA0 to 0xAF                          
  50:../OSsrc/os_core.c ****     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0xB0 to 0xBF                          
  51:../OSsrc/os_core.c ****     6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0xC0 to 0xCF                          
  52:../OSsrc/os_core.c ****     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0xD0 to 0xDF                          
  53:../OSsrc/os_core.c ****     5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0xE0 to 0xEF                          
  54:../OSsrc/os_core.c ****     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0        /* 0xF0 to 0xFF                          
  55:../OSsrc/os_core.c **** };
  56:../OSsrc/os_core.c **** 
  57:../OSsrc/os_core.c **** /*$PAGE*/
  58:../OSsrc/os_core.c **** /*
  59:../OSsrc/os_core.c **** ***************************************************************************************************
  60:../OSsrc/os_core.c **** *                                       FUNCTION PROTOTYPES
  61:../OSsrc/os_core.c **** ***************************************************************************************************
  62:../OSsrc/os_core.c **** */
  63:../OSsrc/os_core.c **** 
  64:../OSsrc/os_core.c **** static  void  OS_InitEventList(void);
  65:../OSsrc/os_core.c **** 
  66:../OSsrc/os_core.c **** static  void  OS_InitMisc(void);
  67:../OSsrc/os_core.c **** 
  68:../OSsrc/os_core.c **** static  void  OS_InitRdyList(void);
  69:../OSsrc/os_core.c **** 
  70:../OSsrc/os_core.c **** static  void  OS_InitTaskIdle(void);
  71:../OSsrc/os_core.c **** 
  72:../OSsrc/os_core.c **** #if OS_TASK_STAT_EN > 0
  73:../OSsrc/os_core.c **** static  void  OS_InitTaskStat(void);
  74:../OSsrc/os_core.c **** #endif
  75:../OSsrc/os_core.c **** 
  76:../OSsrc/os_core.c **** static  void  OS_InitTCBList(void);
  77:../OSsrc/os_core.c **** 
  78:../OSsrc/os_core.c **** static  void  OS_SchedNew(void);
  79:../OSsrc/os_core.c **** 
  80:../OSsrc/os_core.c **** /*$PAGE*/
  81:../OSsrc/os_core.c **** /*
  82:../OSsrc/os_core.c **** ***************************************************************************************************
  83:../OSsrc/os_core.c **** *                         GET THE NAME OF A SEMAPHORE, MUTEX, MAILBOX or QUEUE
  84:../OSsrc/os_core.c **** *
  85:../OSsrc/os_core.c **** * Description: This function is used to obtain the name assigned to a semaphore, mutex, mailbox or 
  86:../OSsrc/os_core.c **** *
  87:../OSsrc/os_core.c **** * Arguments  : pevent    is a pointer to the event group.  'pevent' can point either to a semaphore
  88:../OSsrc/os_core.c **** *                        a mutex, a mailbox or a queue.  Where this function is concerned, the actu
  89:../OSsrc/os_core.c **** *                        type is irrelevant.
  90:../OSsrc/os_core.c **** *
  91:../OSsrc/os_core.c **** *              pname     is a pointer to an ASCII string that will receive the name of the semaphor
  92:../OSsrc/os_core.c **** *                        mutex, mailbox or queue.  The string must be able to hold at least
  93:../OSsrc/os_core.c **** *                        OS_EVENT_NAME_SIZE characters.
  94:../OSsrc/os_core.c **** *
  95:../OSsrc/os_core.c **** *              perr      is a pointer to an error code that can contain one of the following values
  96:../OSsrc/os_core.c **** *
  97:../OSsrc/os_core.c **** *                        OS_ERR_NONE                if the name was copied to 'pname'
  98:../OSsrc/os_core.c **** *                        OS_ERR_EVENT_TYPE          if 'pevent' is not pointing to the proper event
  99:../OSsrc/os_core.c **** *                                                   control block type.
 100:../OSsrc/os_core.c **** *                        OS_ERR_PNAME_NULL          You passed a NULL pointer for 'pname'
 101:../OSsrc/os_core.c **** *                        OS_ERR_PEVENT_NULL         if you passed a NULL pointer for 'pevent'
 102:../OSsrc/os_core.c **** *
 103:../OSsrc/os_core.c **** * Returns    : The length of the string or 0 if the 'pevent' is a NULL pointer.
 104:../OSsrc/os_core.c **** ***************************************************************************************************
 105:../OSsrc/os_core.c **** */
 106:../OSsrc/os_core.c **** 
 107:../OSsrc/os_core.c **** #if OS_EVENT_EN && (OS_EVENT_NAME_SIZE > 1)
 108:../OSsrc/os_core.c **** INT8U  OSEventNameGet (OS_EVENT *pevent, INT8U *pname, INT8U *perr)
 109:../OSsrc/os_core.c **** {
 110:../OSsrc/os_core.c ****     INT8U      len;
 111:../OSsrc/os_core.c **** #if OS_CRITICAL_METHOD == 3                      /* Allocate storage for CPU status register       
 112:../OSsrc/os_core.c ****     OS_CPU_SR  cpu_sr = 0;
 113:../OSsrc/os_core.c **** #endif
 114:../OSsrc/os_core.c **** 
 115:../OSsrc/os_core.c **** 
 116:../OSsrc/os_core.c **** 
 117:../OSsrc/os_core.c **** #if OS_ARG_CHK_EN > 0
 118:../OSsrc/os_core.c ****     if (perr == (INT8U *)0) {                    /* Validate 'perr'                                
 119:../OSsrc/os_core.c ****         return (0);
 120:../OSsrc/os_core.c ****     }
 121:../OSsrc/os_core.c ****     if (pevent == (OS_EVENT *)0) {               /* Is 'pevent' a NULL pointer?                    
 122:../OSsrc/os_core.c ****         *perr = OS_ERR_PEVENT_NULL;
 123:../OSsrc/os_core.c ****         return (0);
 124:../OSsrc/os_core.c ****     }
 125:../OSsrc/os_core.c ****     if (pname == (INT8U *)0) {                   /* Is 'pname' a NULL pointer?                     
 126:../OSsrc/os_core.c ****         *perr = OS_ERR_PNAME_NULL;
 127:../OSsrc/os_core.c ****         return (0);
 128:../OSsrc/os_core.c ****     }
 129:../OSsrc/os_core.c **** #endif
 130:../OSsrc/os_core.c ****     if (OSIntNesting > 0) {                      /* See if trying to call from an ISR              
 131:../OSsrc/os_core.c ****         *perr  = OS_ERR_NAME_GET_ISR;
 132:../OSsrc/os_core.c ****         return (0);
 133:../OSsrc/os_core.c ****     }
 134:../OSsrc/os_core.c ****     switch (pevent->OSEventType) {
 135:../OSsrc/os_core.c ****         case OS_EVENT_TYPE_SEM:
 136:../OSsrc/os_core.c ****         case OS_EVENT_TYPE_MUTEX:
 137:../OSsrc/os_core.c ****         case OS_EVENT_TYPE_MBOX:
 138:../OSsrc/os_core.c ****         case OS_EVENT_TYPE_Q:
 139:../OSsrc/os_core.c ****              break;
 140:../OSsrc/os_core.c **** 
 141:../OSsrc/os_core.c ****         default:
 142:../OSsrc/os_core.c ****              *perr = OS_ERR_EVENT_TYPE;
 143:../OSsrc/os_core.c ****              return (0);
 144:../OSsrc/os_core.c ****     }
 145:../OSsrc/os_core.c ****     OS_ENTER_CRITICAL();
 146:../OSsrc/os_core.c ****     len   = OS_StrCopy(pname, pevent->OSEventName);   /* Copy name from OS_EVENT                   
 147:../OSsrc/os_core.c ****     OS_EXIT_CRITICAL();
 148:../OSsrc/os_core.c ****     *perr = OS_ERR_NONE;
 149:../OSsrc/os_core.c ****     return (len);
 150:../OSsrc/os_core.c **** }
 151:../OSsrc/os_core.c **** #endif
 152:../OSsrc/os_core.c **** 
 153:../OSsrc/os_core.c **** /*$PAGE*/
 154:../OSsrc/os_core.c **** /*
 155:../OSsrc/os_core.c **** ***************************************************************************************************
 156:../OSsrc/os_core.c **** *                         ASSIGN A NAME TO A SEMAPHORE, MUTEX, MAILBOX or QUEUE
 157:../OSsrc/os_core.c **** *

⌨️ 快捷键说明

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