📄 app.txt
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 919] for uVision
; commandline ArmCC [--debug -c --asm --interleave -o.\output\app.o --depend=.\output\app.d --device=DARMSTM --apcs=interwork -O1 -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 -IC:\Keil\ARM\INC\ST\STM32F10x --omf_browse=.\output\app.crf app.c]
THUMB
AREA ||.text||, CODE, READONLY, ALIGN=2
App_DispScr_SignOn PROC
;;;374 static void App_DispScr_SignOn (void)
;;;375 {
000000 b570 PUSH {r4-r6,lr}
;;;376
;;;377
;;;378 printf("\r\n Micrium uC/OS-II \r\n");
000002 a0a0 ADR r0,|L1.644|
000004 f7fff7ff BL __1printf
;;;379 printf(" ST STM32 (Cortex-M3)\r\n\r\n");
000008 a0a5 ADR r0,|L1.672|
00000a f7fff7ff BL __1printf
;;;380
;;;381 printf(" uC/OS-II: V%ld.%ld%ld\r\n",OSVersion()/100,(OSVersion() % 100) / 10,(OSVersion() % 10));
00000e f7fff7ff BL OSVersion
000012 240a MOVS r4,#0xa
000014 fbb0fbb0 UDIV r1,r0,r4
000018 fb04fb04 MLS r6,r4,r1,r0
00001c f7fff7ff BL OSVersion
000020 2564 MOVS r5,#0x64
000022 fbb0fbb0 UDIV r1,r0,r5
000026 fb05fb05 MLS r0,r5,r1,r0
00002a fbb0fbb0 UDIV r4,r0,r4
00002e f7fff7ff BL OSVersion
000032 fbb0fbb0 UDIV r1,r0,r5
000036 4633 MOV r3,r6
000038 4622 MOV r2,r4
00003a a0a0 ADR r0,|L1.700|
00003c f7fff7ff BL __1printf
;;;382 printf(" TickRate: %ld \r\n",OS_TICKS_PER_SEC);
000040 f44ff44f MOV r1,#0x3e8
000044 a0a4 ADR r0,|L1.728|
000046 f7fff7ff BL __1printf
;;;383 printf(" CPU Usage: %ld% \r\n",OSCPUUsage);
00004a 48a8 LDR r0,|L1.748|
00004c 7801 LDRB r1,[r0,#0] ; OSCPUUsage
00004e a0a8 ADR r0,|L1.752|
000050 f7fff7ff BL __1printf
;;;384 printf(" CPU Speed:%ld MHz \r\n",BSP_CPU_ClkFreq() / 1000000L);
000054 f7fff7ff BL BSP_CPU_ClkFreq
000058 49ab LDR r1,|L1.776|
00005a fbb0fbb0 UDIV r1,r0,r1
00005e a0ab ADR r0,|L1.780|
000060 f7fff7ff BL __1printf
;;;385 printf(" #Ticks: %ld \r\n",OSTime);
000064 48af LDR r0,|L1.804|
000066 6801 LDR r1,[r0,#0] ; OSTime
000068 a0af ADR r0,|L1.808|
00006a f7fff7ff BL __1printf
;;;386 printf(" #CtxSw: %ld \r\n\r\n",OSCtxSwCtr);
00006e 48b3 LDR r0,|L1.828|
000070 6801 LDR r1,[r0,#0] ; OSCtxSwCtr
000072 e8bde8bd POP {r4-r6,lr}
000076 a0b2 ADR r0,|L1.832|
000078 f7fff7ff B.W __1printf
;;;387
;;;388 }
;;;389 /*
ENDP
App_TaskKbd PROC
;;;321 static void App_TaskKbd (void *p_arg)
;;;322 {
00007c b570 PUSH {r4-r6,lr}
|L1.126|
;;;323 INT8U b1,b2;
;;;324 //INT8U err;
;;;325 (void)p_arg;
;;;326
;;;327 while (DEF_TRUE) {
;;;328 //OSSemPend(InfoSem,0,&err);
;;;329 b1 = BSP_PB_GetStatus(BSP_PB_ID_KEY1);
00007e 2001 MOVS r0,#1
000080 f7fff7ff BL BSP_PB_GetStatus
000084 4605 MOV r5,r0
;;;330 b2 = BSP_PB_GetStatus(BSP_PB_ID_KEY2);
000086 2002 MOVS r0,#2
000088 f7fff7ff BL BSP_PB_GetStatus
00008c 4604 MOV r4,r0
;;;331 if (b1 == 1) {
00008e 2d01 CMP r5,#1
000090 d101 BNE |L1.150|
;;;332 App_DispScr_SignOn();
000092 f7fff7ff BL App_DispScr_SignOn
|L1.150|
;;;333 }
;;;334 if (b2 == 2) {
000096 2c02 CMP r4,#2
000098 d101 BNE |L1.158|
;;;335 App_DispScr_SignOn();//OSMboxPost(Disp_Box,(void*)0);
00009a f7fff7ff BL App_DispScr_SignOn
|L1.158|
;;;336 }
;;;337 OSTimeDlyHMSM(0, 0, 0, 20);
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 e7e8 B |L1.126|
;;;338 }
;;;339 }
;;;340
ENDP
App_TaskUart PROC
;;;196 ptr1 = ptr;
;;;197 while(1);
0000ac e7fe B App_TaskUart
;;;198 {
;;;199 do{
;;;200 *ptr = USART_ReceiveData(USART2);
;;;201 ptr++;
;;;202 lenth ++ ;
;;;203 }while(USART_GetFlagStatus(USART2,USART_FLAG_RXNE) == 1);
;;;204 flag++;
;;;205 if(flag == 4)
;;;206 {
;;;207 for(i = 0;i<lenth;i++)
;;;208 {
;;;209 ptr = ptr1;
;;;210 USART_SendData(USART2,*ptr1);
;;;211 while(USART_GetFlagStatus(USART2, USART_FLAG_TXE) != RESET);
;;;212 }
;;;213 ptr1 = ptr;
;;;214 flag = 0;
;;;215 lenth = 0;
;;;216 }
;;;217
;;;218 }
;;;219
;;;220 }
;;;221
ENDP
App_TaskLED PROC
;;;292 static void App_TaskLED (void *p_arg)
;;;293 {
0000ae b510 PUSH {r4,lr}
0000b0 f44ff44f MOV r4,#0x320
|L1.180|
;;;294 while(1)
;;;295 {
;;;296 OSTimeDlyHMSM(0, 0, 0, 800);
0000b4 2200 MOVS r2,#0
0000b6 4623 MOV r3,r4
0000b8 4611 MOV r1,r2
0000ba 4610 MOV r0,r2
0000bc f7fff7ff BL OSTimeDlyHMSM
;;;297 BSP_LED_On(1);
0000c0 2001 MOVS r0,#1
0000c2 f7fff7ff BL BSP_LED_On
;;;298 OSTimeDlyHMSM(0, 0, 0, 800);
0000c6 2200 MOVS r2,#0
0000c8 4623 MOV r3,r4
0000ca 4611 MOV r1,r2
0000cc 4610 MOV r0,r2
0000ce f7fff7ff BL OSTimeDlyHMSM
;;;299 BSP_LED_Off(1);
0000d2 2001 MOVS r0,#1
0000d4 f7fff7ff BL BSP_LED_Off
0000d8 e7ec B |L1.180|
;;;300 //USART_SendData(USART2, 'O');
;;;301 // while(USART_GetFlagStatus(USART2, USART_FLAG_TXE) == RESET);
;;;302 }
;;;303 }
;;;304
ENDP
App_TaskCreate PROC
;;;240 static void App_TaskCreate (void)
;;;241 {
0000da b508 PUSH {r3,lr}
;;;242 CPU_INT08U os_err;
;;;243
;;;244 os_err = OSTaskCreate((void (*)(void *)) App_TaskLED,
0000dc 2306 MOVS r3,#6
0000de 4a9d LDR r2,|L1.852|
0000e0 2100 MOVS r1,#0
0000e2 f2aff2af ADR r0,App_TaskLED + 1
0000e6 f7fff7ff BL OSTaskCreate
0000ea 9000 STR r0,[sp,#0]
;;;245 (void * ) 0,
;;;246 (OS_STK * )&App_TaskLEDStk[APP_TASK_LED_STK_SIZE - 1],
;;;247 (INT8U ) APP_TASK_LED_PRIO
;;;248 );
;;;249 printf("Creat App_TaskLED!\r\n");
0000ec a09a ADR r0,|L1.856|
0000ee f7fff7ff BL __1printf
;;;250 #if (OS_TASK_NAME_SIZE >= 9)
;;;251 OSTaskNameSet(APP_TASK_LED_PRIO, "LED", &os_err);
0000f2 466a MOV r2,sp
0000f4 a19e ADR r1,|L1.880|
0000f6 2006 MOVS r0,#6
0000f8 f7fff7ff BL OSTaskNameSet
;;;252 #endif
;;;253
;;;254 os_err = OSTaskCreate((void (*)(void *)) App_TaskUart,
0000fc 2307 MOVS r3,#7
0000fe 4a9d LDR r2,|L1.884|
000100 2100 MOVS r1,#0
000102 f2aff2af ADR r0,App_TaskUart + 1
000106 f7fff7ff BL OSTaskCreate
00010a 9000 STR r0,[sp,#0]
;;;255 (void * ) 0,
;;;256 (OS_STK * )&App_TaskUartStk[APP_TASK_UART_STK_SIZE],
;;;257 (INT8U ) APP_TASK_UART_PRIO
;;;258 );
;;;259 printf("Creat App_TaskUart!\r\n");
00010c a09a ADR r0,|L1.888|
00010e f7fff7ff BL __1printf
;;;260 #if (OS_TASK_NAME_SIZE >= 9)
;;;261 OSTaskNameSet(APP_TASK_UART_PRIO, "USART", &os_err);
000112 466a MOV r2,sp
000114 a19e ADR r1,|L1.912|
000116 2007 MOVS r0,#7
000118 f7fff7ff BL OSTaskNameSet
;;;262 #endif
;;;263
;;;264
;;;265 os_err = OSTaskCreate((void (*)(void *)) App_TaskKbd,
00011c 2304 MOVS r3,#4
00011e 4a9e LDR r2,|L1.920|
000120 2100 MOVS r1,#0
000122 f2aff2af ADR r0,App_TaskKbd + 1
000126 f7fff7ff BL OSTaskCreate
00012a 9000 STR r0,[sp,#0]
;;;266 (void * ) 0,
;;;267 (OS_STK * )&App_TaskKbdStk[APP_TASK_KBD_STK_SIZE - 1],
;;;268 (INT8U ) APP_TASK_KBD_PRIO
;;;269 );
;;;270 printf("Creat App_TaskKbd!\r\n");
00012c a09b ADR r0,|L1.924|
00012e f7fff7ff BL __1printf
;;;271
;;;272 #if (OS_TASK_NAME_SIZE >= 9)
;;;273 OSTaskNameSet(APP_TASK_KBD_PRIO, "KeyBoard", &os_err);
000132 466a MOV r2,sp
000134 a19f ADR r1,|L1.948|
000136 2004 MOVS r0,#4
000138 f7fff7ff BL OSTaskNameSet
;;;274 #endif
;;;275
;;;276 }
00013c bd08 POP {r3,pc}
;;;277 /*
ENDP
App_TaskStart PROC
;;;143 static void App_TaskStart (void *p_arg)
;;;144 {
00013e e92de92d PUSH {r4-r8,lr}
;;;145 CPU_INT32U i;
;;;146 CPU_INT32U j;
;;;147 CPU_INT32U dly;
;;;148
;;;149
;;;150 (void)p_arg;
;;;151
;;;152 OS_CPU_SysTickInit(); /* Initialize the SysTick. */
000142 f7fff7ff BL OS_CPU_SysTickInit
;;;153
;;;154 #if (OS_TASK_STAT_EN > 0)
;;;155 OSStatInit(); /* Determine CPU capacity. */
000146 f7fff7ff BL OSStatInit
;;;156 #endif
;;;157
;;;158 App_TaskCreate();
00014a f7fff7ff BL App_TaskCreate
;;;159
;;;160 while (DEF_TRUE) { /* Task body, always written as an infinite loop. */
00014e 2702 MOVS r7,#2
|L1.336|
;;;161 for (j = 0; j < 4; j++) {
000150 2500 MOVS r5,#0
|L1.338|
;;;162 for (i = 1; i <= 4; i++) {
000152 2401 MOVS r4,#1
|L1.340|
;;;163 BSP_LED_On(i);
000154 b2e0 UXTB r0,r4
000156 4606 MOV r6,r0
000158 f7fff7ff BL BSP_LED_On
;;;164 dly = (BSP_ADC_GetStatus(1) >> 4) + 2;
00015c 2001 MOVS r0,#1
00015e f7fff7ff BL BSP_ADC_GetStatus
000162 eb07eb07 ADD r3,r7,r0,LSR #4
;;;165 OSTimeDlyHMSM(0, 0, 0, dly);
000166 2200 MOVS r2,#0
000168 4611 MOV r1,r2
00016a 4610 MOV r0,r2
00016c f7fff7ff BL OSTimeDlyHMSM
;;;166 BSP_LED_Off(i);
000170 4630 MOV r0,r6
000172 f7fff7ff BL BSP_LED_Off
;;;167 dly = (BSP_ADC_GetStatus(1) >> 4) + 2;
000176 2001 MOVS r0,#1
000178 f7fff7ff BL BSP_ADC_GetStatus
00017c eb07eb07 ADD r3,r7,r0,LSR #4
;;;168 OSTimeDlyHMSM(0, 0, 0, dly);
000180 2200 MOVS r2,#0
000182 4611 MOV r1,r2
000184 4610 MOV r0,r2
000186 f7fff7ff BL OSTimeDlyHMSM
00018a 1c64 ADDS r4,r4,#1 ;162
00018c 2c04 CMP r4,#4 ;162
00018e d9e1 BLS |L1.340|
;;;169 }
;;;170
;;;171 for (i = 3; i >= 2; i--) {
000190 2403 MOVS r4,#3
|L1.402|
;;;172 BSP_LED_On(i);
000192 b2e0 UXTB r0,r4
000194 4606 MOV r6,r0
000196 f7fff7ff BL BSP_LED_On
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -