⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 debugtrace.lst

📁 cc2430讀取短地址程式
💻 LST
📖 第 1 页 / 共 3 页
字号:
     68           */
     69          
     70          /*********************************************************************
     71           * @fn      debug_msg
     72           *
     73           * @brief
     74           *
     75           *   This feature allows modules to display debug information as
     76           *   applications execute in real-time.  This feature will work similar
     77           *   to "printf()" but will output to the serial port for display in
     78           *   the Z-Test tool.
     79           *
     80           *   This feature will most likely be compiled out in the production code
     81           *   to save code space.
     82           *
     83           * @param   byte compID - Component ID
     84           * @param   byte severity - CRITICAL(0x01), ERROR(0x02), INFORMATION(0x03)
     85           *                          or TRACE(0x04)
     86           * @param   byte numParams - number of parameter fields (param1-3)
     87           * @param   UINT16 param1 - user defined data
     88           * @param   UINT16 param2 - user defined data
     89           * @param   UINT16 param3 - user defined data
     90           *
     91           * @return  void
     92           */

   \                                 In segment BANKED_CODE, align 1, keep-with-next
     93          void debug_msg( byte compID, byte severity, byte numParams, UINT16 param1,
   \                     debug_msg:
     94          																								UINT16 param2, UINT16 param3 )
     95          {
   \   000000   74F0         MOV     A,#-0x10
   \   000002   12....       LCALL   ?BANKED_ENTER_XDATA
   \   000005                ; Saved register size: 16
   \   000005                ; Auto size: 2
   \   000005   74FE         MOV     A,#-0x2
   \   000007   12....       LCALL   ?ALLOC_XSTACK8
   \   00000A   85..82       MOV     DPL,?XSP + 0
   \   00000D   85..83       MOV     DPH,?XSP + 1
   \   000010   EC           MOV     A,R4
   \   000011   F0           MOVX    @DPTR,A
   \   000012   A3           INC     DPTR
   \   000013   ED           MOV     A,R5
   \   000014   F0           MOVX    @DPTR,A
   \   000015   89..         MOV     ?V0 + 2,R1
   \   000017   8A..         MOV     ?V0 + 3,R2
   \   000019   8B..         MOV     ?V0 + 4,R3
   \   00001B   7412         MOV     A,#0x12
   \   00001D   12....       LCALL   ?XSTACK_DISP0_8
   \   000020   E0           MOVX    A,@DPTR
   \   000021   F5..         MOV     ?V0 + 6,A
   \   000023   A3           INC     DPTR
   \   000024   E0           MOVX    A,@DPTR
   \   000025   F5..         MOV     ?V0 + 7,A
   \   000027   7414         MOV     A,#0x14
   \   000029   12....       LCALL   ?XSTACK_DISP0_8
   \   00002C   E0           MOVX    A,@DPTR
   \   00002D   FE           MOV     R6,A
   \   00002E   A3           INC     DPTR
   \   00002F   E0           MOVX    A,@DPTR
   \   000030   FF           MOV     R7,A
     96          
     97            mtDebugMsg_t *mtDebugMsg;
     98            UINT16 timestamp;
     99          
    100          #if defined ( APP_DEBUG ) && !defined (ZDO_COORDINATOR)
    101            DebugApp_BuildMsg( compID, severity, numParams, param1, param2, param3 );
    102            return;
    103          #endif
    104          
    105            if ( debugThreshold == 0 || debugCompId != compID )
   \   000031   90....       MOV     DPTR,#debugThreshold
   \   000034   E0           MOVX    A,@DPTR
   \   000035   6077         JZ      ??debug_msg_0
   \   000037   90....       MOV     DPTR,#debugCompId
   \   00003A   E0           MOVX    A,@DPTR
   \   00003B   65..         XRL     A,?V0 + 2
   \   00003D   706F         JNZ     ??debug_msg_0
    106              return;
    107          
    108            // Fill in the timestamp
    109            timestamp = 0;
    110          
    111            // Get a message buffer to build the debug message
    112            mtDebugMsg = (mtDebugMsg_t *)osal_msg_allocate( sizeof( mtDebugMsg_t ) );
   \   00003F                ; Setup parameters for call to function osal_msg_allocate
   \   00003F   7A0D         MOV     R2,#0xd
   \   000041   7B00         MOV     R3,#0x0
   \   000043   90....       MOV     DPTR,#(osal_msg_allocate & 0xffff)
   \   000046   74..         MOV     A,#((osal_msg_allocate >> 16) & 0xff)
   \   000048   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    113            if ( mtDebugMsg )
   \   00004B   EA           MOV     A,R2
   \   00004C   7001         JNZ     ??debug_msg_1
   \   00004E   EB           MOV     A,R3
   \                     ??debug_msg_1:
   \   00004F   605D         JZ      ??debug_msg_0
    114            {
    115                mtDebugMsg->hdr.event = CMD_DEBUG_MSG;
   \   000051   7402         MOV     A,#0x2
   \   000053   8A82         MOV     DPL,R2
   \   000055   8B83         MOV     DPH,R3
   \   000057   F0           MOVX    @DPTR,A
    116                mtDebugMsg->compID = compID;
   \   000058   A3           INC     DPTR
   \   000059   A3           INC     DPTR
   \   00005A   E5..         MOV     A,?V0 + 2
   \   00005C   12....       LCALL   ?Subroutine1 & 0xFFFF
    117                mtDebugMsg->severity = severity;
   \                     ??CrossCallReturnLabel_2:
   \   00005F   E5..         MOV     A,?V0 + 3
   \   000061   12....       LCALL   ?Subroutine1 & 0xFFFF
    118                mtDebugMsg->numParams = numParams;
   \                     ??CrossCallReturnLabel_3:
   \   000064   A3           INC     DPTR
   \   000065   E5..         MOV     A,?V0 + 4
   \   000067   F0           MOVX    @DPTR,A
    119          
    120                mtDebugMsg->param1 = param1;
   \   000068   85..82       MOV     DPL,?XSP + 0
   \   00006B   85..83       MOV     DPH,?XSP + 1
   \   00006E   E0           MOVX    A,@DPTR
   \   00006F   F8           MOV     R0,A
   \   000070   A3           INC     DPTR
   \   000071   E0           MOVX    A,@DPTR
   \   000072   F9           MOV     R1,A
   \   000073   8A82         MOV     DPL,R2
   \   000075   8B83         MOV     DPH,R3
   \   000077   A3           INC     DPTR
   \   000078   A3           INC     DPTR
   \   000079   A3           INC     DPTR
   \   00007A   A3           INC     DPTR
   \   00007B   A3           INC     DPTR
   \   00007C   E8           MOV     A,R0
   \   00007D   F0           MOVX    @DPTR,A
   \   00007E   A3           INC     DPTR
   \   00007F   E9           MOV     A,R1
   \   000080   12....       LCALL   ?Subroutine0 & 0xFFFF
    121                mtDebugMsg->param2 = param2;
   \                     ??CrossCallReturnLabel_0:
   \   000083   E5..         MOV     A,?V0 + 6
   \   000085   F0           MOVX    @DPTR,A
   \   000086   A3           INC     DPTR
   \   000087   E5..         MOV     A,?V0 + 7
   \   000089   12....       LCALL   ?Subroutine0 & 0xFFFF
    122                mtDebugMsg->param3 = param3;
   \                     ??CrossCallReturnLabel_1:
   \   00008C   A3           INC     DPTR
   \   00008D   A3           INC     DPTR
   \   00008E   EE           MOV     A,R6
   \   00008F   F0           MOVX    @DPTR,A
   \   000090   A3           INC     DPTR
   \   000091   EF           MOV     A,R7
   \   000092   F0           MOVX    @DPTR,A
    123                mtDebugMsg->timestamp = timestamp;
   \   000093   EA           MOV     A,R2
   \   000094   240B         ADD     A,#0xb
   \   000096   F582         MOV     DPL,A
   \   000098   EB           MOV     A,R3
   \   000099   3400         ADDC    A,#0x0
   \   00009B   F583         MOV     DPH,A
   \   00009D   E4           CLR     A
   \   00009E   F0           MOVX    @DPTR,A
   \   00009F   A3           INC     DPTR
   \   0000A0   F0           MOVX    @DPTR,A
    124                
    125                osal_msg_send( MT_TaskID, (uint8 *)mtDebugMsg );
   \   0000A1                ; Setup parameters for call to function osal_msg_send
   \   0000A1   90....       MOV     DPTR,#MT_TaskID
   \   0000A4   E0           MOVX    A,@DPTR
   \   0000A5   F9           MOV     R1,A
   \   0000A6   90....       MOV     DPTR,#(osal_msg_send & 0xffff)
   \   0000A9   74..         MOV     A,#((osal_msg_send >> 16) & 0xff)
   \   0000AB   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \                     ??debug_msg_0:
   \   0000AE   7402         MOV     A,#0x2
   \   0000B0   12....       LCALL   ?DEALLOC_XSTACK8
   \   0000B3   7F08         MOV     R7,#0x8
   \   0000B5   02....       LJMP    ?BANKED_LEAVE_XDATA
    126            }
    127          
    128          } /* debug_msg() */

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine1:
   \   000000   12....       LCALL   ?Subroutine2 & 0xFFFF
   \                     ??CrossCallReturnLabel_4:
   \   000003   22           RET

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine2:
   \   000000   F0           MOVX    @DPTR,A

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -