📄 comtest.lst
字号:
\ 00000010 2A1C MOV R2,R5
\ 00000012 3068 LDR R0,[R6, #+0]
\ 00000014 ........ _BLF xSerialGetChar,xSerialGetChar??rT
237 }
\ ??vComRxTask_4:
\ 00000018 6946 MOV R1,SP
\ 0000001A 0020 MOV R0,#+0
\ 0000001C 0856 LDRSB R0,[R1, R0]
\ 0000001E 5828 CMP R0,#+0x58
\ 00000020 F6D1 BNE ??vComRxTask_3
238
239 /* Note that an error occurred which caused us to have to resync.
240 We use this to stop incrementing the loop counter so
241 sAreComTestTasksStillRunning() will return false - indicating an
242 error. */
243 xErrorOccurred++;
\ 00000022 641C ADD R4,R4,#+0x1
244
245 /* We have now resynced with the Tx task and can continue. */
246 xResyncRequired = pdFALSE;
\ 00000024 0020 MOV R0,#+0
\ 00000026 0190 STR R0,[SP, #+0x4]
247 }
\ ??vComRxTask_2:
\ 00000028 4127 MOV R7,#+0x41
\ ??vComRxTask_5:
\ 0000002A 2A1C MOV R2,R5
\ 0000002C 6946 MOV R1,SP
\ 0000002E 3068 LDR R0,[R6, #+0]
\ 00000030 ........ _BLF xSerialGetChar,xSerialGetChar??rT
\ 00000034 0028 CMP R0,#+0
\ 00000036 09D0 BEQ ??vComRxTask_6
\ 00000038 6946 MOV R1,SP
\ 0000003A 0020 MOV R0,#+0
\ 0000003C 0856 LDRSB R0,[R1, R0]
\ 0000003E B842 CMP R0,R7
\ 00000040 17D1 BNE ??vComRxTask_7
\ 00000042 .... LDR R0,??DataTable5 ;; ??uxBaseLED
\ 00000044 0068 LDR R0,[R0, #+0]
\ 00000046 401C ADD R0,R0,#+0x1
\ 00000048 ........ _BLF vParTestToggleLED,vParTestToggleLED??rT
\ ??vComRxTask_6:
\ 0000004C 7F1C ADD R7,R7,#+0x1
\ 0000004E 592F CMP R7,#+0x59
\ 00000050 EBDB BLT ??vComRxTask_5
\ ??vComRxTask_8:
\ 00000052 0021 MOV R1,#+0
\ 00000054 .... LDR R0,??DataTable5 ;; ??uxBaseLED
\ 00000056 0068 LDR R0,[R0, #+0]
\ 00000058 401C ADD R0,R0,#+0x1
\ 0000005A ........ _BLF vParTestSetLED,vParTestSetLED??rT
\ 0000005E 0198 LDR R0,[SP, #+0x4]
\ 00000060 0128 CMP R0,#+0x1
\ 00000062 D9D0 BEQ ??vComRxTask_4
248 else
249 {
250 if( xErrorOccurred < comTOTAL_PERMISSIBLE_ERRORS )
\ 00000064 022C CMP R4,#+0x2
\ 00000066 DFDA BGE ??vComRxTask_2
251 {
252 /* Increment the count of successful loops. As error
253 occurring (i.e. an unexpected character being received) will
254 prevent this counter being incremented for the rest of the
255 execution. Don't worry about mutual exclusion on this
256 variable - it doesn't really matter as we just want it
257 to change. */
258 uxRxLoops++;
\ 00000068 .... LDR R0,??DataTable7 ;; ??uxRxLoops
\ 0000006A 0168 LDR R1,[R0, #+0]
\ 0000006C 491C ADD R1,R1,#+0x1
\ 0000006E 0160 STR R1,[R0, #+0]
\ 00000070 DAE7 B ??vComRxTask_2
259 }
260 }
\ ??vComRxTask_7:
\ 00000072 0120 MOV R0,#+0x1
\ 00000074 0190 STR R0,[SP, #+0x4]
\ 00000076 ECE7 B ??vComRxTask_8
\ ??vComRxTask_1:
\ 00000078 FFFF0000 DC32 0xffff
261 }
262 } /*lint !e715 !e818 pvParameters is required for a task function even if it is not referenced. */
263 /*-----------------------------------------------------------*/
264
\ In segment CODE, align 4, keep-with-next
265 portBASE_TYPE xAreComTestTasksStillRunning( void )
266 {
267 portBASE_TYPE xReturn;
268
269 /* If the count of successful reception loops has not changed than at
270 some time an error occurred (i.e. a character was received out of sequence)
271 and we will return false. */
272 if( uxRxLoops == comINITIAL_RX_COUNT_VALUE )
\ xAreComTestTasksStillRunning:
\ 00000000 .... LDR R1,??DataTable7 ;; ??uxRxLoops
\ 00000002 0868 LDR R0,[R1, #+0]
\ 00000004 401E SUB R0,R0,#+0x1
\ 00000006 8041 SBC R0,R0
\ 00000008 C043 MVN R0,R0
\ 0000000A C00F LSR R0,R0,#+0x1F
273 {
274 xReturn = pdFALSE;
275 }
276 else
277 {
278 xReturn = pdTRUE;
279 }
280
281 /* Reset the count of successful Rx loops. When this function is called
282 again we expect this to have been incremented. */
283 uxRxLoops = comINITIAL_RX_COUNT_VALUE;
\ 0000000C 0022 MOV R2,#+0
\ 0000000E 0A60 STR R2,[R1, #+0]
284
285 return xReturn;
\ 00000010 7047 BX LR ;; return
286 }
\ In segment CODE, align 4, keep-with-next
\ ??DataTable3:
\ 00000000 ........ DC32 ??xPort
\ In segment CODE, align 4, keep-with-next
\ ??DataTable5:
\ 00000000 ........ DC32 ??uxBaseLED
\ In segment CODE, align 4, keep-with-next
\ ??DataTable7:
\ 00000000 ........ DC32 ??uxRxLoops
\ In segment DATA_C, align 4, align-sorted
\ `?<Constant "COMTx">`:
\ 00000000 434F4D547800 DC8 "COMTx"
\ 00000006 0000 DC8 0, 0
\ In segment DATA_C, align 4, align-sorted
\ `?<Constant "COMRx">`:
\ 00000000 434F4D527800 DC8 "COMRx"
\ 00000006 0000 DC8 0, 0
287
Maximum stack usage in bytes:
Function CSTACK
-------- ------
vAltStartComTestTasks 24
vComRxTask 28
vComTxTask 20
xAreComTestTasksStillRunning 0
Segment part sizes:
Function/Label Bytes
-------------- -----
xPort 4
uxBaseLED 4
uxRxLoops 4
vAltStartComTestTasks 80
vComTxTask 68
vComRxTask 124
xAreComTestTasksStillRunning 18
??DataTable3 4
??DataTable5 4
??DataTable7 4
?<Constant "COMTx"> 8
?<Constant "COMRx"> 8
Others 132
422 bytes in segment CODE
16 bytes in segment DATA_C
12 bytes in segment DATA_Z
12 bytes in segment INITTAB
302 bytes of CODE memory (+ 132 bytes shared)
16 bytes of CONST memory
12 bytes of DATA memory
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -