📄 phy.lst
字号:
55 phyState = PHY_STATE_TX_WAIT;//TX started, wait for it to end.
\ 000044 7402 MOV A,#0x2
\ 000046 90.... MOV DPTR,#phyState
\ 000049 F0 MOVX @DPTR,A
\ 00004A 02.... LJMP ??phyFSM_0
56 }
57 else
58 {
59 DEBUG_STRING(1,"PHY: TX did not start\n");
\ ??phyFSM_4:
\ 00004D 90.... MOV DPTR,#debug_level
\ 000050 E0 MOVX A,@DPTR
\ 000051 C3 CLR C
\ 000052 9401 SUBB A,#0x1
\ 000054 4007 JC ??phyFSM_5
\ 000056 ; Setup parameters for call to function conPrintROMString_func
\ 000056 7A.. MOV R2,#(??xxxxromstr & 0xff)
\ 000058 7B.. MOV R3,#((??xxxxromstr >> 8) & 0xff)
\ 00005A 12.... LCALL conPrintROMString_func
60 phyState = PHY_STATE_IDLE;
\ ??phyFSM_5:
\ 00005D 7400 MOV A,#0x0
\ 00005F 90.... MOV DPTR,#phyState
\ 000062 F0 MOVX @DPTR,A
\ 000063 8072 SJMP ??phyFSM_0
61 }
62 break;
63
64 default: break;
65 }//end switch cmd
66 break;
67
68 case PHY_STATE_TX_WAIT: //wait for TX out of radio to complete or timeout
69 if (phy_pib.flags.bits.txFinished)
\ ??phyFSM_2:
\ 000065 90.... MOV DPTR,#(phy_pib + 8)
\ 000068 E0 MOVX A,@DPTR
\ 000069 5401 ANL A,#0x1
\ 00006B A2E0 MOV C,0xE0 /* A */.0
\ 00006D 5014 JNC ??phyFSM_6
70 {
71 phyState = PHY_STATE_IDLE;
\ 00006F 7400 MOV A,#0x0
\ 000071 90.... MOV DPTR,#phyState
\ 000074 F0 MOVX @DPTR,A
72 phyReleaseTxLock();
\ 000075 90.... MOV DPTR,#(phy_pib + 8)
\ 000078 E0 MOVX A,@DPTR
\ 000079 54FD ANL A,#0xfd
\ 00007B F0 MOVX @DPTR,A
\ 00007C A3 INC DPTR
\ 00007D E0 MOVX A,@DPTR
\ 00007E 54FF ANL A,#0xff
\ 000080 F0 MOVX @DPTR,A
\ 000081 8054 SJMP ??phyFSM_0
73 }
74 else if (halMACTimerNowDelta(phy_pib.txStartTime) > MAX_TX_TRANSMIT_TIME)
\ ??phyFSM_6:
\ 000083 ; Setup parameters for call to function halGetMACTimer
\ 000083 12.... LCALL halGetMACTimer
\ 000086 8A.. MOV ?V0 + 0,R2
\ 000088 8B.. MOV ?V0 + 1,R3
\ 00008A 8C.. MOV ?V0 + 2,R4
\ 00008C 8D.. MOV ?V0 + 3,R5
\ 00008E 90.... MOV DPTR,#(phy_pib + 10)
\ 000091 78.. MOV R0,#?V0 + 0
\ 000093 12.... LCALL ?L_SUB_X
\ 000096 90.... MOV DPTR,#__Constant_fffff
\ 000099 78.. MOV R0,#?V0 + 0
\ 00009B 12.... LCALL ?L_AND_X
\ 00009E 90.... MOV DPTR,#__Constant_97
\ 0000A1 78.. MOV R0,#?V0 + 4
\ 0000A3 12.... LCALL ?L_MOV_X
\ 0000A6 78.. MOV R0,#?V0 + 4
\ 0000A8 79.. MOV R1,#?V0 + 0
\ 0000AA 12.... LCALL ?UL_GT
\ 0000AD 4028 JC ??phyFSM_0
75 {
76 DEBUG_STRING(1,"PHY: MAX_TX_TRANSMIT_TIME timeout\n");//should not happen, indicate an error to console
\ 0000AF 90.... MOV DPTR,#debug_level
\ 0000B2 E0 MOVX A,@DPTR
\ 0000B3 C3 CLR C
\ 0000B4 9401 SUBB A,#0x1
\ 0000B6 4007 JC ??phyFSM_7
\ 0000B8 ; Setup parameters for call to function conPrintROMString_func
\ 0000B8 7A.. MOV R2,#(??xxxxromstr_1 & 0xff)
\ 0000BA 7B.. MOV R3,#((??xxxxromstr_1 >> 8) & 0xff)
\ 0000BC 12.... LCALL conPrintROMString_func
77 a_phy_service.status = LRWPAN_STATUS_PHY_TX_FINISH_FAILED;
\ ??phyFSM_7:
\ 0000BF 7405 MOV A,#0x5
\ 0000C1 90.... MOV DPTR,#(a_phy_service + 3)
\ 0000C4 F0 MOVX @DPTR,A
78 phyState = PHY_STATE_IDLE;
\ 0000C5 7400 MOV A,#0x0
\ 0000C7 90.... MOV DPTR,#phyState
\ 0000CA F0 MOVX @DPTR,A
79 phyReleaseTxLock();
\ 0000CB 90.... MOV DPTR,#(phy_pib + 8)
\ 0000CE E0 MOVX A,@DPTR
\ 0000CF 54FD ANL A,#0xfd
\ 0000D1 F0 MOVX @DPTR,A
\ 0000D2 A3 INC DPTR
\ 0000D3 E0 MOVX A,@DPTR
\ 0000D4 54FF ANL A,#0xff
\ 0000D6 F0 MOVX @DPTR,A
80 }
81 break;
82 default: break;
83 }//end switch phyState
84 }
\ ??phyFSM_0:
\ 0000D7 7F08 MOV R7,#0x8
\ 0000D9 02.... LJMP ?FUNC_LEAVE_XDATA
\ In segment CODE_C, align 1
\ ??xxxxromstr:
\ 000000 5048593A DB "PHY: TX did not start\012"
\ 20545820
\ 64696420
\ 6E6F7420
\ 73746172
\ 740A00
\ In segment CODE_C, align 1
\ ??xxxxromstr_1:
\ 000000 5048593A DB "PHY: MAX_TX_TRANSMIT_TIME timeout\012"
\ 204D4158
\ 5F54585F
\ 5452414E
\ 534D4954
\ 5F54494D
\ 45207469
\ 6D656F75
\ 740A00
\ In segment XDATA_I, align 1, keep-with-next
\ __Constant_fffff:
\ 000000 DS 4
\ 000004 REQUIRE `?<Initializer for __Constant_fffff>`
\ 000004 REQUIRE __INIT_XDATA_I
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for __Constant_fffff>`:
\ 000000 FFFF0F00 DD 1048575
\ In segment XDATA_I, align 1, keep-with-next
\ __Constant_97:
\ 000000 DS 4
\ 000004 REQUIRE `?<Initializer for __Constant_97>`
\ 000004 REQUIRE __INIT_XDATA_I
\ In segment XDATA_ID, align 1, keep-with-next
\ `?<Initializer for __Constant_97>`:
\ 000000 97000000 DD 151
85
Maximum stack usage in bytes:
Function ISTACK PSTACK XSTACK
-------- ------ ------ ------
phyFSM 0 0 15
-> halSendPacket 0 0 30
-> conPrintROMString_func 0 0 30
-> halGetMACTimer 0 0 30
-> conPrintROMString_func 0 0 30
phyInit 2 0 0
phyRxCallback 0 0 0
phyTxStartCallBack 0 0 11
-> halGetMACTimer 0 0 22
Segment part sizes:
Function/Label Bytes
-------------- -----
phy_pib 17
a_phy_service 4
phyState 1
tmpTxBuff 127
phyInit 33
phyRxCallback 1
phyTxStartCallBack 29
phyFSM 220
xxxxromstr 23
xxxxromstr 35
__Constant_fffff 4
?<Initializer for __Constant_fffff>
4
__Constant_97 4
?<Initializer for __Constant_97>
4
58 bytes in segment CODE_C
283 bytes in segment NEAR_CODE
8 bytes in segment XDATA_I
8 bytes in segment XDATA_ID
149 bytes in segment XDATA_Z
341 bytes of CODE memory (+ 8 bytes shared)
149 bytes of XDATA memory (+ 8 bytes shared)
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -