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 + -
显示快捷键?