📄 os_view.lst
字号:
\ 00000008 ........ _BLF OS_CPU_SR_Save,??OS_CPU_SR_Save??rA
\ 0000000C 0040B0E1 MOVS R4,R0
346 #if OS_VIEW_TMR_32_BITS > 0
347 cnts32 = OSView_TmrRd(); /* Read current counts of the free running counter */
\ 00000010 ........ _BLF OSView_TmrRd,??OSView_TmrRd??rA
348 cnts32_delta = cnts32 - OSView_TmrCntsPrev;
\ 00000014 ........ LDR R1,??DataTable16 ;; OSView_TmrCntsPrev
\ 00000018 001091E5 LDR R1,[R1, #+0]
\ 0000001C 011050E0 SUBS R1,R0,R1
349 OSView_TmrCntsPrev = cnts32; /* Save current counts for next time */
\ 00000020 ........ LDR R2,??DataTable16 ;; OSView_TmrCntsPrev
\ 00000024 000082E5 STR R0,[R2, #+0]
350 OSView_CyclesCtr += cnts32_delta;
\ 00000028 ........ LDR R0,??DataTable19 ;; OSView_CyclesCtr
\ 0000002C ........ LDR R2,??DataTable19 ;; OSView_CyclesCtr
\ 00000030 002092E5 LDR R2,[R2, #+0]
\ 00000034 021091E0 ADDS R1,R1,R2
\ 00000038 001080E5 STR R1,[R0, #+0]
351 #else
352 cnts16 = (INT16U)OSView_TmrRd(); /* Read current counts of the free running counter */
353 cnts16_delta = cnts16 - OSView_TmrCntsPrev;
354 OSView_TmrCntsPrev = cnts16; /* Save current counts for next time */
355 OSView_CyclesCtr += (INT32U)cnts16_delta;
356 #endif
357 cycles = OSView_CyclesCtr;
\ 0000003C ........ LDR R0,??DataTable19 ;; OSView_CyclesCtr
\ 00000040 005090E5 LDR R5,[R0, #+0]
358 OS_EXIT_CRITICAL();
\ 00000044 0400B0E1 MOVS R0,R4
\ 00000048 ........ _BLF OS_CPU_SR_Restore,??OS_CPU_SR_Restore??rA
359 return (cycles);
\ 0000004C 0500B0E1 MOVS R0,R5
\ 00000050 3080BDE8 POP {R4,R5,PC} ;; return
360 }
361
362 /*$PAGE*/
363 /*
364 *********************************************************************************************************
365 * uC/OS-View COMMAND HANDLER
366 * (Parse Packet)
367 *********************************************************************************************************
368 */
369
\ In segment CODE, align 4, keep-with-next
370 static INT8U OSView_CmdParsePkt (void)
371 {
\ OSView_CmdParsePkt:
\ 00000000 00402DE9 PUSH {LR}
372 INT8U cmd0;
373
374
375 cmd0 = OSView_RxGetINT8U(); /* First byte contains command */
\ 00000004 ........ BL OSView_RxGetINT8U
376 if (cmd0 == 'C') {
\ 00000008 430050E3 CMP R0,#+67
\ 0000000C 0500001A BNE ??OSView_CmdParsePkt_0
377 OSView_CmdSendToApp();
\ 00000010 ........ BL OSView_CmdSendToApp
378 OSView_TxBufCnt = 0;
\ 00000014 ........ LDR R0,??DataTable95 ;; OSView_TxBufCnt
\ 00000018 0010A0E3 MOV R1,#+0
\ 0000001C B010C0E1 STRH R1,[R0, #+0]
379 return (0);
\ 00000020 0000A0E3 MOV R0,#+0
\ 00000024 400000EA B ??OSView_CmdParsePkt_1
380 }
381 if (OSView_TxBufCnt > 0) { /* Do cmds only if Tx of the last one is done */
\ ??OSView_CmdParsePkt_0:
\ 00000028 ........ LDR R1,??DataTable95 ;; OSView_TxBufCnt
\ 0000002C B010D1E1 LDRH R1,[R1, #+0]
\ 00000030 010051E3 CMP R1,#+1
\ 00000034 0100003A BCC ??OSView_CmdParsePkt_2
382 return (0);
\ 00000038 0000A0E3 MOV R0,#+0
\ 0000003C 3A0000EA B ??OSView_CmdParsePkt_1
383 }
384 switch (cmd0) {
\ ??OSView_CmdParsePkt_2:
\ 00000040 0010B0E1 MOVS R1,R0
\ 00000044 000051E3 CMP R1,#+0
\ 00000048 2900000A BEQ ??OSView_CmdParsePkt_3
\ 0000004C 310051E3 CMP R1,#+49
\ 00000050 2A00000A BEQ ??OSView_CmdParsePkt_4
\ 00000054 320051E3 CMP R1,#+50
\ 00000058 2B00000A BEQ ??OSView_CmdParsePkt_5
\ 0000005C 340051E3 CMP R1,#+52
\ 00000060 2C00000A BEQ ??OSView_CmdParsePkt_6
\ 00000064 530051E3 CMP R1,#+83
\ 00000068 1500000A BEQ ??OSView_CmdParsePkt_7
\ 0000006C 540051E3 CMP R1,#+84
\ 00000070 1600000A BEQ ??OSView_CmdParsePkt_8
\ 00000074 620051E3 CMP R1,#+98
\ 00000078 1700000A BEQ ??OSView_CmdParsePkt_9
\ 0000007C 6C0051E3 CMP R1,#+108
\ 00000080 0C00000A BEQ ??OSView_CmdParsePkt_10
\ 00000084 730051E3 CMP R1,#+115
\ 00000088 0400000A BEQ ??OSView_CmdParsePkt_11
\ 0000008C 740051E3 CMP R1,#+116
\ 00000090 0500000A BEQ ??OSView_CmdParsePkt_12
\ 00000094 770051E3 CMP R1,#+119
\ 00000098 1200000A BEQ ??OSView_CmdParsePkt_13
\ 0000009C 1F0000EA B ??OSView_CmdParsePkt_14
385 case 's':
386 OSView_TxStoINT8U(cmd0);
\ ??OSView_CmdParsePkt_11:
\ 000000A0 ........ BL OSView_TxStoINT8U
387 OSView_CmdGetSysInfo();
\ 000000A4 ........ BL OSView_CmdGetSysInfo
\ 000000A8 1C0000EA B ??OSView_CmdParsePkt_14
388 break;
389
390 case 't':
391 OSView_TxStoINT8U(cmd0);
\ ??OSView_CmdParsePkt_12:
\ 000000AC ........ BL OSView_TxStoINT8U
392 OSView_CmdGetTaskInfo();
\ 000000B0 ........ BL OSView_CmdGetTaskInfo
\ 000000B4 190000EA B ??OSView_CmdParsePkt_14
393 break;
394
395 case 'l':
396 OSView_TxStoINT8U(cmd0);
\ ??OSView_CmdParsePkt_10:
\ 000000B8 ........ BL OSView_TxStoINT8U
397 OSView_CmdGetTaskList();
\ 000000BC ........ BL OSView_CmdGetTaskList
\ 000000C0 160000EA B ??OSView_CmdParsePkt_14
398 break;
399
400 case 'S':
401 OSView_TxStoINT8U(cmd0);
\ ??OSView_CmdParsePkt_7:
\ 000000C4 ........ BL OSView_TxStoINT8U
402 OSView_CmdTickStep();
\ 000000C8 ........ BL OSView_CmdTickStep
\ 000000CC 130000EA B ??OSView_CmdParsePkt_14
403 break;
404
405 case 'T':
406 OSView_TxStoINT8U(cmd0);
\ ??OSView_CmdParsePkt_8:
\ 000000D0 ........ BL OSView_TxStoINT8U
407 OSView_CmdTrace();
\ 000000D4 ........ BL OSView_CmdTrace
\ 000000D8 100000EA B ??OSView_CmdParsePkt_14
408 break;
409
410 case 'b':
411 OSView_TxStoINT8U(cmd0);
\ ??OSView_CmdParsePkt_9:
\ 000000DC ........ BL OSView_TxStoINT8U
412 OSView_CmdMemRdINT8U();
\ 000000E0 ........ BL OSView_CmdMemRdINT8U
\ 000000E4 0D0000EA B ??OSView_CmdParsePkt_14
413 break;
414
415 case 'w':
416 OSView_TxStoINT8U(cmd0);
\ ??OSView_CmdParsePkt_13:
\ 000000E8 ........ BL OSView_TxStoINT8U
417 OSView_CmdMemRdINT16U();
\ 000000EC ........ BL OSView_CmdMemRdINT16U
\ 000000F0 0A0000EA B ??OSView_CmdParsePkt_14
418 break;
419
420 case 0:
421 OSView_TxStoINT8U(cmd0);
\ ??OSView_CmdParsePkt_3:
\ 000000F4 ........ BL OSView_TxStoINT8U
422 OSView_CmdMemRdINT32U();
\ 000000F8 ........ BL OSView_CmdMemRdINT32U
\ 000000FC 070000EA B ??OSView_CmdParsePkt_14
423 break;
424
425 case '1':
426 OSView_TxStoINT8U(cmd0);
\ ??OSView_CmdParsePkt_4:
\ 00000100 ........ BL OSView_TxStoINT8U
427 OSView_CmdMemWrINT8U();
\ 00000104 ........ BL OSView_CmdMemWrINT8U
\ 00000108 040000EA B ??OSView_CmdParsePkt_14
428 break;
429
430 case '2':
431 OSView_TxStoINT8U(cmd0);
\ ??OSView_CmdParsePkt_5:
\ 0000010C ........ BL OSView_TxStoINT8U
432 OSView_CmdMemWrINT16U();
\ 00000110 ........ BL OSView_CmdMemWrINT16U
\ 00000114 010000EA B ??OSView_CmdParsePkt_14
433 break;
434
435 case '4':
436 OSView_TxStoINT8U(cmd0);
\ ??OSView_CmdParsePkt_6:
\ 00000118 ........ BL OSView_TxStoINT8U
437 OSView_CmdMemWrINT32U();
\ 0000011C ........ BL OSView_CmdMemWrINT32U
438 break;
439
440 default:
441 break;
442 }
443 return (OSView_TxBufCnt);
\ ??OSView_CmdParsePkt_14:
\ 00000120 ........ LDR R0,??DataTable95 ;; OSView_TxBufCnt
\ 00000124 B000D0E1 LDRH R0,[R0, #+0]
\ 00000128 FF0010E2 ANDS R0,R0,#0xFF ;; Zero extend
\ ??OSView_CmdParsePkt_1:
\ 0000012C 0080BDE8 POP {PC} ;; return
444 }
445
446 /*$PAGE*/
447 /*
448 *********************************************************************************************************
449 * uC/OS-View COMMAND HANDLER
450 * (Send to Application)
451 *
452 * Description: This routine transfers a character to the application.
453 *********************************************************************************************************
454 */
455
\ In segment CODE, align 4, keep-with-next
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -