亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? os_core.txt

?? ATMEL ARM7 SAM64 Porting ucos / Keil ARM VER3.04。不同于其它
?? TXT
?? 第 1 頁 / 共 4 頁
字號:
000254  e3a03003          MOV      r3,#3                 ;1012
000258  e3a02000          MOV      r2,#0                 ;1012
00025c  e3a01080          MOV      r1,#0x80              ;1012
000260  e98d000f          STMIB    sp,{r0-r3}            ;1012
000264  e59f3244          LDR      r3,|L1.1200|          ;1012
000268  e2802f7f          ADD      r2,r0,#0x1fc          ;1012
00026c  e58d3000          STR      r3,[sp,#0]            ;1012
000270  e3a0300e          MOV      r3,#0xe               ;1012
000274  e3a01000          MOV      r1,#0                 ;1012
000278  e24f0e22          ADR      r0,|L1.96|            ;1012
00027c  ebfffffe          BL       OSTaskCreateExt       ;1012
000280  e28d2014          ADD      r2,sp,#0x14           ;1047
000284  e28f1f8a          ADR      r1,|L1.1204|          ;1047
000288  e3a0000e          MOV      r0,#0xe               ;1047
00028c  ebfffffe          BL       OSTaskNameSet         ;1047
;;;227    #endif
;;;228    
;;;229        OS_InitMisc();                                               /* Initialize miscellaneous variables       */
;;;230    
;;;231        OS_InitRdyList();                                            /* Initialize the Ready List                */
;;;232    
;;;233        OS_InitTCBList();                                            /* Initialize the free list of OS_TCBs      */
;;;234    
;;;235        OS_InitEventList();                                          /* Initialize the free list of OS_EVENTs    */
;;;236    
;;;237    #if (OS_VERSION >= 251) && (OS_FLAG_EN > 0) && (OS_MAX_FLAGS > 0)
;;;238        OS_FlagInit();                                               /* Initialize the event flag structures     */
;;;239    #endif
;;;240    
;;;241    #if (OS_MEM_EN > 0) && (OS_MAX_MEM_PART > 0)
;;;242        OS_MemInit();                                                /* Initialize the memory manager            */
;;;243    #endif
;;;244    
;;;245    #if (OS_Q_EN > 0) && (OS_MAX_QS > 0)
;;;246        OS_QInit();                                                  /* Initialize the message queue structures  */
;;;247    #endif
;;;248    
;;;249        OS_InitTaskIdle();                                           /* Create the Idle Task                     */
;;;250    #if OS_TASK_STAT_EN > 0
;;;251        OS_InitTaskStat();                                           /* Create the Statistic Task                */
;;;252    #endif
;;;253    
;;;254    #if OS_VERSION >= 204
;;;255        OSInitHookEnd();                                             /* Call port specific init. code            */
000290  ebfffffe          BL       OSInitHookEnd
;;;256    #endif
;;;257    
;;;258    #if OS_VERSION >= 270 && OS_DEBUG_EN > 0
;;;259        OSDebugInit();
000294  e28dd018          ADD      sp,sp,#0x18
000298  e8bd4010          POP      {r4,lr}
00029c  eafffffe          B        OSDebugInit
;;;260    #endif
;;;261    }
                          ENDP

                  OSIntEnter PROC
;;;289    {
;;;290        if (OSRunning == TRUE) {
0002a0  e59f11e4          LDR      r1,|L1.1164|
0002a4  e5d10007          LDRB     r0,[r1,#7]  ; OSRunning
0002a8  e3500001          CMP      r0,#1
;;;291            if (OSIntNesting < 255u) {
;;;292                OSIntNesting++;                      /* Increment ISR nesting level                        */
;;;293            }
;;;294        }
;;;295    }
0002ac  112fff1e          BXNE     lr
0002b0  e5d10002          LDRB     r0,[r1,#2]            ;291  ; OSIntNesting
0002b4  e35000ff          CMP      r0,#0xff              ;291
0002b8  32800001          ADDCC    r0,r0,#1              ;292
0002bc  35c10002          STRBCC   r0,[r1,#2]            ;292  ; OSIntNesting
0002c0  e12fff1e          BX       lr
                          ENDP

                  OSIntExit PROC
;;;316    void  OSIntExit (void)
;;;317    {
0002c4  e92d4070          PUSH     {r4-r6,lr}
;;;318    #if OS_CRITICAL_METHOD == 3                                /* Allocate storage for CPU status register */
;;;319        OS_CPU_SR  cpu_sr = 0;
;;;320    #endif
;;;321    
;;;322    
;;;323    
;;;324        if (OSRunning == TRUE) {
0002c8  e59f41bc          LDR      r4,|L1.1164|
0002cc  e5d40007          LDRB     r0,[r4,#7]  ; OSRunning
0002d0  e3500001          CMP      r0,#1
0002d4  1a00001c          BNE      |L1.844|
;;;325            OS_ENTER_CRITICAL();
0002d8  ebfffffe          BL       OS_CPU_SR_Save
;;;326            if (OSIntNesting > 0) {                            /* Prevent OSIntNesting from wrapping       */
0002dc  e5d41002          LDRB     r1,[r4,#2]  ; OSIntNesting
0002e0  e1a05000          MOV      r5,r0                 ;325
0002e4  e3510000          CMP      r1,#0
0002e8  0a000003          BEQ      |L1.764|
;;;327                OSIntNesting--;
0002ec  e2410001          SUB      r0,r1,#1
0002f0  e21010ff          ANDS     r1,r0,#0xff
0002f4  e5c41002          STRB     r1,[r4,#2]  ; OSIntNesting
;;;328            }
;;;329            if (OSIntNesting == 0) {                           /* Reschedule only if all ISRs complete ... */
0002f8  1a000010          BNE      |L1.832|
;;;330                if (OSLockNesting == 0) {                      /* ... and not locked.                      */
                  |L1.764|
0002fc  e5d40003          LDRB     r0,[r4,#3]  ; OSLockNesting
000300  e3500000          CMP      r0,#0
000304  1a00000d          BNE      |L1.832|
;;;331                    OS_SchedNew();
000308  ebfffffe          BL       OS_SchedNew
;;;332                    if (OSPrioHighRdy != OSPrioCur) {          /* No Ctx Sw if current task is highest rdy */
00030c  e5d41005          LDRB     r1,[r4,#5]  ; OSPrioHighRdy
000310  e5d40004          LDRB     r0,[r4,#4]  ; OSPrioCur
000314  e1510000          CMP      r1,r0
000318  0a000008          BEQ      |L1.832|
;;;333                        OSTCBHighRdy  = OSTCBPrioTbl[OSPrioHighRdy];
00031c  e59f0164          LDR      r0,|L1.1160|
000320  e7901101          LDR      r1,[r0,r1,LSL #2]
;;;334    #if OS_TASK_PROFILE_EN > 0
;;;335                        OSTCBHighRdy->OSTCBCtxSwCtr++;         /* Inc. # of context switches to this task  */
000324  e5841024          STR      r1,[r4,#0x24]  ; OSTCBHighRdy
000328  e5910028          LDR      r0,[r1,#0x28]
00032c  e2800001          ADD      r0,r0,#1
;;;336    #endif
;;;337                        OSCtxSwCtr++;                          /* Keep track of the number of ctx switches */
000330  e5810028          STR      r0,[r1,#0x28]
000334  e594000c          LDR      r0,[r4,#0xc]  ; OSCtxSwCtr
000338  e2800001          ADD      r0,r0,#1
00033c  e584000c          STR      r0,[r4,#0xc]  ; OSCtxSwCtr
;;;338                        OSIntCtxSw();                          /* Perform interrupt level ctx switch       */
;;;339                    }
;;;340                }
;;;341            }
;;;342            OS_EXIT_CRITICAL();
                  |L1.832|
000340  e1a00005          MOV      r0,r5
000344  e8bd4070          POP      {r4-r6,lr}
000348  eafffffe          B        OS_CPU_SR_Restore
;;;343        }
;;;344    }
                  |L1.844|
00034c  e8bd4070          POP      {r4-r6,lr}
000350  e12fff1e          BX       lr
                          ENDP

                  OSStart PROC
;;;448    void  OSStart (void)
;;;449    {
000354  e92d4010          PUSH     {r4,lr}
;;;450        if (OSRunning == FALSE) {
000358  e59f412c          LDR      r4,|L1.1164|
00035c  e5d40007          LDRB     r0,[r4,#7]  ; OSRunning
000360  e3500000          CMP      r0,#0
000364  1a000008          BNE      |L1.908|
;;;451            OS_SchedNew();                               /* Find highest priority's task priority number   */
000368  ebfffffe          BL       OS_SchedNew
;;;452            OSPrioCur     = OSPrioHighRdy;
00036c  e5d40005          LDRB     r0,[r4,#5]  ; OSPrioHighRdy
;;;453            OSTCBHighRdy  = OSTCBPrioTbl[OSPrioHighRdy]; /* Point to highest priority task ready to run    */
000370  e59f1110          LDR      r1,|L1.1160|
000374  e5c40004          STRB     r0,[r4,#4]            ;452  ; OSPrioCur
000378  e7910100          LDR      r0,[r1,r0,LSL #2]
;;;454            OSTCBCur      = OSTCBHighRdy;
00037c  e5840024          STR      r0,[r4,#0x24]  ; OSTCBHighRdy
000380  e584001c          STR      r0,[r4,#0x1c]  ; OSTCBCur
;;;455            OSStartHighRdy();                            /* Execute target specific code to start task     */
000384  e8bd4010          POP      {r4,lr}
000388  eafffffe          B        OSStartHighRdy
;;;456        }
;;;457    }
                  |L1.908|
00038c  e8bd4010          POP      {r4,lr}
000390  e12fff1e          BX       lr
                          ENDP

                  OSStatInit PROC
;;;480    void  OSStatInit (void)
;;;481    {
000394  e92d4010          PUSH     {r4,lr}
;;;482    #if OS_CRITICAL_METHOD == 3                      /* Allocate storage for CPU status register           */
;;;483        OS_CPU_SR  cpu_sr = 0;
;;;484    #endif
;;;485    
;;;486    
;;;487    
;;;488        OSTimeDly(2);                                /* Synchronize with clock tick                        */
000398  e3a00002          MOV      r0,#2
00039c  ebfffffe          BL       OSTimeDly
;;;489        OS_ENTER_CRITICAL();
0003a0  ebfffffe          BL       OS_CPU_SR_Save
;;;490        OSIdleCtr    = 0L;                           /* Clear idle counter                                 */
0003a4  e59f40e0          LDR      r4,|L1.1164|
0003a8  e3a01000          MOV      r1,#0
0003ac  e5841018          STR      r1,[r4,#0x18]  ; OSIdleCtr
;;;491        OS_EXIT_CRITICAL();
0003b0  ebfffffe          BL       OS_CPU_SR_Restore
;;;492        OSTimeDly(OS_TICKS_PER_SEC / 10);            /* Determine MAX. idle counter value for 1/10 second  */
0003b4  e3a0000a          MOV      r0,#0xa
0003b8  ebfffffe          BL       OSTimeDly
;;;493        OS_ENTER_CRITICAL();
0003bc  ebfffffe          BL       OS_CPU_SR_Save
;;;494        OSIdleCtrMax = OSIdleCtr;                    /* Store maximum idle counter count in 1/10 second    */
0003c0  e5941018          LDR      r1,[r4,#0x18]  ; OSIdleCtr
0003c4  e5841010          STR      r1,[r4,#0x10]  ; OSIdleCtrMax
;;;495        OSStatRdy    = TRUE;
0003c8  e3a01001          MOV      r1,#1
0003cc  e5c41001          STRB     r1,[r4,#1]  ; OSStatRdy
;;;496        OS_EXIT_CRITICAL();
0003d0  e8bd4010          POP      {r4,lr}
0003d4  eafffffe          B        OS_CPU_SR_Restore
;;;497    }
                          ENDP

                  OSTimeTick PROC
;;;514    void  OSTimeTick (void)
;;;515    {
0003d8  e92d4070          PUSH     {r4-r6,lr}
;;;516        OS_TCB    *ptcb;
;;;517    #if OS_TICK_STEP_EN > 0
;;;518        BOOLEAN    step;
;;;519    #endif
;;;520    #if OS_CRITICAL_METHOD == 3                                /* Allocate storage for CPU status register     */
;;;521        OS_CPU_SR  cpu_sr = 0;
;;;522    #endif
;;;523    
;;;524    
;;;525    
;;;526    #if OS_TIME_TICK_HOOK_EN > 0
;;;527        OSTimeTickHook();                                      /* Call user definable hook                     */
0003dc  ebfffffe          BL       OSTimeTickHook
;;;528    #endif
;;;529    #if OS_TIME_GET_SET_EN > 0
;;;530        OS_ENTER_CRITICAL();                                   /* Update the 32-bit tick counter               */
;;;531        OSTime++;
;;;532        OS_EXIT_CRITICAL();
;;;533    #endif
;;;534        if (OSRunning == TRUE) {
0003e0  e59f50a4          LDR      r5,|L1.1164|
0003e4  e5d50007          LDRB     r0,[r5,#7]  ; OSRunning
0003e8  e3500001          CMP      r0,#1
0003ec  1a000023          BNE      |L1.1152|
;;;535    #if OS_TICK_STEP_EN > 0
;;;536            switch (OSTickStepState) {                         /* Determine whether we need to process a tick  */
;;;537                case OS_TICK_STEP_DIS:                         /* Yes, stepping is disabled                    */
;;;538                     step = TRUE;
;;;539                     break;
;;;540    
;;;541                case OS_TICK_STEP_WAIT:                        /* No,  waiting for uC/OS-View to set ...       */
;;;542                     step = FALSE;                             /*      .. OSTickStepState to OS_TICK_STEP_ONCE */
;;;543                     break;
;;;544    
;;;545                case OS_TICK_STEP_ONCE:                        /* Yes, process tick once and wait for next ... */
;;;546                     step            = TRUE;                   /*      ... step command from uC/OS-View        */
;;;547                     OSTickStepState = OS_TICK_STEP_WAIT;
;;;548                     break;
;;;549    
;;;550                default:                                       /* Invalid case, correct situation              */
;;;551                     step            = TRUE;
;;;552                     OSTickStepState = OS_TICK_STEP_DIS;
;;;553                     break;
;;;554            }
;;;555            if (step == FALSE) {                               /* Return if waiting for step command           */
;;;556                return;
;;;557            }
;;;558    #endif
;;;559            ptcb = OSTCBList;                                  /* Point at first TCB in TCB list               */
0003f0  e5954028          LDR      r4,[r5,#0x28]  ; OSTCBList
;;;560            while (ptcb->OSTCBPrio != OS_IDLE_PRIO) {          /* Go through all TCBs in TCB list              */
0003f4  ea00001e          B        |L1.1140|
;;;561                OS_ENTER_CRITICAL();
                  |L1.1016|
0003f8  ebfffffe          BL       OS_CPU_SR_Save
;;;562                if (ptcb->OSTCBDly != 0) {                     /* No, Delayed or waiting for event with TO     */
0003fc  e1d411bc          LDRH     r1,[r4,#0x1c]
000400  e3510000          CMP      r1,#0

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品国产视频| 石原莉奈一区二区三区在线观看| 日本高清免费不卡视频| 精品在线观看视频| 亚洲黄色免费电影| 2014亚洲片线观看视频免费| 91视视频在线观看入口直接观看www| 亚洲一区二区三区在线看| 久久久久国产精品麻豆ai换脸| 欧美性猛片xxxx免费看久爱| 国产精品一卡二| 午夜精品123| 亚洲欧美经典视频| 久久新电视剧免费观看| 91精品一区二区三区久久久久久| 99精品视频在线播放观看| 精品一区二区三区免费毛片爱| 亚洲女与黑人做爰| 亚洲永久免费视频| 亚洲国产经典视频| 久久一留热品黄| 欧美一卡2卡3卡4卡| 欧美三级电影精品| 色999日韩国产欧美一区二区| 国产精品一区二区三区四区| 蜜桃久久av一区| 香蕉久久一区二区不卡无毒影院 | 欧美激情自拍偷拍| 欧美成人福利视频| 欧美一级一区二区| 欧美精品精品一区| 欧美色精品天天在线观看视频| 99久久久免费精品国产一区二区| 国产一区二区精品久久| 久草热8精品视频在线观看| 日本不卡在线视频| 麻豆一区二区三| 美国av一区二区| 蜜臀av一级做a爰片久久| 婷婷综合在线观看| 日韩不卡在线观看日韩不卡视频| 三级精品在线观看| 日韩极品在线观看| 九九国产精品视频| 国内精品久久久久影院一蜜桃| 国内精品伊人久久久久影院对白| 九九九精品视频| 国产69精品一区二区亚洲孕妇| 国产乱理伦片在线观看夜一区| 国产精品一二三四五| 国产精品18久久久久久久网站| 国产电影精品久久禁18| 本田岬高潮一区二区三区| 99久久亚洲一区二区三区青草| 97精品超碰一区二区三区| 欧美在线观看视频一区二区| 欧美日韩一区视频| 日韩你懂的在线观看| 久久精品一区二区三区不卡| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 亚洲图片自拍偷拍| 午夜私人影院久久久久| 老司机午夜精品| 国产黄色91视频| 91小视频在线| 欧美肥妇free| 精品免费日韩av| 中文字幕巨乱亚洲| 亚洲一二三区不卡| 激情图区综合网| 色综合天天天天做夜夜夜夜做| 欧美无乱码久久久免费午夜一区 | 欧美成人精品二区三区99精品| 久久久久久久久久久久久夜| 中文字幕制服丝袜成人av| 一区二区三区高清在线| 青草av.久久免费一区| 国产成人精品免费一区二区| 日本高清不卡一区| 久久夜色精品国产欧美乱极品| 亚洲婷婷在线视频| 蜜臀精品一区二区三区在线观看 | 亚洲自拍偷拍综合| 精品一区二区久久| 97超碰欧美中文字幕| 91精品免费观看| 中文字幕乱码一区二区免费| 午夜精品福利在线| 成人av网站在线| 7777女厕盗摄久久久| 中文字幕免费不卡| 日韩精品一二三区| 成人aa视频在线观看| 欧美精品九九99久久| 国产精品国模大尺度视频| 亚洲成人av一区二区三区| 国产成人99久久亚洲综合精品| 欧洲亚洲国产日韩| 久久久久国产精品麻豆ai换脸| 亚洲影视在线播放| 国产69精品一区二区亚洲孕妇| 欧美喷潮久久久xxxxx| 国产精品理论在线观看| 天天色综合成人网| 99re热这里只有精品视频| 欧美大黄免费观看| 亚洲综合色网站| www.色精品| 久久久久久久久久看片| 天天综合网 天天综合色| 99re热视频这里只精品| 久久精品欧美一区二区三区不卡| 午夜精品久久久久影视| 91在线视频免费91| 久久精品亚洲精品国产欧美| 蜜桃视频一区二区三区在线观看| 欧美性猛片xxxx免费看久爱| 中文字幕亚洲一区二区av在线| 国内精品国产三级国产a久久| 欧美婷婷六月丁香综合色| 国产精品国产精品国产专区不片| 青青草伊人久久| 精品视频色一区| 亚洲综合丝袜美腿| 色88888久久久久久影院按摩| 国产欧美日韩视频一区二区| 久久97超碰国产精品超碰| 欧美精品99久久久**| 亚洲亚洲人成综合网络| 欧美艳星brazzers| 亚洲综合丁香婷婷六月香| 日本道在线观看一区二区| 最近日韩中文字幕| aa级大片欧美| 中文字幕精品三区| 成人av在线播放网站| 成人欧美一区二区三区视频网页 | 自拍视频在线观看一区二区| 懂色一区二区三区免费观看| 26uuu欧美| 国产一区二区伦理| 久久精品日韩一区二区三区| 国产激情一区二区三区桃花岛亚洲| 日韩天堂在线观看| 精彩视频一区二区三区| 久久综合九色综合97婷婷女人| 激情小说欧美图片| 久久综合99re88久久爱| 国产一区二区影院| 国产午夜精品理论片a级大结局| 国产福利一区在线| 中文字幕一区在线观看视频| 99视频一区二区| 亚洲国产精品一区二区www| 欧美精品日韩一区| 久久99精品久久只有精品| 久久久久国产成人精品亚洲午夜| 国产福利一区在线| 亚洲区小说区图片区qvod| 欧洲一区二区av| 日日欢夜夜爽一区| 欧美精品一区二| 丁香网亚洲国际| 一区二区三区色| 777欧美精品| 国产精品一区二区三区乱码| 中文字幕在线不卡一区| 欧美性猛交xxxxxx富婆| 欧美aaa在线| 国产日韩亚洲欧美综合| 91免费看视频| 免费看精品久久片| 国产欧美一区二区精品性色 | 4438x成人网最大色成网站| 麻豆视频一区二区| 国产精品乱人伦| 欧美人与禽zozo性伦| 国模套图日韩精品一区二区| 亚洲视频在线一区| 欧美一区二区日韩一区二区| 国产精品白丝av| 亚洲一区二区三区视频在线| 日韩美女视频在线| 不卡一区二区三区四区| 天天爽夜夜爽夜夜爽精品视频| 欧美国产激情二区三区| 欧美日韩亚洲国产综合| 国产激情视频一区二区三区欧美| 一区二区欧美国产| 久久先锋影音av| 欧美在线免费观看亚洲| 国产精品99久| 日韩高清一区在线| 一区精品在线播放| 日韩欧美国产wwwww| 日本乱人伦aⅴ精品| 国产九色sp调教91| 日韩国产欧美在线视频| 日韩一区在线播放| 久久精品视频一区二区三区|