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

📄 app.txt

📁 ucos2.86版本结合STM板极支持包
💻 TXT
📖 第 1 页 / 共 5 页
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 914] for uVision
; commandline ArmCC [--debug -c --asm --interleave -o.\rvmdk\app.o --depend=.\rvmdk\app.d --device=DARMSTM -O1 -Otime -I. -I..\BSP -I..\..\..\..\..\uCOS-II\Ports\arm-cortex-m3\Generic\RealView -I..\..\..\..\..\uCOS-II\Source -I..\..\..\..\..\CPU\ST\STM32\inc -I..\..\..\..\..\uC-CPU -I..\..\..\..\..\uC-CPU\Arm-Cortex-M3\RealView -I..\..\..\..\..\uC-LIB -I..\..\..\..\..\uC-Probe\Target\Plugins\uCOS-II -I..\..\..\..\..\uC-Probe\Target\Communication\Generic\Source -I..\..\..\..\..\uC-Probe\Target\Communication\Generic\RS-232\Ports\ST\STM32 -I..\..\..\..\..\uC-Probe\Target\Communication\Generic\RS-232\Source -ID:\Keil\ARM\INC\ST\STM32F10x app.c]
                          THUMB

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

                  AppFormatDec PROC
;;;759    static  void  AppFormatDec (CPU_INT08U *s, CPU_INT32U value, CPU_INT08U digits)
;;;760    {
000000  b410              PUSH     {r4}
;;;761        CPU_INT08U      i;
;;;762        CPU_INT32U      mult;
;;;763    
;;;764    
;;;765        mult = 1;
000002  2301              MOVS     r3,#1
;;;766        for (i = 0; i < (digits - 1); i++) {
000004  f04ff04f          MOV      r12,#0
000008  1e52              SUBS     r2,r2,#1
00000a  240a              MOVS     r4,#0xa
00000c  2a00              CMP      r2,#0
00000e  dd06              BLE      |L1.30|
                  |L1.16|
;;;767            mult *= 10;
000010  4363              MULS     r3,r4,r3
000012  f10cf10c          ADD      r12,r12,#1
000016  f00cf00c          AND      r12,r12,#0xff
00001a  4594              CMP      r12,r2
00001c  dbf8              BLT      |L1.16|
                  |L1.30|
;;;768        }
;;;769        while (mult > 0) {
00001e  2b00              CMP      r3,#0
000020  d00b              BEQ      |L1.58|
                  |L1.34|
000022  fbb1fbb1          UDIV     r2,r1,r3
000026  f102f102          ADD      r12,r2,#0x30
00002a  f800f800          STRB     r12,[r0],#1
00002e  fb03fb03          MLS      r1,r3,r2,r1
000032  fbb3fbb3          UDIV     r3,r3,r4
000036  2b00              CMP      r3,#0
000038  d1f3              BNE      |L1.34|
                  |L1.58|
;;;770            *s++   = value / mult + '0';
;;;771            value %= mult;
;;;772            mult  /= 10;
;;;773        }
;;;774    }
00003a  bc10              POP      {r4}
00003c  4770              BX       lr
;;;775    
                          ENDP

                  AppTaskProbeStr PROC
;;;630    static  void  AppTaskProbeStr (void *p_arg)
;;;631    {
00003e  b570              PUSH     {r4-r6,lr}
;;;632                CPU_INT32U   i;
;;;633        static  CPU_CHAR     buffer[64];
;;;634    
;;;635    
;;;636        i   = 0;
000040  2400              MOVS     r4,#0
;;;637    
;;;638        while (DEF_TRUE) {
000042  4df8              LDR      r5,|L1.1060|
                  |L1.68|
;;;639            Str_Copy(buffer, "String Tx #xxxxx\n");
000044  a1f8              ADR      r1,|L1.1064|
000046  48f7              LDR      r0,|L1.1060|
000048  f7fff7ff          BL       Str_Copy
;;;640            AppFormatDec(&buffer[11], i, 5);
00004c  2205              MOVS     r2,#5
00004e  4621              MOV      r1,r4
000050  f105f105          ADD      r0,r5,#0xb
000054  f7fff7ff          BL       AppFormatDec
;;;641            i++;
000058  1c64              ADDS     r4,r4,#1
00005a  2164              MOVS     r1,#0x64
00005c  48f1              LDR      r0,|L1.1060|
00005e  f7fff7ff          BL       ProbeCom_TxStr
000062  2300              MOVS     r3,#0
000064  2201              MOVS     r2,#1
000066  4619              MOV      r1,r3
000068  4618              MOV      r0,r3
00006a  f7fff7ff          BL       OSTimeDlyHMSM
00006e  e7e9              B        |L1.68|
;;;642            ProbeCom_TxStr(buffer, 100);
;;;643            OSTimeDlyHMSM(0, 0, 1, 0);
;;;644        }
;;;645    }
;;;646    #endif
                          ENDP

                  AppTaskKbd PROC
;;;416    static  void  AppTaskKbd (void *p_arg)
;;;417    {
000070  e92de92d          PUSH     {r4-r8,lr}
;;;418        CPU_BOOLEAN  b1_prev;
;;;419        CPU_BOOLEAN  b1;
;;;420        CPU_INT08U   key;
;;;421    
;;;422    
;;;423        (void)p_arg;
;;;424    
;;;425        b1_prev = DEF_FALSE;
000074  2500              MOVS     r5,#0
;;;426        key     = 1;
000076  2401              MOVS     r4,#1
;;;427    
;;;428        while (DEF_TRUE) {
000078  4ff0              LDR      r7,|L1.1084|
                  |L1.122|
;;;429            b1 = PB_GetStatus(1);
00007a  2001              MOVS     r0,#1
00007c  f7fff7ff          BL       PB_GetStatus
000080  4606              MOV      r6,r0
;;;430    
;;;431            if (b1 == DEF_TRUE && b1_prev == DEF_FALSE) {
000082  2e01              CMP      r6,#1
000084  d10a              BNE      |L1.156|
000086  b94d              CBNZ     r5,|L1.156|
;;;432                if (key == 2) {
000088  2c02              CMP      r4,#2
00008a  d101              BNE      |L1.144|
;;;433                    key = 1;
00008c  2401              MOVS     r4,#1
00008e  e001              B        |L1.148|
                  |L1.144|
;;;434                } else {
;;;435                    key++;
000090  1c60              ADDS     r0,r4,#1
000092  b2c4              UXTB     r4,r0
                  |L1.148|
;;;436                }
;;;437    
;;;438                OSMboxPost(AppUserIFMbox, (void *)key);
000094  4621              MOV      r1,r4
000096  6838              LDR      r0,[r7,#0]  ; AppUserIFMbox
000098  f7fff7ff          BL       OSMboxPost
                  |L1.156|
;;;439            }
;;;440    
;;;441            b1_prev = b1;
00009c  4635              MOV      r5,r6
00009e  2200              MOVS     r2,#0
0000a0  2314              MOVS     r3,#0x14
0000a2  4611              MOV      r1,r2
0000a4  4610              MOV      r0,r2
0000a6  f7fff7ff          BL       OSTimeDlyHMSM
0000aa  e7e6              B        |L1.122|
;;;442    
;;;443            OSTimeDlyHMSM(0, 0, 0, 20);
;;;444        }
;;;445    }
;;;446    
                          ENDP

                  AppDispScr_SignOn PROC
;;;460    static  void  AppDispScr_SignOn (void)
;;;461    {
0000ac  b570              PUSH     {r4-r6,lr}
;;;462        CPU_INT32U  value;
;;;463    
;;;464    
;;;465        Str_Copy(AppLCDLine0, "  Micrium uC/OS-II  ");
0000ae  a1e4              ADR      r1,|L1.1088|
0000b0  48e9              LDR      r0,|L1.1112|
0000b2  f7fff7ff          BL       Str_Copy
;;;466        Str_Copy(AppLCDLine1, "ST STM32 (Cortex-M3)");
0000b6  a1e9              ADR      r1,|L1.1116|
0000b8  48ee              LDR      r0,|L1.1140|
0000ba  f7fff7ff          BL       Str_Copy
;;;467    
;;;468        Str_Copy(AppLCDLine2, "                    ");
0000be  a1ee              ADR      r1,|L1.1144|
0000c0  48f3              LDR      r0,|L1.1168|
0000c2  f7fff7ff          BL       Str_Copy
;;;469    
;;;470        Str_Copy(AppLCDLine3, "  uC/OS-II:  Vx.yy  ");
0000c6  a1f3              ADR      r1,|L1.1172|
0000c8  48f8              LDR      r0,|L1.1196|
0000ca  f7fff7ff          BL       Str_Copy
;;;471        value           = (CPU_INT32U)OSVersion();
0000ce  f7fff7ff          BL       OSVersion
;;;472        AppLCDLine3[14] = value / 100 + '0';
0000d2  2564              MOVS     r5,#0x64
0000d4  fbb0fbb0          UDIV     r1,r0,r5
0000d8  4af4              LDR      r2,|L1.1196|
0000da  f101f101          ADD      r3,r1,#0x30
0000de  7393              STRB     r3,[r2,#0xe]  ; AppLCDLine3
;;;473        AppLCDLine3[16] = (value % 100) / 10 + '0';
0000e0  fb05fb05          MLS      r1,r5,r1,r0
0000e4  240a              MOVS     r4,#0xa
0000e6  fbb1fbb1          UDIV     r1,r1,r4
0000ea  3130              ADDS     r1,r1,#0x30
0000ec  7411              STRB     r1,[r2,#0x10]  ; AppLCDLine3
;;;474        AppLCDLine3[17] = (value %  10) + '0';
0000ee  fbb0fbb0          UDIV     r1,r0,r4
0000f2  fb04fb04          MLS      r0,r4,r1,r0
0000f6  3030              ADDS     r0,r0,#0x30
0000f8  7450              STRB     r0,[r2,#0x11]  ; AppLCDLine3
;;;475    
;;;476        Str_Copy(AppLCDLine4, "  TickRate:   xxxx  ");
0000fa  a1ed              ADR      r1,|L1.1200|
0000fc  48f2              LDR      r0,|L1.1224|
0000fe  f7fff7ff          BL       Str_Copy
;;;477        value = (CPU_INT32U)OS_TICKS_PER_SEC;
;;;478        AppFormatDec(&AppLCDLine4[14], value, 4);
000102  2204              MOVS     r2,#4
000104  4629              MOV      r1,r5
000106  48f1              LDR      r0,|L1.1228|
000108  f7fff7ff          BL       AppFormatDec
;;;479    
;;;480        Str_Copy(AppLCDLine5, "  CPU Usage:xx %    ");
00010c  a1f0              ADR      r1,|L1.1232|
00010e  48f6              LDR      r0,|L1.1256|
000110  f7fff7ff          BL       Str_Copy
;;;481        value           = (CPU_INT32U)OSCPUUsage;
000114  48f5              LDR      r0,|L1.1260|
000116  f990f990          LDRSB    r0,[r0,#0]  ; OSCPUUsage
;;;482        AppLCDLine5[12] = (value / 10) + '0';
00011a  4af3              LDR      r2,|L1.1256|
00011c  fbb0fbb0          UDIV     r1,r0,r4
000120  f101f101          ADD      r3,r1,#0x30
000124  7313              STRB     r3,[r2,#0xc]  ; AppLCDLine5
;;;483        AppLCDLine5[13] = (value % 10) + '0';
000126  fb04fb04          MLS      r0,r4,r1,r0
00012a  3030              ADDS     r0,r0,#0x30
00012c  7350              STRB     r0,[r2,#0xd]  ; AppLCDLine5
;;;484    
;;;485        Str_Copy(AppLCDLine6, "  CPU Speed:xx MHz  ");
00012e  a1f0              ADR      r1,|L1.1264|
000130  48f5              LDR      r0,|L1.1288|
000132  f7fff7ff          BL       Str_Copy
;;;486        value           = (CPU_INT32U)BSP_CPU_ClkFreq() / 1000000L;
000136  f7fff7ff          BL       BSP_CPU_ClkFreq
00013a  49f4              LDR      r1,|L1.1292|
00013c  fbb0fbb0          UDIV     r0,r0,r1
;;;487        AppLCDLine6[12] = (value / 10) + '0';
000140  fbb0fbb0          UDIV     r1,r0,r4
000144  4af0              LDR      r2,|L1.1288|
000146  f101f101          ADD      r3,r1,#0x30
00014a  7313              STRB     r3,[r2,#0xc]  ; AppLCDLine6
;;;488        AppLCDLine6[13] = (value % 10) + '0';
00014c  fb04fb04          MLS      r0,r4,r1,r0
000150  3030              ADDS     r0,r0,#0x30
000152  7350              STRB     r0,[r2,#0xd]  ; AppLCDLine6
;;;489    
;;;490        Str_Copy(AppLCDLine7, "  #Ticks: xxxxxxxx  ");
000154  a1ee              ADR      r1,|L1.1296|
000156  48f4              LDR      r0,|L1.1320|
000158  f7fff7ff          BL       Str_Copy
;;;491        value = (CPU_INT32U)OSTime;
00015c  48f3              LDR      r0,|L1.1324|
00015e  6801              LDR      r1,[r0,#0]  ; OSTime
;;;492        AppFormatDec(&AppLCDLine7[10], value, 8);
000160  2208              MOVS     r2,#8
000162  48f3              LDR      r0,|L1.1328|
000164  f7fff7ff          BL       AppFormatDec
;;;493    
;;;494        Str_Copy(AppLCDLine8, "  #CtxSw: xxxxxxxx  ");
000168  a1f2              ADR      r1,|L1.1332|
00016a  48f8              LDR      r0,|L1.1356|
00016c  f7fff7ff          BL       Str_Copy
;;;495        value = (CPU_INT32U)OSCtxSwCtr;
000170  48f7              LDR      r0,|L1.1360|
000172  6801              LDR      r1,[r0,#0]  ; OSCtxSwCtr
;;;496        AppFormatDec(&AppLCDLine8[10], value, 8);
000174  2208              MOVS     r2,#8
000176  48f7              LDR      r0,|L1.1364|
000178  f7fff7ff          BL       AppFormatDec
;;;497    
;;;498        Str_Copy(AppLCDLine9, "                    ");
00017c  a1be              ADR      r1,|L1.1144|
00017e  48f6              LDR      r0,|L1.1368|
000180  f7fff7ff          BL       Str_Copy
;;;499    
;;;500        LCD_SetTextColor(COLOR_BLUE);
000184  201f              MOVS     r0,#0x1f
000186  f7fff7ff          BL       LCD_SetTextColor
;;;501        LCD_DisplayString(APP_LINE_0, AppLCDLine0);
00018a  49b3              LDR      r1,|L1.1112|
00018c  2000              MOVS     r0,#0
00018e  f7fff7ff          BL       LCD_DisplayString
;;;502        LCD_DisplayString(APP_LINE_1, AppLCDLine1);
000192  49b8              LDR      r1,|L1.1140|
000194  2018              MOVS     r0,#0x18
000196  f7fff7ff          BL       LCD_DisplayString
;;;503        LCD_SetTextColor(COLOR_BLACK);
00019a  2000              MOVS     r0,#0
00019c  f7fff7ff          BL       LCD_SetTextColor
;;;504        LCD_DisplayString(APP_LINE_2, AppLCDLine2);
0001a0  49bb              LDR      r1,|L1.1168|
0001a2  2030              MOVS     r0,#0x30
0001a4  f7fff7ff          BL       LCD_DisplayString
;;;505        LCD_DisplayString(APP_LINE_3, AppLCDLine3);
0001a8  49c0              LDR      r1,|L1.1196|
0001aa  2048              MOVS     r0,#0x48
0001ac  f7fff7ff          BL       LCD_DisplayString
;;;506        LCD_DisplayString(APP_LINE_4, AppLCDLine4);
0001b0  49c5              LDR      r1,|L1.1224|
0001b2  2060              MOVS     r0,#0x60
0001b4  f7fff7ff          BL       LCD_DisplayString
;;;507        LCD_DisplayString(APP_LINE_5, AppLCDLine5);
0001b8  49cb              LDR      r1,|L1.1256|
0001ba  2078              MOVS     r0,#0x78

⌨️ 快捷键说明

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