?? app.txt
字號:
; 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
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
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -