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

📄 app.txt

📁 ucos2 is a file system for embedded applications which can be used on any media, for which you can p
💻 TXT
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 919] for uVision
; commandline ArmCC [--debug -c --asm --interleave -o.\rvmdk\app.o --depend=.\rvmdk\app.d --device=DARMP --apcs=interwork -I. -I..\BSP -I..\..\..\..\..\uCOS-II\Ports\ARM\Generic\RealView -I..\..\..\..\..\uCOS-II\Source -I..\..\..\..\..\uCOSView\Source -I..\..\..\..\..\uCOSView\Ports\ARM7\LPC2000\IAR -I..\..\..\..\..\uC-CPU -I..\..\..\..\..\uC-CPU\ARM\RealView -I..\..\..\..\..\uC-LIB -I..\..\..\..\..\uC-Probe\Target\Plugins\uCOS-II -IC:\Keil\ARM\INC\Philips --omf_browse=.\rvmdk\app.crf app.c]
                          ARM

                          AREA ||.text||, CODE, READONLY, ALIGN=2

                  AppTaskKbd PROC
;;;252    static  void  AppTaskKbd (void *p_arg)
;;;253    {
000000  e92d4070          PUSH     {r4-r6,lr}
;;;254        CPU_BOOLEAN  b1;                                            /* State of Push Button #1                        */
;;;255        CPU_BOOLEAN  b1_prev;
;;;256    
;;;257    
;;;258        (void)p_arg;
;;;259    
;;;260        b1_prev = DEF_FALSE;
000004  e59f61b0          LDR      r6,|L1.444|
000008  e3a05000          MOV      r5,#0
                  |L1.12|
;;;261    
;;;262        while (DEF_TRUE) {
;;;263    
;;;264            b1 = PB_GetStatus(1);
00000c  e3a00001          MOV      r0,#1
000010  ebfffffe          BL       PB_GetStatus
;;;265    
;;;266            if (b1 == DEF_TRUE && b1_prev == DEF_FALSE) {
000014  e3500001          CMP      r0,#1
000018  03550000          CMPEQ    r5,#0
00001c  e1a04000          MOV      r4,r0                 ;264
;;;267                OSMboxPost(AppKbdMbox, (void *)1);
000020  05960000          LDREQ    r0,[r6,#0]  ; AppKbdMbox
000024  03a01001          MOVEQ    r1,#1
000028  0bfffffe          BLEQ     OSMboxPost
;;;268            }
;;;269    
;;;270            b1_prev = b1;
;;;271    
;;;272            OSTimeDlyHMSM(0, 0, 0, 50);
00002c  e3a02000          MOV      r2,#0
000030  e1a05004          MOV      r5,r4                 ;270
000034  e3a03032          MOV      r3,#0x32
000038  e1a01002          MOV      r1,r2
00003c  e1a00002          MOV      r0,r2
000040  ebfffffe          BL       OSTimeDlyHMSM
000044  eafffff0          B        |L1.12|
;;;273        }
;;;274    }
;;;275    
                          ENDP

                  AppTaskStart PROC
;;;139    static  void  AppTaskStart (void *p_arg)
;;;140    {
000048  e92d40f0          PUSH     {r4-r7,lr}
00004c  e24dd01c          SUB      sp,sp,#0x1c
;;;141        CPU_INT32U  msg;
;;;142        CPU_INT32U  lit;
;;;143        CPU_INT32U  i;
;;;144        CPU_INT16U  dly;
;;;145    
;;;146    
;;;147        (void)p_arg;
;;;148    
;;;149        BSP_Init();                                                 /* Initialize BSP functions                                 */
000050  ebfffffe          BL       BSP_Init
;;;150    
;;;151    #if (OS_TASK_STAT_EN > 0)
;;;152        OSStatInit();                                               /* Determine CPU capacity                                   */
000054  ebfffffe          BL       OSStatInit
;;;153    #endif
;;;154    
;;;155    #if (OS_VIEW_MODULE > 0)
;;;156        OSView_Init(38400);                                         /* OSView Init, baud rate = 38400                           */
;;;157        OSView_TerminalRxSetCallback(AppTerminalRx);
;;;158        OSView_RxIntEn();                                           /* Enable Rx Interrupts                                     */
;;;159    #endif
;;;160    
;;;161        LED_Off(0);                                                 /* Turn OFF all the LEDs                                    */
000058  e3a00000          MOV      r0,#0
00005c  ebfffffe          BL       LED_Off
;;;162    
;;;163        AppKbdMbox = OSMboxCreate((void *)0);                       /* Create MBOX for communication between Kbd and Start      */
000060  e3a00000          MOV      r0,#0
000064  ebfffffe          BL       OSMboxCreate
000068  e59f614c          LDR      r6,|L1.444|
;;;164        lit        = 1;
00006c  e3a05001          MOV      r5,#1
000070  e5860000          STR      r0,[r6,#0]  ; AppKbdMbox
;;;165        dly        = ADC_GetStatus(1) / 8 + 16;
000074  e1a00005          MOV      r0,r5
000078  ebfffffe          BL       ADC_GetStatus
00007c  e3a01010          MOV      r1,#0x10
000080  e08171a0          ADD      r7,r1,r0,LSR #3
000084  e59f0134          LDR      r0,|L1.448|
000088  e3a03003          MOV      r3,#3
00008c  e3a02000          MOV      r2,#0
000090  e3a01c01          MOV      r1,#0x100
000094  e98d000f          STMIB    sp,{r0-r3}
000098  e3a03007          MOV      r3,#7
00009c  e2802fff          ADD      r2,r0,#0x3fc
0000a0  e3a01000          MOV      r1,#0
0000a4  e24f00ac          ADR      r0,AppTaskKbd
0000a8  e58d3000          STR      r3,[sp,#0]
0000ac  ebfffffe          BL       OSTaskCreateExt
0000b0  e28d2018          ADD      r2,sp,#0x18
0000b4  e28f1f42          ADR      r1,|L1.452|
0000b8  e3a00007          MOV      r0,#7
0000bc  ebfffffe          BL       OSTaskNameSet
                  |L1.192|
;;;166    
;;;167        AppTaskCreate();                                            /* Create application tasks                                 */
;;;168    
;;;169        while (DEF_TRUE) {                                          /* Task body, always written as an infinite loop.           */
;;;170            msg = (CPU_INT32U)OSMboxAccept(AppKbdMbox);
0000c0  e5960000          LDR      r0,[r6,#0]  ; AppKbdMbox
0000c4  ebfffffe          BL       OSMboxAccept
;;;171    
;;;172            if (msg == 1) {
0000c8  e3500001          CMP      r0,#1
0000cc  1a00000c          BNE      |L1.260|
;;;173                if (lit <= 4) {
0000d0  e3550004          CMP      r5,#4
;;;174                    lit++;
;;;175                } else {
;;;176                    lit = 1;
0000d4  83a05001          MOVHI    r5,#1
0000d8  92855001          ADDLS    r5,r5,#1              ;174
;;;177                }
;;;178    
;;;179                LED_Off(0);
0000dc  e3a00000          MOV      r0,#0
0000e0  ebfffffe          BL       LED_Off
;;;180                for (i = 0; i < lit; i++) {
0000e4  e3a04000          MOV      r4,#0
0000e8  ea000003          B        |L1.252|
                  |L1.236|
;;;181                    LED_On(8 - i);
0000ec  e2640008          RSB      r0,r4,#8
0000f0  e20000ff          AND      r0,r0,#0xff
0000f4  ebfffffe          BL       LED_On
0000f8  e2844001          ADD      r4,r4,#1              ;180
                  |L1.252|
0000fc  e1540005          CMP      r4,r5                 ;180
000100  3afffff9          BCC      |L1.236|
                  |L1.260|
;;;182                }
;;;183            }
;;;184    
;;;185    /*        for (i = 1; i <= 8; i++) {
;;;186                dly = ADC_GetStatus(1) / 8 + 16;
;;;187                LED_On(i);
;;;188                if (i >= lit + 1) {
;;;189                    LED_Off(i - lit);
;;;190                } else {
;;;191                    LED_Off(8 + i - lit);
;;;192                }
;;;193                OSTimeDlyHMSM(0, 0, 0, dly);
;;;194            }*/
;;;195    
;;;196            OSTimeDlyHMSM(0, 0, 0, dly);
000104  e3a02000          MOV      r2,#0
000108  e1a03007          MOV      r3,r7
00010c  e1a01002          MOV      r1,r2
000110  e1a00002          MOV      r0,r2
000114  ebfffffe          BL       OSTimeDlyHMSM
;;;197    		LED_Off(1);
000118  e3a00001          MOV      r0,#1
00011c  ebfffffe          BL       LED_Off
;;;198            OSTimeDlyHMSM(0, 0, 0, dly);
000120  e3a02000          MOV      r2,#0
000124  e1a03007          MOV      r3,r7
000128  e1a01002          MOV      r1,r2
00012c  e1a00002          MOV      r0,r2
000130  ebfffffe          BL       OSTimeDlyHMSM
;;;199    		LED_On(1);
000134  e3a00001          MOV      r0,#1
000138  ebfffffe          BL       LED_On
00013c  eaffffdf          B        |L1.192|
;;;200        }
;;;201    }
;;;202    
                          ENDP

                  main PROC
;;;94     int  main (void)
;;;95     {
000140  e52de004          PUSH     {lr}
000144  e24dd01c          SUB      sp,sp,#0x1c
;;;96         CPU_INT08U  err;
;;;97     
;;;98     
;;;99         BSP_IntDisAll();                                            /* Disable all interrupts until we are ready to accept them */
000148  ebfffffe          BL       BSP_IntDisAll
;;;100    
;;;101        OSInit();                                                   /* Initialize "uC/OS-II, The Real-Time Kernel"              */
00014c  ebfffffe          BL       OSInit
;;;102    
;;;103        OSTaskCreateExt(AppTaskStart,                               /* Create the start task                                    */
000150  e59f0078          LDR      r0,|L1.464|
000154  e3a03003          MOV      r3,#3
000158  e3a02000          MOV      r2,#0
00015c  e3a01c01          MOV      r1,#0x100
000160  e98d000f          STMIB    sp,{r0-r3}
000164  e3a03005          MOV      r3,#5
000168  e2802fff          ADD      r2,r0,#0x3fc
00016c  e3a01000          MOV      r1,#0
000170  e24f0e13          ADR      r0,AppTaskStart
000174  e58d3000          STR      r3,[sp,#0]
000178  ebfffffe          BL       OSTaskCreateExt
;;;104                        (void *)0,
;;;105                        (OS_STK *)&AppTaskStartStk[APP_TASK_START_STK_SIZE - 1],
;;;106                        APP_TASK_START_PRIO,
;;;107                        APP_TASK_START_PRIO,
;;;108                        (OS_STK *)&AppTaskStartStk[0],
;;;109                        APP_TASK_START_STK_SIZE,
;;;110                        (void *)0,
;;;111                        OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
;;;112    
;;;113    #if (OS_TASK_NAME_SIZE > 11)
;;;114        OSTaskNameSet(APP_TASK_START_PRIO, "Start Task", &err);
00017c  e28d2018          ADD      r2,sp,#0x18
000180  e28f104c          ADR      r1,|L1.468|
000184  e3a00005          MOV      r0,#5
000188  ebfffffe          BL       OSTaskNameSet
;;;115    #endif
;;;116    
;;;117        OSStart();                                                  /* Start multitasking (i.e. give control to uC/OS-II)       */
00018c  ebfffffe          BL       OSStart
;;;118    }
000190  e28dd01c          ADD      sp,sp,#0x1c
000194  e49de004          POP      {lr}
000198  e3a00000          MOV      r0,#0
00019c  e12fff1e          BX       lr
;;;119    
                          ENDP

                  App_TaskCreateHook PROC
;;;322    #endif
;;;323    }
0001a0  e12fff1e          BX       lr
;;;324    
                          ENDP

                  App_TaskDelHook PROC
;;;339        (void)ptcb;
;;;340    }
0001a4  e12fff1e          BX       lr
;;;341    
                          ENDP

                  App_TaskIdleHook PROC
;;;357    {
;;;358    }
0001a8  e12fff1e          BX       lr
;;;359    #endif
                          ENDP

                  App_TaskStatHook PROC
;;;373    {
;;;374    }
0001ac  e12fff1e          BX       lr
;;;375    
                          ENDP

                  App_TaskSwHook PROC
;;;398    #endif
;;;399    }
0001b0  e12fff1e          BX       lr
;;;400    #endif
                          ENDP

                  App_TCBInitHook PROC
;;;418        (void)ptcb;
;;;419    }
0001b4  e12fff1e          BX       lr
;;;420    #endif
                          ENDP

                  App_TimeTickHook PROC
;;;439    #endif
;;;440    }
0001b8  e12fff1e          BX       lr
;;;441    #endif
                          ENDP

                  |L1.444|
0001bc  00000000          DCD      ||.data||
                  |L1.448|
0001c0  00000400          DCD      ||.bss||+0x400
                  |L1.452|
0001c4  4b657962          DCB      "Keyb"
0001c8  6f617264          DCB      "oard"
0001cc  00000000          DCB      "\0\0\0\0"
                  |L1.464|
0001d0  00000000          DCD      ||.bss||
                  |L1.468|
0001d4  53746172          DCB      "Star"
0001d8  74205461          DCB      "t Ta"
0001dc  736b0000          DCB      "sk\0\0"

                          AREA ||.data||, DATA, ALIGN=2

                  AppKbdMbox
000000  00000000          DCD      0x00000000

                          AREA ||.bss||, DATA, NOINIT, ALIGN=2

                  AppTaskStartStk
                          %        1024
                  AppTaskKbdStk
                          %        1024

                  __ARM_use_no_argv EQU 0

⌨️ 快捷键说明

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