mtel.lst
来自「TI的基于ZIGBEE2006的协议栈」· LST 代码 · 共 1,272 行 · 第 1/5 页
LST
1,272 行
79 /* HAL */
80 #include "hal_uart.h"
81 #include "hal_led.h"
82 #include "hal_key.h"
83 #include "hal_mailbox.h"
84 #include "SPIMgr.h"
85
86 /*********************************************************************
87 * MACROS
88 */
89 #define MTEL_DEBUG_INFO( nParams, p1, p2, p3 ) DEBUG_INFO( COMPID_MTEL, nParams, p1, p2, p3 )
90
91 #if defined( EXTERNAL_RAM )
92 #define IS_MEM_VALID( Addr ) \
93 /* Check for valid internal RAM address. */\
94 ( ( (((Addr) >= MCU_RAM_BEG) && ((Addr) <= MCU_RAM_END)) || \
95 /* Check for valid external RAM address. */\
96 (((Addr) >= EXT_RAM_BEG) && ((Addr) <= EXT_RAM_END)) ) ? TRUE : FALSE )
97 #else
98 #define IS_MEM_VALID( Addr ) \
99 /* Check for valid internal RAM address. */\
100 ( ( ((Addr) >= MCU_RAM_BEG) && ((Addr) <= MCU_RAM_END) ) ? TRUE : FALSE )
101 #endif
102
103 /*********************************************************************
104 * CONSTANTS
105 */
106
107 #ifdef ZPORT
108 const char *MTVersionString[] = {"1.00 (F8W1.4.2-ZP)", "1.10 (F8W1.4.2-ZP)"};
109 #else
\ In segment XDATA_I, align 1, keep-with-next
110 const char *MTVersionString[] = {"1.00 (F8W1.4.2)", "1.10 (F8W1.4.2)"};
\ MTVersionString:
\ 000000 DS 4
\ 000004 REQUIRE `?<Initializer for MTVersionString>`
\ 000004 REQUIRE __INIT_XDATA_I
111 #endif
112
113 /*********************************************************************
114 * TYPEDEFS
115 */
116
117 /*********************************************************************
118 * GLOBAL VARIABLES
119 */
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
120 byte MT_TaskID;
\ MT_TaskID:
\ 000000 DS 1
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
121 byte debugThreshold;
\ debugThreshold:
\ 000000 DS 1
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
122 byte debugCompId;
\ debugCompId:
\ 000000 DS 1
123
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
124 UINT16 save_cmd;
\ save_cmd:
\ 000000 DS 2
125
126 //DEBUG
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
127 uint32 longvar;
\ longvar:
\ 000000 DS 4
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
128 uint16 *temp_glob_ptr1;
\ temp_glob_ptr1:
\ 000000 DS 2
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
129 uint16 *temp_glob_ptr2;
\ temp_glob_ptr2:
\ 000000 DS 2
130
131 /*********************************************************************
132 * EXTERNAL VARIABLES
133 */
134
135 /*********************************************************************
136 * EXTERNAL FUNCTIONS
137 */
138 extern unsigned int mac_sim_eventLoop( void );
139
140 #ifdef MACSIM
141 // Used to pass Zignet message
142 extern void MACSIM_TranslateMsg( byte *buf, byte bLen );
143 #endif
144
145 /*********************************************************************
146 * LOCAL VARIABLES
147 */
148
149 /*********************************************************************
150 * LOCAL FUNCTIONS
151 */
152 void MT_MsgQueueInit( void );
153 void MT_ProcessCommand( mtOSALSerialData_t *msg );
154 void MT_ProcessSerialCommand( byte *msg );
155 byte MT_RAMRead( UINT16 addr, byte *pData );
156 byte MT_RAMWrite( UINT16 addr , byte val );
157 void MT_ProcessDebugMsg( mtDebugMsg_t *pData );
158 void MT_ProcessDebugStr( mtDebugStr_t *pData );
159 byte MT_SetDebugThreshold( byte comp_id, byte threshold );
160 void MT_SendErrorNotification( byte err );
161 void MT_ResetMsgQueue( void );
162 byte MT_QueueMsg( byte *msg , byte len );
163 void MT_ProcessQueue( void );
164 void MT_SendSPIRespMsg( byte ret, uint16 cmd_id, byte msgLen, byte respLen);
165 void MT_Reset(byte typID);
166 byte MT_ProcessSetNV( byte *pData );
167 void MT_ProcessGetNV( byte *pData );
168 void MT_ProcessGetNvInfo( void );
169 void MT_ProcessGetDeviceInfo( void );
170 byte MTProcessAppMsg( byte *pData, byte len );
171 void MTProcessAppRspMsg( byte *pData, byte len );
172
173 #if (defined HAL_LED) && (HAL_LED == TRUE)
174 byte MTProcessLedControl( byte *pData );
175 #endif
176
177 #if defined ( MT_USER_TEST_FUNC )
178 void MT_ProcessAppUserCmd( byte *pData );
179 #endif
180
181 /*********************************************************************
182 * @fn MT_TaskInit
183 *
184 * @brief
185 *
186 * MonitorTest Task Initialization. This function is put into the
187 * task table.
188 *
189 * @param byte task_id - task ID of the MT Task
190 *
191 * @return void
192 *
193 *********************************************************************/
\ In segment BANKED_CODE, align 1, keep-with-next
194 void MT_TaskInit( byte task_id )
\ MT_TaskInit:
195 {
\ 000000 C082 PUSH DPL
\ 000002 C083 PUSH DPH
\ 000004 ; Saved register size: 2
\ 000004 ; Auto size: 0
196 MT_TaskID = task_id;
\ 000004 E9 MOV A,R1
\ 000005 90.... MOV DPTR,#MT_TaskID
\ 000008 F0 MOVX @DPTR,A
197
198 debugThreshold = 0;
\ 000009 E4 CLR A
\ 00000A 90.... MOV DPTR,#debugThreshold
\ 00000D F0 MOVX @DPTR,A
199 debugCompId = 0;
\ 00000E 90.... MOV DPTR,#debugCompId
\ 000011 F0 MOVX @DPTR,A
200
201 // Initialize the Serial port
202 SPIMgr_Init();
\ 000012 ; Setup parameters for call to function SPIMgr_Init
\ 000012 90.... MOV DPTR,#(SPIMgr_Init & 0xffff)
\ 000015 74.. MOV A,#((SPIMgr_Init >> 16) & 0xff)
\ 000017 12.... LCALL ?BCALL ; Banked call to: DPTR()
203
204 } /* MT_TaskInit() */
\ 00001A 02.... LJMP ?Subroutine16 & 0xFFFF
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine16:
\ 000000 D083 POP DPH
\ 000002 D082 POP DPL
\ 000004 02.... LJMP ?BRET
205
206 #ifdef ZTOOL_PORT
207 /*********************************************************************
208 * @fn MT_IndReset()
209 *
210 * @brief Sends a ZTOOL "reset response" message.
211 *
212 * @param None
213 *
214 * @return None
215 *
216 *********************************************************************/
\ In segment BANKED_CODE, align 1, keep-with-next
217 void MT_IndReset( void )
\ MT_IndReset:
218 {
\ 000000 74F6 MOV A,#-0xa
\ 000002 12.... LCALL ?BANKED_ENTER_XDATA
\ 000005 ; Saved register size: 10
\ 000005 ; Auto size: 1
\ 000005 74FF MOV A,#-0x1
\ 000007 12.... LCALL ?ALLOC_XSTACK8
219
220 byte rsp = 0; // Reset type==0 indicates Z-Stack reset
\ 00000A E4 CLR A
\ 00000B 12.... LCALL ?Subroutine2 & 0xFFFF
221
222 // Send out Reset Response message
223 MT_BuildAndSendZToolResponse( (SPI_0DATA_MSG_LEN + sizeof( rsp )),
224 (SPI_RESPONSE_BIT | SPI_CMD_SYS_RESET),
225 sizeof( rsp ), &rsp );
\ ??CrossCallReturnLabel_8:
\ 00000E 12.... LCALL ?PUSH_XSTACK_I_TWO
\ 000011 7C01 MOV R4,#0x1
\ 000013 7A05 MOV R2,#0x5
\ 000015 02.... LJMP ?Subroutine17 & 0xFFFF
226 }
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine17:
\ 000000 7B10 MOV R3,#0x10
\ 000002 7906 MOV R1,#0x6
\ 000004 90.... MOV DPTR,#(MT_BuildAndSendZToolResponse & 0xffff)
\ 000007 74.. MOV A,#((MT_BuildAndSendZToolResponse >> 16) & 0xff)
\ 000009 12.... LCALL ?BCALL ; Banked call to: DPTR()
\ 00000C 7402 MOV A,#0x2
\ 00000E 12.... LCALL ?DEALLOC_XSTACK8
\ 000011 7401 MOV A,#0x1
\ ??Subroutine17_0:
\ 000013 12.... LCALL ?DEALLOC_XSTACK8
\ ??Subroutine17_1:
\ 000016 7F02 MOV R7,#0x2
\ 000018 02.... LJMP ?BANKED_LEAVE_XDATA
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine2:
\ 000000 85..82 MOV DPL,?XSP + 0
\ 000003 85..83 MOV DPH,?XSP + 1
\ 000006 F0 MOVX @DPTR,A
\ 000007 ; Setup parameters for call to function MT_BuildAndSendZToolResponse
\ 000007 ; Setup parameters for call to function MT_BuildAndSendZToolResponse
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?