Files
OldPeopleHome/zigbee/ZStack-CC2530-r200/Projects/SappWsn/RouterEB/List/DebugTrace.s51
LitterDryFish 6b0d1c0743 add node
2019-08-23 12:26:53 +08:00

979 lines
38 KiB
Plaintext
Raw Blame History

///////////////////////////////////////////////////////////////////////////////
//
// IAR C/C++ Compiler V10.30.1.6000 for 8051 23/Aug/2019 12:13:00
// Copyright 2004-2018 IAR Systems AB.
// PC-locked license - IAR Embedded Workbench for 8051
//
// Core = plain
// Code model = banked
// Data model = large
// Calling convention = xdata reentrant
// Constant location = data_rom
// Dptr setup = 1,16
//
// Source file =
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Components\mt\DebugTrace.c
// Command line =
// -f C:\Users\VULCAN\AppData\Local\Temp\EWBF5D.tmp
// (E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Components\mt\DebugTrace.c
// -D ZIGBEEPRO -D ZTOOL_P1 -D MT_TASK -D MT_SYS_FUNC -D MT_ZDO_FUNC -D
// LCD_SUPPORTED=DEBUG -D SAPP_ZSTACK -lC
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\RouterEB\List
// -lA
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\RouterEB\List
// --diag_suppress Pe001,Pa010 -o
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\RouterEB\Obj
// -e --debug --core=plain --dptr=16,1 --data_model=large
// --code_model=banked --calling_convention=xdata_reentrant
// --place_constants=data_rom --nr_virtual_regs 8 -f
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\zstack\Tools\CC2530DB\f8wRouter.cfg
// (-DCPU32MHZ -DROOT=__near_func -DMAC_CFG_APP_PENDING_QUEUE=TRUE
// -DMAC_CFG_TX_DATA_MAX=5 -DMAC_CFG_TX_MAX=8 -DMAC_CFG_RX_MAX=5
// -DRTR_NWK) -f
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\zstack\Tools\CC2530DB\f8wConfig.cfg
// (-DZIGBEEPRO -DSECURE=0 -DZG_SECURE_DYNAMIC=0 -DREFLECTOR
// -DDEFAULT_CHANLIST=0x00800000 -DZDAPP_CONFIG_PAN_ID=0x0057
// -DNWK_START_DELAY=100 -DEXTENDED_JOINING_RANDOM_MASK=0x007F
// -DBEACON_REQUEST_DELAY=100 -DBEACON_REQ_DELAY_MASK=0x00FF
// -DLINK_STATUS_JITTER_MASK=0x007F -DROUTE_EXPIRY_TIME=30
// -DAPSC_ACK_WAIT_DURATION_POLLED=3000 -DNWK_INDIRECT_MSG_TIMEOUT=7
// -DMAX_RREQ_ENTRIES=8 -DAPSC_MAX_FRAME_RETRIES=3
// -DNWK_MAX_DATA_RETRIES=2 -DMAX_POLL_FAILURE_RETRIES=2 -DMAX_BCAST=9
// -DAPS_MAX_GROUPS=16 -DMAX_RTG_ENTRIES=40 -DNWK_MAX_BINDING_ENTRIES=4
// -DMAX_BINDING_CLUSTER_IDS=4 "-DDEFAULT_KEY={0x01, 0x03, 0x05, 0x07,
// 0x09, 0x0B, 0x0D, 0x0F, 0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C,
// 0x0D}" -DMAC_MAX_FRAME_SIZE=116 -DZDNWKMGR_MIN_TRANSMISSIONS=20
// "-DCONST=const __code" -DGENERIC=__generic -DRFD_RCVC_ALWAYS_ON=FALSE
// -DPOLL_RATE=1000 -DQUEUED_POLL_RATE=100 -DRESPONSE_POLL_RATE=100
// -DREJOIN_POLL_RATE=440) -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\Source\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\zstack\ZMain\TI2530DB\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\hal\include\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\hal\target\CC2530EB\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\mac\include\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\mac\high_level\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\mac\low_level\srf04\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\mac\low_level\srf04\single_chip\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\mt\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\osal\include\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\services\saddr\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\services\sdata\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\stack\af\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\stack\nwk\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\stack\sapi\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\stack\sec\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\stack\sys\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\stack\zdo\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\zmac\
// -I
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\..\..\Components\zmac\f8w\
// -Ohz --require_prototypes --no_code_motion)
// Locale = Chinese (Simplified)_CHN.936
// List file =
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\RouterEB\List\DebugTrace.s51
//
///////////////////////////////////////////////////////////////////////////////
NAME DebugTrace
RTMODEL "__SystemLibrary", "CLib"
RTMODEL "__calling_convention", "xdata_reentrant"
RTMODEL "__code_model", "banked"
RTMODEL "__core", "plain"
RTMODEL "__data_model", "large"
RTMODEL "__dptr_size", "16"
RTMODEL "__extended_stack", "disabled"
RTMODEL "__location_for_constants", "data"
RTMODEL "__number_of_dptrs", "1"
RTMODEL "__register_banks", "*"
RTMODEL "__rt_version", "1"
RSEG DOVERLAY:DATA:NOROOT(0)
RSEG IOVERLAY:IDATA:NOROOT(0)
RSEG ISTACK:IDATA:NOROOT(0)
RSEG PSTACK:XDATA:NOROOT(0)
RSEG XSTACK:XDATA:NOROOT(0)
EXTERN ?V0
EXTERN ?V2
EXTERN ?V3
EXTERN ?V4
EXTERN ?V5
EXTERN ?V1
EXTERN ?BANKED_ENTER_XDATA
EXTERN ?BANKED_LEAVE_XDATA
EXTERN ?BDISPATCH
EXTERN ?DEALLOC_XSTACK8
EXTERN ?PUSH_XSTACK_I_THREE
EXTERN ?XSTACK_DISP0_8
PUBLIC `??debug_msg::?relay`
FUNCTION `??debug_msg::?relay`,0203H
PUBLIC `??debug_str::?relay`
FUNCTION `??debug_str::?relay`,0203H
PUBLIC debug_msg
FUNCTION debug_msg,0a1203H
ARGFRAME XSTACK, 4, STACK
LOCFRAME ISTACK, 1, STACK
LOCFRAME XSTACK, 14, STACK
PUBLIC debug_str
FUNCTION debug_str,0a1203H
ARGFRAME XSTACK, 0, STACK
LOCFRAME ISTACK, 1, STACK
LOCFRAME XSTACK, 17, STACK
CFI Names cfiNames0
CFI StackFrame CFA_SP SP IDATA
CFI StackFrame CFA_PSP16 PSP16 XDATA
CFI StackFrame CFA_XSP16 XSP16 XDATA
CFI StaticOverlayFrame CFA_IOVERLAY IOVERLAY
CFI StaticOverlayFrame CFA_DOVERLAY DOVERLAY
CFI Resource `PSW.CY`:1, `B.BR0`:1, `B.BR1`:1, `B.BR2`:1, `B.BR3`:1
CFI Resource `B.BR4`:1, `B.BR5`:1, `B.BR6`:1, `B.BR7`:1, `VB.BR8`:1
CFI Resource `VB.BR9`:1, `VB.BR10`:1, `VB.BR11`:1, `VB.BR12`:1
CFI Resource `VB.BR13`:1, `VB.BR14`:1, `VB.BR15`:1, VB:8, B:8, A:8
CFI Resource PSW:8, DPL0:8, DPH0:8, R0:8, R1:8, R2:8, R3:8, R4:8, R5:8
CFI Resource R6:8, R7:8, V0:8, V1:8, V2:8, V3:8, V4:8, V5:8, V6:8, V7:8
CFI Resource SP:8, PSPH:8, PSPL:8, PSP16:16, XSPH:8, XSPL:8, XSP16:16
CFI VirtualResource ?RET:24
CFI Resource ?BRET_EXT:8
CFI VirtualResource ?RET_HIGH:8, ?RET_LOW:8
CFI ResourceParts PSP16 PSPH, PSPL
CFI ResourceParts XSP16 XSPH, XSPL
CFI ResourceParts ?RET ?BRET_EXT, ?RET_HIGH, ?RET_LOW
CFI EndNames cfiNames0
CFI Common cfiCommon0 Using cfiNames0
CFI CodeAlign 1
CFI DataAlign -1
CFI ReturnAddress ?RET CODE
CFI CFA_DOVERLAY Used
CFI CFA_IOVERLAY Used
CFI CFA_SP SP+-3
CFI CFA_PSP16 PSP16+0
CFI CFA_XSP16 XSP16+0
CFI `PSW.CY` SameValue
CFI `B.BR0` SameValue
CFI `B.BR1` SameValue
CFI `B.BR2` SameValue
CFI `B.BR3` SameValue
CFI `B.BR4` SameValue
CFI `B.BR5` SameValue
CFI `B.BR6` SameValue
CFI `B.BR7` SameValue
CFI `VB.BR8` SameValue
CFI `VB.BR9` SameValue
CFI `VB.BR10` SameValue
CFI `VB.BR11` SameValue
CFI `VB.BR12` SameValue
CFI `VB.BR13` SameValue
CFI `VB.BR14` SameValue
CFI `VB.BR15` SameValue
CFI VB SameValue
CFI B Undefined
CFI A Undefined
CFI PSW SameValue
CFI DPL0 SameValue
CFI DPH0 SameValue
CFI R0 Undefined
CFI R1 Undefined
CFI R2 Undefined
CFI R3 Undefined
CFI R4 Undefined
CFI R5 Undefined
CFI R6 SameValue
CFI R7 SameValue
CFI V0 SameValue
CFI V1 SameValue
CFI V2 SameValue
CFI V3 SameValue
CFI V4 SameValue
CFI V5 SameValue
CFI V6 SameValue
CFI V7 SameValue
CFI PSPH Undefined
CFI PSPL Undefined
CFI XSPH Undefined
CFI XSPL Undefined
CFI ?RET Concat
CFI ?BRET_EXT Frame(CFA_SP, 3)
CFI ?RET_HIGH Frame(CFA_SP, 2)
CFI ?RET_LOW Frame(CFA_SP, 1)
CFI EndCommon cfiCommon0
CFI Common cfiCommon1 Using cfiNames0
CFI CodeAlign 1
CFI DataAlign -1
CFI ReturnAddress ?RET CODE
CFI CFA_DOVERLAY Used
CFI CFA_IOVERLAY Used
CFI CFA_SP SP+-2
CFI CFA_PSP16 PSP16+0
CFI CFA_XSP16 XSP16+0
CFI `PSW.CY` SameValue
CFI `B.BR0` SameValue
CFI `B.BR1` SameValue
CFI `B.BR2` SameValue
CFI `B.BR3` SameValue
CFI `B.BR4` SameValue
CFI `B.BR5` SameValue
CFI `B.BR6` SameValue
CFI `B.BR7` SameValue
CFI `VB.BR8` SameValue
CFI `VB.BR9` SameValue
CFI `VB.BR10` SameValue
CFI `VB.BR11` SameValue
CFI `VB.BR12` SameValue
CFI `VB.BR13` SameValue
CFI `VB.BR14` SameValue
CFI `VB.BR15` SameValue
CFI VB SameValue
CFI B SameValue
CFI A SameValue
CFI PSW SameValue
CFI DPL0 SameValue
CFI DPH0 SameValue
CFI R0 SameValue
CFI R1 SameValue
CFI R2 SameValue
CFI R3 SameValue
CFI R4 SameValue
CFI R5 SameValue
CFI R6 SameValue
CFI R7 SameValue
CFI V0 SameValue
CFI V1 SameValue
CFI V2 SameValue
CFI V3 SameValue
CFI V4 SameValue
CFI V5 SameValue
CFI V6 SameValue
CFI V7 SameValue
CFI PSPH Undefined
CFI PSPL Undefined
CFI XSPH Undefined
CFI XSPL Undefined
CFI ?RET Concat
CFI ?BRET_EXT SameValue
CFI ?RET_HIGH Frame(CFA_SP, 2)
CFI ?RET_LOW Frame(CFA_SP, 1)
CFI EndCommon cfiCommon1
osal_memcpy SYMBOL "osal_memcpy"
`??osal_memcpy::?relay` SYMBOL "?relay", osal_memcpy
osal_msg_allocate SYMBOL "osal_msg_allocate"
`??osal_msg_allocate::?relay` SYMBOL "?relay", osal_msg_allocate
osal_msg_send SYMBOL "osal_msg_send"
`??osal_msg_send::?relay` SYMBOL "?relay", osal_msg_send
osal_strlen SYMBOL "osal_strlen"
`??osal_strlen::?relay` SYMBOL "?relay", osal_strlen
debug_msg SYMBOL "debug_msg"
`??debug_msg::?relay` SYMBOL "?relay", debug_msg
debug_str SYMBOL "debug_str"
`??debug_str::?relay` SYMBOL "?relay", debug_str
EXTERN `??osal_memcpy::?relay`
FUNCTION `??osal_memcpy::?relay`,00H
EXTERN `??osal_msg_allocate::?relay`
FUNCTION `??osal_msg_allocate::?relay`,00H
EXTERN `??osal_msg_send::?relay`
FUNCTION `??osal_msg_send::?relay`,00H
EXTERN `??osal_strlen::?relay`
FUNCTION `??osal_strlen::?relay`,00H
EXTERN MT_TaskID
EXTERN debugCompId
EXTERN debugThreshold
EXTERN osal_memcpy
FUNCTION osal_memcpy,0202H
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 17, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
EXTERN osal_msg_allocate
FUNCTION osal_msg_allocate,0202H
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 14, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
EXTERN osal_msg_send
FUNCTION osal_msg_send,0202H
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 14, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
EXTERN osal_strlen
FUNCTION osal_strlen,0202H
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 14, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Components\mt\DebugTrace.c
// 1 /**************************************************************************************************
// 2 Filename: DebugTrace.c
// 3 Revised: $Date: 2008-01-17 12:22:57 -0800 (Thu, 17 Jan 2008) $
// 4 Revision: $Revision: 16223 $
// 5
// 6
// 7 Description: This interface provides quick one-function-call functions to
// 8 Monitor and Test reporting mechanisms.
// 9
// 10
// 11 Copyright 2007 Texas Instruments Incorporated. All rights reserved.
// 12
// 13 IMPORTANT: Your use of this Software is limited to those specific rights
// 14 granted under the terms of a software license agreement between the user
// 15 who downloaded the software, his/her employer (which must be your employer)
// 16 and Texas Instruments Incorporated (the "License"). You may not use this
// 17 Software unless you agree to abide by the terms of the License. The License
// 18 limits your use, and you acknowledge, that the Software may not be modified,
// 19 copied or distributed unless embedded on a Texas Instruments microcontroller
// 20 or used solely and exclusively in conjunction with a Texas Instruments radio
// 21 frequency transceiver, which is integrated into your product. Other than for
// 22 the foregoing purpose, you may not use, reproduce, copy, prepare derivative
// 23 works of, modify, distribute, perform, display or sell this Software and/or
// 24 its documentation for any purpose.
// 25
// 26 YOU FURTHER ACKNOWLEDGE AND AGREE THAT THE SOFTWARE AND DOCUMENTATION ARE
// 27 PROVIDED 揂S IS<49> WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED,
// 28 INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE,
// 29 NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL
// 30 TEXAS INSTRUMENTS OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT,
// 31 NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER
// 32 LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
// 33 INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE
// 34 OR CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT
// 35 OF SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
// 36 (INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
// 37
// 38 Should you have any questions regarding your right to use this Software,
// 39 contact Texas Instruments Incorporated at www.TI.com.
// 40
// 41 **************************************************************************************************/
// 42
// 43 #if defined( MT_TASK ) || defined( APP_DEBUG )
// 44
// 45 /*********************************************************************
// 46 * INCLUDES
// 47 */
// 48 #include "ZComDef.h"
// 49 #include "OSAL.h"
// 50 #include "MT.h"
// 51 #include "MT_TASK.h"
// 52 #include "MT_DEBUG.h"
// 53 #include "DebugTrace.h"
// 54
// 55 #if defined ( APP_DEBUG )
// 56 #include "DebugApp.h"
// 57 #endif
// 58
// 59 /*********************************************************************
// 60 * MACROS
// 61 */
// 62
// 63 /*********************************************************************
// 64 * CONSTANTS
// 65 */
// 66
// 67
// 68 /*********************************************************************
// 69 * TYPEDEFS
// 70 */
// 71
// 72 /*********************************************************************
// 73 * GLOBAL VARIABLES
// 74 */
// 75
// 76 /*********************************************************************
// 77 * EXTERNAL VARIABLES
// 78 */
// 79
// 80 /*********************************************************************
// 81 * EXTERNAL FUNCTIONS
// 82 */
// 83
// 84 /*********************************************************************
// 85 * LOCAL VARIABLES
// 86 */
// 87
// 88 /*********************************************************************
// 89 * LOCAL FUNCTIONS
// 90 */
// 91
// 92 /*********************************************************************
// 93 * @fn debug_msg
// 94 *
// 95 * @brief
// 96 *
// 97 * This feature allows modules to display debug information as
// 98 * applications execute in real-time. This feature will work similar
// 99 * to "printf()" but will output to the serial port for display in
// 100 * the Z-Test tool.
// 101 *
// 102 * This feature will most likely be compiled out in the production code
// 103 * to save code space.
// 104 *
// 105 * @param byte compID - Component ID
// 106 * @param byte severity - CRITICAL(0x01), ERROR(0x02), INFORMATION(0x03)
// 107 * or TRACE(0x04)
// 108 * @param byte numParams - number of parameter fields (param1-3)
// 109 * @param UINT16 param1 - user defined data
// 110 * @param UINT16 param2 - user defined data
// 111 * @param UINT16 param3 - user defined data
// 112 *
// 113 * @return void
// 114 */
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
// 115 void debug_msg( byte compID, byte severity, byte numParams, UINT16 param1,
debug_msg:
CFI Block cfiBlock0 Using cfiCommon0
CFI Function debug_msg
CODE
// 116 UINT16 param2, UINT16 param3 )
// 117 {
FUNCALL debug_msg, osal_msg_allocate
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 14, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 14, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
FUNCALL debug_msg, osal_msg_send
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 14, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 14, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
REQUIRE ?V0
REQUIRE ?V2
REQUIRE ?V3
REQUIRE ?V4
REQUIRE ?V5
MOV A,#-0xe
LCALL ?BANKED_ENTER_XDATA
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
CFI CFA_SP SP+0
CFI CFA_XSP16 add(XSP16, 14)
; Saved register size: 14
; Auto size: 0
MOV A,R1
MOV R6,A
MOV A,R2
MOV R7,A
MOV ?V0,R3
MOV ?V4,R4
MOV ?V5,R5
// 118
// 119 mtDebugMsg_t *mtDebugMsg;
// 120 UINT16 timestamp;
// 121
// 122 if ( debugThreshold == 0 || debugCompId != compID )
MOV DPTR,#debugThreshold
MOVX A,@DPTR
JZ ??debug_msg_0
MOV DPTR,#debugCompId
MOVX A,@DPTR
XRL A,R6
JZ ??debug_msg_1
// 123 return;
??debug_msg_2:
SJMP ??debug_msg_0
// 124
// 125 // Fill in the timestamp
// 126 timestamp = 0;
// 127
// 128 // Get a message buffer to build the debug message
// 129 mtDebugMsg = (mtDebugMsg_t *)osal_msg_allocate( sizeof( mtDebugMsg_t ) );
??debug_msg_1:
; Setup parameters for call to function osal_msg_allocate
MOV R2,#0xd
MOV R3,#0x0
LCALL `??osal_msg_allocate::?relay`; Banked call to: osal_msg_allocate
// 130 if ( mtDebugMsg )
MOV A,R2
ORL A,R3
JZ ??debug_msg_0
// 131 {
// 132 mtDebugMsg->hdr.event = CMD_DEBUG_MSG;
MOV DPL,R2
MOV DPH,R3
MOV A,#0x2
MOVX @DPTR,A
// 133 mtDebugMsg->compID = compID;
MOV A,R6
INC DPTR
INC DPTR
MOVX @DPTR,A
// 134 mtDebugMsg->severity = severity;
MOV A,R7
MOV DPL,R2
MOV DPH,R3
INC DPTR
INC DPTR
INC DPTR
LCALL ?Subroutine2 & 0xFFFF
// 135 mtDebugMsg->numParams = numParams;
??CrossCallReturnLabel_2:
MOV A,?V0
LCALL ?Subroutine2 & 0xFFFF
// 136
// 137 mtDebugMsg->param1 = param1;
??CrossCallReturnLabel_3:
INC DPTR
MOV A,?V4
MOVX @DPTR,A
INC DPTR
MOV A,?V5
MOVX @DPTR,A
// 138 mtDebugMsg->param2 = param2;
MOV A,#0xe
LCALL ?XSTACK_DISP0_8
LCALL ?Subroutine1 & 0xFFFF
??CrossCallReturnLabel_0:
MOV A,R0
MOVX @DPTR,A
INC DPTR
MOV A,R1
MOVX @DPTR,A
// 139 mtDebugMsg->param3 = param3;
MOV A,#0x10
LCALL ?XSTACK_DISP0_8
LCALL ?Subroutine1 & 0xFFFF
??CrossCallReturnLabel_1:
INC DPTR
INC DPTR
MOV A,R0
MOVX @DPTR,A
INC DPTR
MOV A,R1
MOVX @DPTR,A
// 140 mtDebugMsg->timestamp = timestamp;
MOV A,R2
ADD A,#0xb
MOV DPL,A
CLR A
ADDC A,R3
MOV DPH,A
CLR A
MOVX @DPTR,A
INC DPTR
MOVX @DPTR,A
// 141
// 142 osal_msg_send( MT_TaskID, (uint8 *)mtDebugMsg );
; Setup parameters for call to function osal_msg_send
MOV DPTR,#MT_TaskID
MOVX A,@DPTR
MOV R1,A
LCALL `??osal_msg_send::?relay`; Banked call to: osal_msg_send
// 143 }
// 144
// 145 } /* debug_msg() */
??debug_msg_0:
CFI EndBlock cfiBlock0
REQUIRE ?Subroutine0
; // Fall through to label ?Subroutine0
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
?Subroutine0:
CFI Block cfiBlock1 Using cfiCommon0
CFI NoFunction
CFI CFA_SP SP+0
CFI CFA_XSP16 add(XSP16, 14)
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
MOV R7,#0x6
LJMP ?BANKED_LEAVE_XDATA
CFI EndBlock cfiBlock1
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
?Subroutine2:
CFI Block cfiCond2 Using cfiCommon0
CFI Function debug_msg
CFI Conditional ??CrossCallReturnLabel_2
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
CFI CFA_SP SP+-2
CFI CFA_XSP16 add(XSP16, 14)
CFI Block cfiCond3 Using cfiCommon0
CFI (cfiCond3) Function debug_msg
CFI (cfiCond3) Conditional ??CrossCallReturnLabel_3
CFI (cfiCond3) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
CFI (cfiCond3) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
CFI (cfiCond3) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
CFI (cfiCond3) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
CFI (cfiCond3) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
CFI (cfiCond3) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
CFI (cfiCond3) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
CFI (cfiCond3) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
CFI (cfiCond3) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
CFI (cfiCond3) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
CFI (cfiCond3) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
CFI (cfiCond3) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
CFI (cfiCond3) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
CFI (cfiCond3) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
CFI (cfiCond3) CFA_SP SP+-2
CFI (cfiCond3) CFA_XSP16 add(XSP16, 14)
CFI Block cfiPicker4 Using cfiCommon1
CFI (cfiPicker4) NoFunction
CFI (cfiPicker4) Picker
MOVX @DPTR,A
MOV DPL,R2
MOV DPH,R3
INC DPTR
INC DPTR
INC DPTR
INC DPTR
RET
CFI EndBlock cfiCond2
CFI EndBlock cfiCond3
CFI EndBlock cfiPicker4
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
?Subroutine1:
CFI Block cfiCond5 Using cfiCommon0
CFI Function debug_msg
CFI Conditional ??CrossCallReturnLabel_0
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
CFI CFA_SP SP+-2
CFI CFA_XSP16 add(XSP16, 14)
CFI Block cfiCond6 Using cfiCommon0
CFI (cfiCond6) Function debug_msg
CFI (cfiCond6) Conditional ??CrossCallReturnLabel_1
CFI (cfiCond6) R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
CFI (cfiCond6) VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
CFI (cfiCond6) V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
CFI (cfiCond6) V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
CFI (cfiCond6) V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
CFI (cfiCond6) V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
CFI (cfiCond6) V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
CFI (cfiCond6) V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
CFI (cfiCond6) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
CFI (cfiCond6) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
CFI (cfiCond6) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
CFI (cfiCond6) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
CFI (cfiCond6) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
CFI (cfiCond6) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
CFI (cfiCond6) CFA_SP SP+-2
CFI (cfiCond6) CFA_XSP16 add(XSP16, 14)
CFI Block cfiPicker7 Using cfiCommon1
CFI (cfiPicker7) NoFunction
CFI (cfiPicker7) Picker
MOVX A,@DPTR
MOV R0,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
MOV DPL,R2
MOV DPH,R3
INC DPTR
INC DPTR
INC DPTR
INC DPTR
INC DPTR
INC DPTR
INC DPTR
RET
CFI EndBlock cfiCond5
CFI EndBlock cfiCond6
CFI EndBlock cfiPicker7
// 146
// 147 /*********************************************************************
// 148 * @fn debug_str
// 149 *
// 150 * @brief
// 151 *
// 152 * This feature allows modules to display a debug text string as
// 153 * applications execute in real-time. This feature will output to
// 154 * the serial port for display in the Z-Test tool.
// 155 *
// 156 * This feature will most likely be compiled out in the production
// 157 * code in order to save code space.
// 158 *
// 159 * @param byte *str_ptr - pointer to null-terminated string
// 160 *
// 161 * @return void
// 162 */
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
// 163 void debug_str( byte *str_ptr )
debug_str:
CFI Block cfiBlock8 Using cfiCommon0
CFI Function debug_str
CODE
// 164 {
FUNCALL debug_str, osal_strlen
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 14, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 14, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
FUNCALL debug_str, osal_msg_allocate
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 14, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 14, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
FUNCALL debug_str, osal_memcpy
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 17, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 17, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
FUNCALL debug_str, osal_msg_send
LOCFRAME ISTACK, 0, STACK
LOCFRAME PSTACK, 0, STACK
LOCFRAME XSTACK, 14, STACK
LOCFRAME IOVERLAY, 0, STATIC
LOCFRAME DOVERLAY, 0, STATIC
ARGFRAME ISTACK, 0, STACK
ARGFRAME PSTACK, 0, STACK
ARGFRAME XSTACK, 14, STACK
ARGFRAME IOVERLAY, 0, STATIC
ARGFRAME DOVERLAY, 0, STATIC
REQUIRE ?V0
REQUIRE ?V1
REQUIRE ?V2
REQUIRE ?V3
REQUIRE ?V4
REQUIRE ?V5
MOV A,#-0xe
LCALL ?BANKED_ENTER_XDATA
CFI DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
CFI DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
CFI ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
CFI ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
CFI ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-7)))
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-8)))
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-9)))
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-10)))
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-11)))
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-12)))
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-13)))
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-14)))
CFI CFA_SP SP+0
CFI CFA_XSP16 add(XSP16, 14)
; Saved register size: 14
; Auto size: 0
MOV ?V0,R2
MOV ?V1,R3
// 165 mtDebugStr_t *msg;
// 166 byte mln;
// 167 byte strLen;
// 168
// 169 // Text string length
// 170 strLen = (byte)osal_strlen( (void*)str_ptr );
; Setup parameters for call to function osal_strlen
LCALL `??osal_strlen::?relay`; Banked call to: osal_strlen
MOV A,R2
MOV ?V3,A
// 171
// 172 // Debug string message length
// 173 mln = sizeof ( mtDebugStr_t ) + strLen;
// 174
// 175 // Get a message buffer to build the debug message
// 176 msg = (mtDebugStr_t *)osal_msg_allocate( mln );
; Setup parameters for call to function osal_msg_allocate
MOV A,#0x5
ADD A,R2
MOV R2,A
MOV R3,#0x0
LCALL `??osal_msg_allocate::?relay`; Banked call to: osal_msg_allocate
MOV ?V4,R2
MOV ?V5,R3
MOV R6,?V4
MOV R7,?V5
// 177 if ( msg )
MOV A,R2
ORL A,R7
JZ ??debug_str_0
// 178 {
// 179 // Message type, length
// 180 msg->hdr.event = CMD_DEBUG_STR;
MOV DPL,R2
MOV DPH,R3
MOV A,#0x6
MOVX @DPTR,A
// 181 msg->strLen = strLen;
INC DPTR
INC DPTR
MOV A,?V3
MOVX @DPTR,A
// 182
// 183 // Append message, no terminator
// 184 msg->pString = (uint8 *)(msg+1);
MOV A,R2
ADD A,#0x5
MOV R2,A
CLR A
ADDC A,R7
MOV R3,A
MOV DPL,R6
MOV DPH,R7
INC DPTR
INC DPTR
INC DPTR
MOV A,R2
MOVX @DPTR,A
INC DPTR
MOV A,R3
MOVX @DPTR,A
// 185 osal_memcpy ( msg->pString, str_ptr, strLen );
; Setup parameters for call to function osal_memcpy
MOV ?V2,#0x0
MOV R0,#?V0
LCALL ?PUSH_XSTACK_I_THREE
CFI CFA_XSP16 add(XSP16, 17)
MOV R4,?V3
MOV R5,#0x0
LCALL `??osal_memcpy::?relay`; Banked call to: osal_memcpy
MOV A,#0x3
LCALL ?DEALLOC_XSTACK8
CFI CFA_XSP16 add(XSP16, 14)
// 186
// 187 osal_msg_send( MT_TaskID, (uint8 *)msg );
; Setup parameters for call to function osal_msg_send
MOV A,R6
MOV R2,A
MOV A,R7
MOV R3,A
MOV DPTR,#MT_TaskID
MOVX A,@DPTR
MOV R1,A
LCALL `??osal_msg_send::?relay`; Banked call to: osal_msg_send
// 188 }
// 189 } // debug_str()
??debug_str_0:
LJMP ?Subroutine0 & 0xFFFF
CFI EndBlock cfiBlock8
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
`??debug_msg::?relay`:
CODE
LCALL ?BDISPATCH
DATA24
DC24 debug_msg
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
`??debug_str::?relay`:
CODE
LCALL ?BDISPATCH
DATA24
DC24 debug_str
END
// 190
// 191 /*********************************************************************
// 192 *********************************************************************/
// 193 #endif // MT_TASK
//
// 259 bytes in segment BANKED_CODE
// 12 bytes in segment BANK_RELAYS
//
// 12 bytes of CODE memory
// 259 bytes of HUGECODE memory
//
//Errors: none
//Warnings: none