📄 dynamic.lst
字号:
\ 00000034 2268 LDR R2,[R4, #+0]
\ 00000036 8A42 CMP R2,R1
\ 00000038 00D0 BEQ ??vQueueReceiveWhenSuspendedTask_4
353 {
354 xSuspendedQueueReceiveError = pdTRUE;
\ 0000003A 2E60 STR R6,[R5, #+0]
355 }
356
357 ++ulExpectedValue;
\ ??vQueueReceiveWhenSuspendedTask_4:
\ 0000003C 491C ADD R1,R1,#+0x1
\ 0000003E 0160 STR R1,[R0, #+0]
\ 00000040 E2E7 B ??vQueueReceiveWhenSuspendedTask_2
\ 00000042 C046 NOP
\ ??vQueueReceiveWhenSuspendedTask_1:
\ 00000044 ........ DC32 ??ulReceivedValue
\ 00000048 ........ DC32 ??ulExpectedValue
358 }
359 }
\ In segment DATA_Z, align 4, align-sorted
\ ??ulExpectedValue:
\ 00000000 DS8 4
\ In segment DATA_Z, align 4, align-sorted
\ ??ulReceivedValue:
\ 00000000 DS8 4
360 /*-----------------------------------------------------------*/
361
362 /* Called to check that all the created tasks are still running without error. */
\ In segment CODE, align 4, keep-with-next
363 portBASE_TYPE xAreDynamicPriorityTasksStillRunning( void )
364 {
\ xAreDynamicPriorityTasksStillRunning:
\ 00000000 10B4 PUSH {R4}
365 /* Keep a history of the check variables so we know if it has been incremented
366 since the last call. */
367 static unsigned portSHORT usLastTaskCheck = ( unsigned portSHORT ) 0;
368 portBASE_TYPE xReturn = pdTRUE;
\ 00000002 0120 MOV R0,#+0x1
369
370 /* Check the tasks are still running by ensuring the check variable
371 is still incrementing. */
372
373 if( usCheckVariable == usLastTaskCheck )
\ 00000004 .... LDR R1,??DataTable15 ;; ??usCheckVariable
\ 00000006 0988 LDRH R1,[R1, #+0]
\ 00000008 094B LDR R3,??xAreDynamicPriorityTasksStillRunning_0 ;; ??usLastTaskCheck
\ 0000000A 1C88 LDRH R4,[R3, #+0]
\ 0000000C A142 CMP R1,R4
\ 0000000E 00D1 BNE ??xAreDynamicPriorityTasksStillRunning_1
374 {
375 /* The check has not incremented so an error exists. */
376 xReturn = pdFALSE;
\ 00000010 0020 MOV R0,#+0
377 }
378
379 if( xSuspendedQueueSendError == pdTRUE )
\ ??xAreDynamicPriorityTasksStillRunning_1:
\ 00000012 .... LDR R4,??DataTable16 ;; ??xSuspendedQueueSendError
\ 00000014 2468 LDR R4,[R4, #+0]
\ 00000016 012C CMP R4,#+0x1
\ 00000018 00D1 BNE ??xAreDynamicPriorityTasksStillRunning_2
380 {
381 xReturn = pdFALSE;
\ 0000001A 0020 MOV R0,#+0
382 }
383
384 if( xSuspendedQueueReceiveError == pdTRUE )
\ ??xAreDynamicPriorityTasksStillRunning_2:
\ 0000001C .... LDR R4,??DataTable17 ;; ??xSuspendedQueueReceiveError
\ 0000001E 2468 LDR R4,[R4, #+0]
\ 00000020 012C CMP R4,#+0x1
\ 00000022 00D1 BNE ??xAreDynamicPriorityTasksStillRunning_3
385 {
386 xReturn = pdFALSE;
\ 00000024 0020 MOV R0,#+0
387 }
388
389 usLastTaskCheck = usCheckVariable;
\ ??xAreDynamicPriorityTasksStillRunning_3:
\ 00000026 1980 STRH R1,[R3, #+0]
390 return xReturn;
\ 00000028 10BC POP {R4}
\ 0000002A 00B0 ADD SP,#+0
\ 0000002C 7047 BX LR ;; return
\ 0000002E C046 NOP
\ ??xAreDynamicPriorityTasksStillRunning_0:
\ 00000030 ........ DC32 ??usLastTaskCheck
391 }
\ In segment DATA_Z, align 2, align-sorted
\ ??usLastTaskCheck:
\ 00000000 DS8 2
\ In segment CODE, align 4, keep-with-next
\ ??DataTable4:
\ 00000000 ........ DC32 ??ulCounter
\ In segment CODE, align 4, keep-with-next
\ ??DataTable9:
\ 00000000 ........ DC32 ??xContinousIncrementHandle
\ In segment CODE, align 4, keep-with-next
\ ??DataTable10:
\ 00000000 ........ DC32 ??xLimitedIncrementHandle
\ In segment CODE, align 4, keep-with-next
\ ??DataTable14:
\ 00000000 ........ DC32 xSuspendedTestQueue
\ In segment CODE, align 4, keep-with-next
\ ??DataTable15:
\ 00000000 ........ DC32 ??usCheckVariable
\ In segment CODE, align 4, keep-with-next
\ ??DataTable16:
\ 00000000 ........ DC32 ??xSuspendedQueueSendError
\ In segment CODE, align 4, keep-with-next
\ ??DataTable17:
\ 00000000 ........ DC32 ??xSuspendedQueueReceiveError
\ In segment DATA_C, align 4, align-sorted
\ `?<Constant "CNT_INC">`:
\ 00000000 434E545F494E DC8 "CNT_INC"
\ 4300
\ In segment DATA_C, align 4, align-sorted
\ `?<Constant "LIM_INC">`:
\ 00000000 4C494D5F494E DC8 "LIM_INC"
\ 4300
\ In segment DATA_C, align 4, align-sorted
\ `?<Constant "C_CTRL">`:
\ 00000000 435F4354524C DC8 "C_CTRL"
\ 00
\ 00000007 00 DC8 0
\ In segment DATA_C, align 4, align-sorted
\ `?<Constant "SUSP_TX">`:
\ 00000000 535553505F54 DC8 "SUSP_TX"
\ 5800
\ In segment DATA_C, align 4, align-sorted
\ `?<Constant "SUSP_RX">`:
\ 00000000 535553505F52 DC8 "SUSP_RX"
\ 5800
Maximum stack usage in bytes:
Function CSTACK
-------- ------
vContinuousIncrementTask 12
vCounterControlTask 24
vLimitedIncrementTask 8
vQueueReceiveWhenSuspendedTask 20
vQueueSendWhenSuspendedTask 12
vStartDynamicPriorityTasks 48
xAreDynamicPriorityTasksStillRunning
8
Segment part sizes:
Function/Label Bytes
-------------- -----
xContinousIncrementHandle 4
xLimitedIncrementHandle 4
ulCounter 4
usCheckVariable 2
xSuspendedQueueSendError 4
xSuspendedQueueReceiveError 4
xSuspendedTestQueue 4
vStartDynamicPriorityTasks 160
vLimitedIncrementTask 22
vContinuousIncrementTask 36
vCounterControlTask 134
vQueueSendWhenSuspendedTask 52
ulValueToSend 4
vQueueReceiveWhenSuspendedTask 76
ulExpectedValue 4
ulReceivedValue 4
xAreDynamicPriorityTasksStillRunning
52
usLastTaskCheck 2
??DataTable4 4
??DataTable9 4
??DataTable10 4
??DataTable14 4
??DataTable15 4
??DataTable16 4
??DataTable17 4
?<Constant "CNT_INC"> 8
?<Constant "LIM_INC"> 8
?<Constant "C_CTRL"> 8
?<Constant "SUSP_TX"> 8
?<Constant "SUSP_RX"> 8
Others 180
728 bytes in segment CODE
40 bytes in segment DATA_C
40 bytes in segment DATA_Z
12 bytes in segment INITTAB
560 bytes of CODE memory (+ 180 bytes shared)
40 bytes of CONST memory
40 bytes of DATA memory
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -