?? app.txt
字號:
0001bc f7fff7ff BL LCD_DisplayString
;;;508 LCD_DisplayString(APP_LINE_6, AppLCDLine6);
0001c0 49d1 LDR r1,|L1.1288|
0001c2 2090 MOVS r0,#0x90
0001c4 f7fff7ff BL LCD_DisplayString
;;;509 LCD_DisplayString(APP_LINE_7, AppLCDLine7);
0001c8 49d7 LDR r1,|L1.1320|
0001ca 20a8 MOVS r0,#0xa8
0001cc f7fff7ff BL LCD_DisplayString
;;;510 LCD_DisplayString(APP_LINE_8, AppLCDLine8);
0001d0 e8bde8bd POP {r4-r6,lr}
0001d4 49dd LDR r1,|L1.1356|
0001d6 20c0 MOVS r0,#0xc0
0001d8 f7fff7ff B.W LCD_DisplayString
;;;511 }
;;;512
ENDP
AppDispScr_TaskNames PROC
;;;514 static void AppDispScr_TaskNames (void)
;;;515 {
0001dc e92de92d PUSH {r4-r8,lr}
;;;516 CPU_INT08U idx;
;;;517 OS_TCB *ptcb;
;;;518 CPU_CHAR *line;
;;;519 CPU_INT08U value;
;;;520
;;;521
;;;522 ptcb = &OSTCBTbl[0];
0001e0 4dde LDR r5,|L1.1372|
;;;523 idx = 0;
0001e2 2400 MOVS r4,#0
;;;524
;;;525 Str_Copy(AppLCDLine0, " Micrium uC/OS-II ");
0001e4 a196 ADR r1,|L1.1088|
0001e6 489c LDR r0,|L1.1112|
0001e8 f7fff7ff BL Str_Copy
;;;526 Str_Copy(AppLCDLine1, "ST STM32 (Cortex-M3)");
0001ec a19b ADR r1,|L1.1116|
0001ee 48a1 LDR r0,|L1.1140|
0001f0 f7fff7ff BL Str_Copy
;;;527
;;;528 Str_Copy(AppLCDLine2, " Prio Taskname ");
0001f4 a1da ADR r1,|L1.1376|
0001f6 48a6 LDR r0,|L1.1168|
0001f8 f7fff7ff BL Str_Copy
;;;529
;;;530 while (ptcb != NULL) {
0001fc 2620 MOVS r6,#0x20
0001fe 270a MOVS r7,#0xa
|L1.512|
;;;531
;;;532 value = ptcb->OSTCBPrio;
000200 f895f895 LDRB r1,[r5,#0x2e]
;;;533
;;;534 switch (idx) {
000204 2c07 CMP r4,#7
000206 d213 BCS |L1.560|
000208 e8dfe8df TBB [pc,r4]
00020c 0406080a DCB 0x04,0x06,0x08,0x0a
000210 0c0e1000 DCB 0x0c,0x0e,0x10,0x00
;;;535 case 0:
;;;536 line = AppLCDLine3;
000214 48a5 LDR r0,|L1.1196|
;;;537 break;
000216 e00c B |L1.562|
;;;538
;;;539 case 1:
;;;540 line = AppLCDLine4;
000218 48ab LDR r0,|L1.1224|
;;;541 break;
00021a e00a B |L1.562|
;;;542
;;;543 case 2:
;;;544 line = AppLCDLine5;
00021c 48b2 LDR r0,|L1.1256|
;;;545 break;
00021e e008 B |L1.562|
;;;546
;;;547 case 3:
;;;548 line = AppLCDLine6;
000220 48b9 LDR r0,|L1.1288|
;;;549 break;
000222 e006 B |L1.562|
;;;550
;;;551 case 4:
;;;552 line = AppLCDLine7;
000224 48c0 LDR r0,|L1.1320|
;;;553 break;
000226 e004 B |L1.562|
;;;554
;;;555 case 5:
;;;556 line = AppLCDLine8;
000228 48c8 LDR r0,|L1.1356|
;;;557 break;
00022a e002 B |L1.562|
;;;558
;;;559 case 6:
;;;560 line = AppLCDLine9;
00022c 48ca LDR r0,|L1.1368|
;;;561 break;
00022e e000 B |L1.562|
|L1.560|
;;;562
;;;563 default:
;;;564 line = (CPU_CHAR *)0;
000230 2000 MOVS r0,#0
|L1.562|
;;;565 break;
;;;566 }
;;;567
;;;568 if (line == (CPU_CHAR *)0) {
000232 b1b8 CBZ r0,|L1.612|
;;;569 break;
;;;570 }
;;;571
;;;572 line[0] = ' ';
000234 7006 STRB r6,[r0,#0]
;;;573 line[1] = ' ';
000236 7046 STRB r6,[r0,#1]
;;;574 line[2] = ' ';
000238 7086 STRB r6,[r0,#2]
;;;575 line[3] = value / 10 + '0';
00023a fbb1fbb1 UDIV r2,r1,r7
00023e f102f102 ADD r3,r2,#0x30
000242 70c3 STRB r3,[r0,#3]
;;;576 line[4] = value % 10 + '0';
000244 fb07fb07 MLS r1,r7,r2,r1
000248 3130 ADDS r1,r1,#0x30
00024a 7101 STRB r1,[r0,#4]
;;;577 line[5] = ' ';
00024c 7146 STRB r6,[r0,#5]
;;;578 Str_Copy_N(line + 6, ptcb->OSTCBTaskName, 14);
00024e 220e MOVS r2,#0xe
000250 f105f105 ADD r1,r5,#0x48
000254 1d80 ADDS r0,r0,#6
000256 f7fff7ff BL Str_Copy_N
;;;579
;;;580 ptcb = ptcb->OSTCBPrev;
00025a 69ad LDR r5,[r5,#0x18]
00025c 1c60 ADDS r0,r4,#1
;;;581 idx++;
00025e b2c4 UXTB r4,r0
000260 2d00 CMP r5,#0
000262 d1cd BNE |L1.512|
|L1.612|
;;;582 }
;;;583
;;;584 if (idx < 6) {
000264 2c06 CMP r4,#6
000266 d203 BCS |L1.624|
;;;585 Str_Copy(AppLCDLine9, " ");
000268 a183 ADR r1,|L1.1144|
00026a 48bb LDR r0,|L1.1368|
00026c f7fff7ff BL Str_Copy
|L1.624|
;;;586 }
;;;587
;;;588 if (idx < 5) {
000270 2c05 CMP r4,#5
000272 d203 BCS |L1.636|
;;;589 Str_Copy(AppLCDLine8, " ");
000274 a180 ADR r1,|L1.1144|
000276 48b5 LDR r0,|L1.1356|
000278 f7fff7ff BL Str_Copy
|L1.636|
;;;590 }
;;;591
;;;592 if (idx < 4) {
00027c 2c04 CMP r4,#4
00027e d203 BCS |L1.648|
;;;593 Str_Copy(AppLCDLine7, " ");
000280 a17d ADR r1,|L1.1144|
000282 48a9 LDR r0,|L1.1320|
000284 f7fff7ff BL Str_Copy
|L1.648|
;;;594 }
;;;595
;;;596 if (idx < 3) {
000288 2c03 CMP r4,#3
00028a d203 BCS |L1.660|
;;;597 Str_Copy(AppLCDLine6, " ");
00028c a17a ADR r1,|L1.1144|
00028e 489e LDR r0,|L1.1288|
000290 f7fff7ff BL Str_Copy
|L1.660|
;;;598 }
;;;599
;;;600 LCD_SetTextColor(COLOR_BLUE);
000294 201f MOVS r0,#0x1f
000296 f7fff7ff BL LCD_SetTextColor
;;;601 LCD_DisplayString(APP_LINE_0, AppLCDLine0);
00029a 496f LDR r1,|L1.1112|
00029c 2000 MOVS r0,#0
00029e f7fff7ff BL LCD_DisplayString
;;;602 LCD_DisplayString(APP_LINE_1, AppLCDLine1);
0002a2 4974 LDR r1,|L1.1140|
0002a4 2018 MOVS r0,#0x18
0002a6 f7fff7ff BL LCD_DisplayString
;;;603 LCD_SetTextColor(COLOR_RED);
0002aa f44ff44f MOV r0,#0xf800
0002ae f7fff7ff BL LCD_SetTextColor
;;;604 LCD_DisplayString(APP_LINE_2, AppLCDLine2);
0002b2 4977 LDR r1,|L1.1168|
0002b4 2030 MOVS r0,#0x30
0002b6 f7fff7ff BL LCD_DisplayString
;;;605 LCD_SetTextColor(COLOR_BLACK);
0002ba 2000 MOVS r0,#0
0002bc f7fff7ff BL LCD_SetTextColor
;;;606 LCD_DisplayString(APP_LINE_3, AppLCDLine3);
0002c0 497a LDR r1,|L1.1196|
0002c2 2048 MOVS r0,#0x48
0002c4 f7fff7ff BL LCD_DisplayString
;;;607 LCD_DisplayString(APP_LINE_4, AppLCDLine4);
0002c8 497f LDR r1,|L1.1224|
0002ca 2060 MOVS r0,#0x60
0002cc f7fff7ff BL LCD_DisplayString
;;;608 LCD_DisplayString(APP_LINE_5, AppLCDLine5);
0002d0 4985 LDR r1,|L1.1256|
0002d2 2078 MOVS r0,#0x78
0002d4 f7fff7ff BL LCD_DisplayString
;;;609 LCD_DisplayString(APP_LINE_6, AppLCDLine6);
0002d8 498b LDR r1,|L1.1288|
0002da 2090 MOVS r0,#0x90
0002dc f7fff7ff BL LCD_DisplayString
;;;610 LCD_DisplayString(APP_LINE_7, AppLCDLine7);
0002e0 4991 LDR r1,|L1.1320|
0002e2 20a8 MOVS r0,#0xa8
0002e4 f7fff7ff BL LCD_DisplayString
;;;611 LCD_DisplayString(APP_LINE_8, AppLCDLine8);
0002e8 4998 LDR r1,|L1.1356|
0002ea 20c0 MOVS r0,#0xc0
0002ec f7fff7ff BL LCD_DisplayString
;;;612 LCD_DisplayString(APP_LINE_9, AppLCDLine9);
0002f0 e8bde8bd POP {r4-r8,lr}
0002f4 4998 LDR r1,|L1.1368|
0002f6 20d8 MOVS r0,#0xd8
0002f8 f7fff7ff B.W LCD_DisplayString
;;;613 }
;;;614
ENDP
AppTaskUserIF PROC
;;;362 static void AppTaskUserIF (void *p_arg)
;;;363 {
0002fc b5f8 PUSH {r3-r7,lr}
;;;364 CPU_INT08U *msg;
;;;365 CPU_INT08U err;
;;;366 CPU_INT32U nstate;
;;;367 CPU_INT32U pstate;
;;;368
;;;369
;;;370 (void)p_arg;
;;;371
;;;372
;;;373 AppDispScr_SignOn();
0002fe f7fff7ff BL AppDispScr_SignOn
;;;374 OSTimeDlyHMSM(0, 0, 1, 0);
000302 2300 MOVS r3,#0
000304 2201 MOVS r2,#1
000306 4619 MOV r1,r3
000308 4618 MOV r0,r3
00030a f7fff7ff BL OSTimeDlyHMSM
;;;375 nstate = 1;
00030e 2401 MOVS r4,#1
;;;376 pstate = 1;
000310 2501 MOVS r5,#1
;;;377
;;;378
;;;379 while (DEF_TRUE) {
000312 4e4a LDR r6,|L1.1084|
|L1.788|
;;;380 msg = (CPU_INT08U *)(OSMboxPend(AppUserIFMbox, OS_TICKS_PER_SEC / 10, &err));
000314 466a MOV r2,sp
000316 210a MOVS r1,#0xa
000318 6830 LDR r0,[r6,#0] ; AppUserIFMbox
00031a f7fff7ff BL OSMboxPend
;;;381 if (err == OS_NO_ERR) {
00031e f89df89d LDRB r1,[sp,#0]
000322 b901 CBNZ r1,|L1.806|
;;;382 nstate = (CPU_INT32U)msg;
000324 4604 MOV r4,r0
|L1.806|
;;;383 }
;;;384
;;;385 if (nstate != pstate) {
000326 42ac CMP r4,r5
000328 d002 BEQ |L1.816|
;;;386 LCD_Clear();
00032a f7fff7ff BL LCD_Clear
;;;387 pstate = nstate;
00032e 4625 MOV r5,r4
|L1.816|
;;;388 }
;;;389
;;;390 switch (nstate) {
000330 2c02 CMP r4,#2
000332 d102 BNE |L1.826|
;;;391 case 2:
;;;392 AppDispScr_TaskNames();
000334 f7fff7ff BL AppDispScr_TaskNames
;;;393 break;
000338 e7ec B |L1.788|
|L1.826|
;;;394
;;;395 case 1:
;;;396 default:
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -