3811 lines
148 KiB
Plaintext
3811 lines
148 KiB
Plaintext
///////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// IAR C/C++ Compiler V10.30.1.6000 for 8051 23/Aug/2019 12:13:10
|
|
// 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\zmac\f8w\zmac.c
|
|
// Command line =
|
|
// -f C:\Users\VULCAN\AppData\Local\Temp\EWE652.tmp
|
|
// (E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Components\zmac\f8w\zmac.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\zmac.s51
|
|
//
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
NAME zmac
|
|
|
|
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 ?V1
|
|
EXTERN ?V2
|
|
EXTERN ?V4
|
|
EXTERN ?V5
|
|
EXTERN ?V6
|
|
EXTERN ?V7
|
|
EXTERN ?V3
|
|
EXTERN ?ALLOC_XSTACK8
|
|
EXTERN ?BANKED_ENTER_XDATA
|
|
EXTERN ?BANKED_LEAVE_XDATA
|
|
EXTERN ?BDISPATCH
|
|
EXTERN ?BRET
|
|
EXTERN ?CALL_IND
|
|
EXTERN ?DEALLOC_XSTACK8
|
|
EXTERN ?PUSH_XSTACK_I_THREE
|
|
EXTERN ?XLOAD_R0123
|
|
EXTERN ?XSP
|
|
EXTERN ?XSTORE_R0123
|
|
EXTERN __INIT_XDATA_Z
|
|
|
|
PUBLIC `??ZMacAssociateReq::?relay`
|
|
FUNCTION `??ZMacAssociateReq::?relay`,0203H
|
|
PUBLIC `??ZMacAssociateRsp::?relay`
|
|
FUNCTION `??ZMacAssociateRsp::?relay`,0203H
|
|
PUBLIC `??ZMacDataReq::?relay`
|
|
FUNCTION `??ZMacDataReq::?relay`,0203H
|
|
PUBLIC `??ZMacDataReqSec::?relay`
|
|
FUNCTION `??ZMacDataReqSec::?relay`,0203H
|
|
PUBLIC `??ZMacDisassociateReq::?relay`
|
|
FUNCTION `??ZMacDisassociateReq::?relay`,0203H
|
|
PUBLIC `??ZMacGetReq::?relay`
|
|
FUNCTION `??ZMacGetReq::?relay`,0203H
|
|
PUBLIC `??ZMacInit::?relay`
|
|
FUNCTION `??ZMacInit::?relay`,0203H
|
|
PUBLIC `??ZMacOrphanRsp::?relay`
|
|
FUNCTION `??ZMacOrphanRsp::?relay`,0203H
|
|
PUBLIC `??ZMacPollReq::?relay`
|
|
FUNCTION `??ZMacPollReq::?relay`,0203H
|
|
PUBLIC `??ZMacPurgeReq::?relay`
|
|
FUNCTION `??ZMacPurgeReq::?relay`,0203H
|
|
PUBLIC `??ZMacPwrOnReq::?relay`
|
|
FUNCTION `??ZMacPwrOnReq::?relay`,0203H
|
|
PUBLIC `??ZMacReset::?relay`
|
|
FUNCTION `??ZMacReset::?relay`,0203H
|
|
PUBLIC `??ZMacScanReq::?relay`
|
|
FUNCTION `??ZMacScanReq::?relay`,0203H
|
|
PUBLIC `??ZMacSendNoData::?relay`
|
|
FUNCTION `??ZMacSendNoData::?relay`,0203H
|
|
PUBLIC `??ZMacSetReq::?relay`
|
|
FUNCTION `??ZMacSetReq::?relay`,0203H
|
|
PUBLIC `??ZMacSetTransmitPower::?relay`
|
|
FUNCTION `??ZMacSetTransmitPower::?relay`,0203H
|
|
PUBLIC `??ZMacSrcMatchAckAllPending::?relay`
|
|
FUNCTION `??ZMacSrcMatchAckAllPending::?relay`,0203H
|
|
PUBLIC `??ZMacSrcMatchAddEntry::?relay`
|
|
FUNCTION `??ZMacSrcMatchAddEntry::?relay`,0203H
|
|
PUBLIC `??ZMacSrcMatchCheckAllPending::?relay`
|
|
FUNCTION `??ZMacSrcMatchCheckAllPending::?relay`,0203H
|
|
PUBLIC `??ZMacSrcMatchDeleteEntry::?relay`
|
|
FUNCTION `??ZMacSrcMatchDeleteEntry::?relay`,0203H
|
|
PUBLIC `??ZMacSrcMatchEnable::?relay`
|
|
FUNCTION `??ZMacSrcMatchEnable::?relay`,0203H
|
|
PUBLIC `??ZMacStartReq::?relay`
|
|
FUNCTION `??ZMacStartReq::?relay`,0203H
|
|
PUBLIC `??ZMacStateIdle::?relay`
|
|
FUNCTION `??ZMacStateIdle::?relay`,0203H
|
|
PUBLIC `??ZMacSyncReq::?relay`
|
|
FUNCTION `??ZMacSyncReq::?relay`,0203H
|
|
PUBLIC `??ZMac_PwrMode::?relay`
|
|
FUNCTION `??ZMac_PwrMode::?relay`,0203H
|
|
PUBLIC ZMacAssociateReq
|
|
FUNCTION ZMacAssociateReq,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC ZMacAssociateRsp
|
|
FUNCTION ZMacAssociateRsp,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC ZMacDataReq
|
|
FUNCTION ZMacDataReq,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC ZMacDataReqSec
|
|
FUNCTION ZMacDataReqSec,0a1203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
LOCFRAME XSTACK, 19, STACK
|
|
PUBLIC ZMacDisassociateReq
|
|
FUNCTION ZMacDisassociateReq,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC ZMacGetReq
|
|
FUNCTION ZMacGetReq,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
PUBLIC ZMacInit
|
|
FUNCTION ZMacInit,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
PUBLIC ZMacOrphanRsp
|
|
FUNCTION ZMacOrphanRsp,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC ZMacPollReq
|
|
FUNCTION ZMacPollReq,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC ZMacPurgeReq
|
|
FUNCTION ZMacPurgeReq,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
PUBLIC ZMacPwrOnReq
|
|
FUNCTION ZMacPwrOnReq,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC ZMacReset
|
|
FUNCTION ZMacReset,021203H
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
LOCFRAME XSTACK, 10, STACK
|
|
PUBLIC ZMacScanReq
|
|
FUNCTION ZMacScanReq,0a1203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 10, STACK
|
|
PUBLIC ZMacSendNoData
|
|
FUNCTION ZMacSendNoData,0a1203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
PUBLIC ZMacSetReq
|
|
FUNCTION ZMacSetReq,0a1203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
PUBLIC ZMacSetTransmitPower
|
|
FUNCTION ZMacSetTransmitPower,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 3, STACK
|
|
LOCFRAME XSTACK, 1, STACK
|
|
PUBLIC ZMacSrcMatchAckAllPending
|
|
FUNCTION ZMacSrcMatchAckAllPending,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
PUBLIC ZMacSrcMatchAddEntry
|
|
FUNCTION ZMacSrcMatchAddEntry,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC ZMacSrcMatchCheckAllPending
|
|
FUNCTION ZMacSrcMatchCheckAllPending,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC ZMacSrcMatchDeleteEntry
|
|
FUNCTION ZMacSrcMatchDeleteEntry,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC ZMacSrcMatchEnable
|
|
FUNCTION ZMacSrcMatchEnable,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
PUBLIC ZMacStartReq
|
|
FUNCTION ZMacStartReq,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 10, STACK
|
|
PUBLIC ZMacStateIdle
|
|
FUNCTION ZMacStateIdle,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC ZMacSyncReq
|
|
FUNCTION ZMacSyncReq,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC ZMac_PwrMode
|
|
FUNCTION ZMac_PwrMode,021203H
|
|
ARGFRAME XSTACK, 0, STACK
|
|
LOCFRAME ISTACK, 2, STACK
|
|
PUBLIC ZMac_ScanBuf
|
|
PUBLIC _ScanChannels
|
|
|
|
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
|
|
|
|
MAC_Init SYMBOL "MAC_Init"
|
|
`??MAC_Init::?relay` SYMBOL "?relay", MAC_Init
|
|
MAC_InitCoord SYMBOL "MAC_InitCoord"
|
|
`??MAC_InitCoord::?relay` SYMBOL "?relay", MAC_InitCoord
|
|
MAC_InitDevice SYMBOL "MAC_InitDevice"
|
|
`??MAC_InitDevice::?relay` SYMBOL "?relay", MAC_InitDevice
|
|
MAC_McpsDataAlloc SYMBOL "MAC_McpsDataAlloc"
|
|
`??MAC_McpsDataAlloc::?relay` SYMBOL "?relay", MAC_McpsDataAlloc
|
|
MAC_McpsDataReq SYMBOL "MAC_McpsDataReq"
|
|
`??MAC_McpsDataReq::?relay` SYMBOL "?relay", MAC_McpsDataReq
|
|
MAC_McpsPurgeReq SYMBOL "MAC_McpsPurgeReq"
|
|
`??MAC_McpsPurgeReq::?relay` SYMBOL "?relay", MAC_McpsPurgeReq
|
|
MAC_MlmeAssociateReq SYMBOL "MAC_MlmeAssociateReq"
|
|
`??MAC_MlmeAssociateReq::?relay` SYMBOL "?relay", MAC_MlmeAssociateReq
|
|
MAC_MlmeAssociateRsp SYMBOL "MAC_MlmeAssociateRsp"
|
|
`??MAC_MlmeAssociateRsp::?relay` SYMBOL "?relay", MAC_MlmeAssociateRsp
|
|
MAC_MlmeDisassociateReq SYMBOL "MAC_MlmeDisassociateReq"
|
|
`??MAC_MlmeDisassociateReq::?relay` SYMBOL "?relay", MAC_MlmeDisassociateReq
|
|
MAC_MlmeGetReq SYMBOL "MAC_MlmeGetReq"
|
|
`??MAC_MlmeGetReq::?relay` SYMBOL "?relay", MAC_MlmeGetReq
|
|
MAC_MlmeOrphanRsp SYMBOL "MAC_MlmeOrphanRsp"
|
|
`??MAC_MlmeOrphanRsp::?relay` SYMBOL "?relay", MAC_MlmeOrphanRsp
|
|
MAC_MlmePollReq SYMBOL "MAC_MlmePollReq"
|
|
`??MAC_MlmePollReq::?relay` SYMBOL "?relay", MAC_MlmePollReq
|
|
MAC_MlmeResetReq SYMBOL "MAC_MlmeResetReq"
|
|
`??MAC_MlmeResetReq::?relay` SYMBOL "?relay", MAC_MlmeResetReq
|
|
MAC_MlmeScanReq SYMBOL "MAC_MlmeScanReq"
|
|
`??MAC_MlmeScanReq::?relay` SYMBOL "?relay", MAC_MlmeScanReq
|
|
MAC_MlmeSetReq SYMBOL "MAC_MlmeSetReq"
|
|
`??MAC_MlmeSetReq::?relay` SYMBOL "?relay", MAC_MlmeSetReq
|
|
MAC_MlmeStartReq SYMBOL "MAC_MlmeStartReq"
|
|
`??MAC_MlmeStartReq::?relay` SYMBOL "?relay", MAC_MlmeStartReq
|
|
MAC_MlmeSyncReq SYMBOL "MAC_MlmeSyncReq"
|
|
`??MAC_MlmeSyncReq::?relay` SYMBOL "?relay", MAC_MlmeSyncReq
|
|
MAC_PwrMode SYMBOL "MAC_PwrMode"
|
|
`??MAC_PwrMode::?relay` SYMBOL "?relay", MAC_PwrMode
|
|
MAC_PwrOnReq SYMBOL "MAC_PwrOnReq"
|
|
`??MAC_PwrOnReq::?relay` SYMBOL "?relay", MAC_PwrOnReq
|
|
MAC_SrcMatchAckAllPending SYMBOL "MAC_SrcMatchAckAllPending"
|
|
`??MAC_SrcMatchAckAllPending::?relay` SYMBOL "?relay", MAC_SrcMatchAckAllPending
|
|
MAC_SrcMatchAddEntry SYMBOL "MAC_SrcMatchAddEntry"
|
|
`??MAC_SrcMatchAddEntry::?relay` SYMBOL "?relay", MAC_SrcMatchAddEntry
|
|
MAC_SrcMatchCheckAllPending SYMBOL "MAC_SrcMatchCheckAllPending"
|
|
`??MAC_SrcMatchCheckAllPending::?relay` SYMBOL "?relay", MAC_SrcMatchCheckAllPending
|
|
MAC_SrcMatchDeleteEntry SYMBOL "MAC_SrcMatchDeleteEntry"
|
|
`??MAC_SrcMatchDeleteEntry::?relay` SYMBOL "?relay", MAC_SrcMatchDeleteEntry
|
|
MAC_SrcMatchEnable SYMBOL "MAC_SrcMatchEnable"
|
|
`??MAC_SrcMatchEnable::?relay` SYMBOL "?relay", MAC_SrcMatchEnable
|
|
macStateIdle SYMBOL "macStateIdle"
|
|
`??macStateIdle::?relay` SYMBOL "?relay", macStateIdle
|
|
osal_int_disable SYMBOL "osal_int_disable"
|
|
`??osal_int_disable::?relay` SYMBOL "?relay", osal_int_disable
|
|
osal_mem_alloc SYMBOL "osal_mem_alloc"
|
|
`??osal_mem_alloc::?relay` SYMBOL "?relay", osal_mem_alloc
|
|
osal_mem_free SYMBOL "osal_mem_free"
|
|
`??osal_mem_free::?relay` SYMBOL "?relay", osal_mem_free
|
|
osal_memcpy SYMBOL "osal_memcpy"
|
|
`??osal_memcpy::?relay` SYMBOL "?relay", osal_memcpy
|
|
osal_memset SYMBOL "osal_memset"
|
|
`??osal_memset::?relay` SYMBOL "?relay", osal_memset
|
|
osal_msg_deallocate SYMBOL "osal_msg_deallocate"
|
|
`??osal_msg_deallocate::?relay` SYMBOL "?relay", osal_msg_deallocate
|
|
sAddrExtCpy SYMBOL "sAddrExtCpy"
|
|
`??sAddrExtCpy::?relay` SYMBOL "?relay", sAddrExtCpy
|
|
ZMacAssociateReq SYMBOL "ZMacAssociateReq"
|
|
`??ZMacAssociateReq::?relay` SYMBOL "?relay", ZMacAssociateReq
|
|
ZMacAssociateRsp SYMBOL "ZMacAssociateRsp"
|
|
`??ZMacAssociateRsp::?relay` SYMBOL "?relay", ZMacAssociateRsp
|
|
ZMacDataReq SYMBOL "ZMacDataReq"
|
|
`??ZMacDataReq::?relay` SYMBOL "?relay", ZMacDataReq
|
|
ZMacDataReqSec SYMBOL "ZMacDataReqSec"
|
|
`??ZMacDataReqSec::?relay` SYMBOL "?relay", ZMacDataReqSec
|
|
ZMacDisassociateReq SYMBOL "ZMacDisassociateReq"
|
|
`??ZMacDisassociateReq::?relay` SYMBOL "?relay", ZMacDisassociateReq
|
|
ZMacGetReq SYMBOL "ZMacGetReq"
|
|
`??ZMacGetReq::?relay` SYMBOL "?relay", ZMacGetReq
|
|
ZMacInit SYMBOL "ZMacInit"
|
|
`??ZMacInit::?relay` SYMBOL "?relay", ZMacInit
|
|
ZMacOrphanRsp SYMBOL "ZMacOrphanRsp"
|
|
`??ZMacOrphanRsp::?relay` SYMBOL "?relay", ZMacOrphanRsp
|
|
ZMacPollReq SYMBOL "ZMacPollReq"
|
|
`??ZMacPollReq::?relay` SYMBOL "?relay", ZMacPollReq
|
|
ZMacPurgeReq SYMBOL "ZMacPurgeReq"
|
|
`??ZMacPurgeReq::?relay` SYMBOL "?relay", ZMacPurgeReq
|
|
ZMacPwrOnReq SYMBOL "ZMacPwrOnReq"
|
|
`??ZMacPwrOnReq::?relay` SYMBOL "?relay", ZMacPwrOnReq
|
|
ZMacReset SYMBOL "ZMacReset"
|
|
`??ZMacReset::?relay` SYMBOL "?relay", ZMacReset
|
|
ZMacScanReq SYMBOL "ZMacScanReq"
|
|
`??ZMacScanReq::?relay` SYMBOL "?relay", ZMacScanReq
|
|
ZMacSendNoData SYMBOL "ZMacSendNoData"
|
|
`??ZMacSendNoData::?relay` SYMBOL "?relay", ZMacSendNoData
|
|
ZMacSetReq SYMBOL "ZMacSetReq"
|
|
`??ZMacSetReq::?relay` SYMBOL "?relay", ZMacSetReq
|
|
ZMacSetTransmitPower SYMBOL "ZMacSetTransmitPower"
|
|
`??ZMacSetTransmitPower::?relay` SYMBOL "?relay", ZMacSetTransmitPower
|
|
ZMacSrcMatchAckAllPending SYMBOL "ZMacSrcMatchAckAllPending"
|
|
`??ZMacSrcMatchAckAllPending::?relay` SYMBOL "?relay", ZMacSrcMatchAckAllPending
|
|
ZMacSrcMatchAddEntry SYMBOL "ZMacSrcMatchAddEntry"
|
|
`??ZMacSrcMatchAddEntry::?relay` SYMBOL "?relay", ZMacSrcMatchAddEntry
|
|
ZMacSrcMatchCheckAllPending SYMBOL "ZMacSrcMatchCheckAllPending"
|
|
`??ZMacSrcMatchCheckAllPending::?relay` SYMBOL "?relay", ZMacSrcMatchCheckAllPending
|
|
ZMacSrcMatchDeleteEntry SYMBOL "ZMacSrcMatchDeleteEntry"
|
|
`??ZMacSrcMatchDeleteEntry::?relay` SYMBOL "?relay", ZMacSrcMatchDeleteEntry
|
|
ZMacSrcMatchEnable SYMBOL "ZMacSrcMatchEnable"
|
|
`??ZMacSrcMatchEnable::?relay` SYMBOL "?relay", ZMacSrcMatchEnable
|
|
ZMacStartReq SYMBOL "ZMacStartReq"
|
|
`??ZMacStartReq::?relay` SYMBOL "?relay", ZMacStartReq
|
|
ZMacStateIdle SYMBOL "ZMacStateIdle"
|
|
`??ZMacStateIdle::?relay` SYMBOL "?relay", ZMacStateIdle
|
|
ZMacSyncReq SYMBOL "ZMacSyncReq"
|
|
`??ZMacSyncReq::?relay` SYMBOL "?relay", ZMacSyncReq
|
|
ZMac_PwrMode SYMBOL "ZMac_PwrMode"
|
|
`??ZMac_PwrMode::?relay` SYMBOL "?relay", ZMac_PwrMode
|
|
|
|
EXTERN `??MAC_Init::?relay`
|
|
FUNCTION `??MAC_Init::?relay`,00H
|
|
EXTERN `??MAC_InitCoord::?relay`
|
|
FUNCTION `??MAC_InitCoord::?relay`,00H
|
|
EXTERN `??MAC_InitDevice::?relay`
|
|
FUNCTION `??MAC_InitDevice::?relay`,00H
|
|
EXTERN `??MAC_McpsDataAlloc::?relay`
|
|
FUNCTION `??MAC_McpsDataAlloc::?relay`,00H
|
|
EXTERN `??MAC_McpsDataReq::?relay`
|
|
FUNCTION `??MAC_McpsDataReq::?relay`,00H
|
|
EXTERN `??MAC_McpsPurgeReq::?relay`
|
|
FUNCTION `??MAC_McpsPurgeReq::?relay`,00H
|
|
EXTERN `??MAC_MlmeAssociateReq::?relay`
|
|
FUNCTION `??MAC_MlmeAssociateReq::?relay`,00H
|
|
EXTERN `??MAC_MlmeAssociateRsp::?relay`
|
|
FUNCTION `??MAC_MlmeAssociateRsp::?relay`,00H
|
|
EXTERN `??MAC_MlmeDisassociateReq::?relay`
|
|
FUNCTION `??MAC_MlmeDisassociateReq::?relay`,00H
|
|
EXTERN `??MAC_MlmeGetReq::?relay`
|
|
FUNCTION `??MAC_MlmeGetReq::?relay`,00H
|
|
EXTERN `??MAC_MlmeOrphanRsp::?relay`
|
|
FUNCTION `??MAC_MlmeOrphanRsp::?relay`,00H
|
|
EXTERN `??MAC_MlmePollReq::?relay`
|
|
FUNCTION `??MAC_MlmePollReq::?relay`,00H
|
|
EXTERN `??MAC_MlmeResetReq::?relay`
|
|
FUNCTION `??MAC_MlmeResetReq::?relay`,00H
|
|
EXTERN `??MAC_MlmeScanReq::?relay`
|
|
FUNCTION `??MAC_MlmeScanReq::?relay`,00H
|
|
EXTERN `??MAC_MlmeSetReq::?relay`
|
|
FUNCTION `??MAC_MlmeSetReq::?relay`,00H
|
|
EXTERN `??MAC_MlmeStartReq::?relay`
|
|
FUNCTION `??MAC_MlmeStartReq::?relay`,00H
|
|
EXTERN `??MAC_MlmeSyncReq::?relay`
|
|
FUNCTION `??MAC_MlmeSyncReq::?relay`,00H
|
|
EXTERN `??MAC_PwrMode::?relay`
|
|
FUNCTION `??MAC_PwrMode::?relay`,00H
|
|
EXTERN `??MAC_PwrOnReq::?relay`
|
|
FUNCTION `??MAC_PwrOnReq::?relay`,00H
|
|
EXTERN `??MAC_SrcMatchAckAllPending::?relay`
|
|
FUNCTION `??MAC_SrcMatchAckAllPending::?relay`,00H
|
|
EXTERN `??MAC_SrcMatchAddEntry::?relay`
|
|
FUNCTION `??MAC_SrcMatchAddEntry::?relay`,00H
|
|
EXTERN `??MAC_SrcMatchCheckAllPending::?relay`
|
|
FUNCTION `??MAC_SrcMatchCheckAllPending::?relay`,00H
|
|
EXTERN `??MAC_SrcMatchDeleteEntry::?relay`
|
|
FUNCTION `??MAC_SrcMatchDeleteEntry::?relay`,00H
|
|
EXTERN `??MAC_SrcMatchEnable::?relay`
|
|
FUNCTION `??MAC_SrcMatchEnable::?relay`,00H
|
|
EXTERN `??macStateIdle::?relay`
|
|
FUNCTION `??macStateIdle::?relay`,00H
|
|
EXTERN `??osal_int_disable::?relay`
|
|
FUNCTION `??osal_int_disable::?relay`,00H
|
|
EXTERN `??osal_mem_alloc::?relay`
|
|
FUNCTION `??osal_mem_alloc::?relay`,00H
|
|
EXTERN `??osal_mem_free::?relay`
|
|
FUNCTION `??osal_mem_free::?relay`,00H
|
|
EXTERN `??osal_memcpy::?relay`
|
|
FUNCTION `??osal_memcpy::?relay`,00H
|
|
EXTERN `??osal_memset::?relay`
|
|
FUNCTION `??osal_memset::?relay`,00H
|
|
EXTERN `??osal_msg_deallocate::?relay`
|
|
FUNCTION `??osal_msg_deallocate::?relay`,00H
|
|
EXTERN `??sAddrExtCpy::?relay`
|
|
FUNCTION `??sAddrExtCpy::?relay`,00H
|
|
EXTERN MAC_Init
|
|
FUNCTION MAC_Init,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN MAC_InitCoord
|
|
FUNCTION MAC_InitCoord,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN MAC_InitDevice
|
|
FUNCTION MAC_InitDevice,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN MAC_McpsDataAlloc
|
|
FUNCTION MAC_McpsDataAlloc,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 16, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN MAC_McpsDataReq
|
|
FUNCTION MAC_McpsDataReq,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 16, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN MAC_McpsPurgeReq
|
|
FUNCTION MAC_McpsPurgeReq,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN MAC_MlmeAssociateReq
|
|
FUNCTION MAC_MlmeAssociateReq,0202H
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN MAC_MlmeAssociateRsp
|
|
FUNCTION MAC_MlmeAssociateRsp,0202H
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN MAC_MlmeDisassociateReq
|
|
FUNCTION MAC_MlmeDisassociateReq,0202H
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN MAC_MlmeGetReq
|
|
FUNCTION MAC_MlmeGetReq,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN MAC_MlmeOrphanRsp
|
|
FUNCTION MAC_MlmeOrphanRsp,0202H
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN MAC_MlmePollReq
|
|
FUNCTION MAC_MlmePollReq,0202H
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN MAC_MlmeResetReq
|
|
FUNCTION MAC_MlmeResetReq,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 10, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN MAC_MlmeScanReq
|
|
FUNCTION MAC_MlmeScanReq,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 10, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN MAC_MlmeSetReq
|
|
FUNCTION MAC_MlmeSetReq,0202H
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 10, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN MAC_MlmeStartReq
|
|
FUNCTION MAC_MlmeStartReq,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 10, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN MAC_MlmeSyncReq
|
|
FUNCTION MAC_MlmeSyncReq,0202H
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN MAC_PwrMode
|
|
FUNCTION MAC_PwrMode,0202H
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN MAC_PwrOnReq
|
|
FUNCTION MAC_PwrOnReq,0202H
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN MAC_SrcMatchAckAllPending
|
|
FUNCTION MAC_SrcMatchAckAllPending,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN MAC_SrcMatchAddEntry
|
|
FUNCTION MAC_SrcMatchAddEntry,0202H
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN MAC_SrcMatchCheckAllPending
|
|
FUNCTION MAC_SrcMatchCheckAllPending,0202H
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN MAC_SrcMatchDeleteEntry
|
|
FUNCTION MAC_SrcMatchDeleteEntry,0202H
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN MAC_SrcMatchEnable
|
|
FUNCTION MAC_SrcMatchEnable,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN aExtendedAddress
|
|
EXTERN macStateIdle
|
|
FUNCTION macStateIdle,0202H
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN osal_int_disable
|
|
FUNCTION osal_int_disable,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN osal_mem_alloc
|
|
FUNCTION osal_mem_alloc,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 10, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN osal_mem_free
|
|
FUNCTION osal_mem_free,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 10, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN osal_memcpy
|
|
FUNCTION osal_memcpy,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 19, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN osal_memset
|
|
FUNCTION osal_memset,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 10, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN osal_msg_deallocate
|
|
FUNCTION osal_msg_deallocate,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 16, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
EXTERN sAddrExtCpy
|
|
FUNCTION sAddrExtCpy,0202H
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
|
|
// E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Components\zmac\f8w\zmac.c
|
|
// 1 /**************************************************************************************************
|
|
// 2 Filename: zmac.c
|
|
// 3 Revised: $Date: 2011-02-28 16:59:59 -0800 (Mon, 28 Feb 2011) $
|
|
// 4 Revision: $Revision: 25230 $
|
|
// 5
|
|
// 6
|
|
// 7 Description: This file contains the ZStack MAC Porting Layer
|
|
// 8
|
|
// 9
|
|
// 10 Copyright 2005-2010 Texas Instruments Incorporated. All rights reserved.
|
|
// 11
|
|
// 12 IMPORTANT: Your use of this Software is limited to those specific rights
|
|
// 13 granted under the terms of a software license agreement between the user
|
|
// 14 who downloaded the software, his/her employer (which must be your employer)
|
|
// 15 and Texas Instruments Incorporated (the "License"). You may not use this
|
|
// 16 Software unless you agree to abide by the terms of the License. The License
|
|
// 17 limits your use, and you acknowledge, that the Software may not be modified,
|
|
// 18 copied or distributed unless embedded on a Texas Instruments microcontroller
|
|
// 19 or used solely and exclusively in conjunction with a Texas Instruments radio
|
|
// 20 frequency transceiver, which is integrated into your product. Other than for
|
|
// 21 the foregoing purpose, you may not use, reproduce, copy, prepare derivative
|
|
// 22 works of, modify, distribute, perform, display or sell this Software and/or
|
|
// 23 its documentation for any purpose.
|
|
// 24
|
|
// 25 YOU FURTHER ACKNOWLEDGE AND AGREE THAT THE SOFTWARE AND DOCUMENTATION ARE
|
|
// 26 PROVIDED 揂S IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED,
|
|
// 27 INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE,
|
|
// 28 NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL
|
|
// 29 TEXAS INSTRUMENTS OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT,
|
|
// 30 NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER
|
|
// 31 LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
|
|
// 32 INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE
|
|
// 33 OR CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT
|
|
// 34 OF SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
|
|
// 35 (INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
|
|
// 36
|
|
// 37 Should you have any questions regarding your right to use this Software,
|
|
// 38 contact Texas Instruments Incorporated at www.TI.com.
|
|
// 39 **************************************************************************************************/
|
|
// 40
|
|
// 41 /********************************************************************************************************
|
|
// 42 * INCLUDES
|
|
// 43 ********************************************************************************************************/
|
|
// 44
|
|
// 45 #include "ZComDef.h"
|
|
// 46 #include "OSAL.h"
|
|
// 47 #include "ZMAC.h"
|
|
// 48 #include "mac_main.h"
|
|
// 49 #include "ssp.h"
|
|
// 50
|
|
// 51 #if !defined NONWK
|
|
// 52 #include "ZGlobals.h"
|
|
// 53 #endif
|
|
// 54
|
|
// 55 /********************************************************************************************************
|
|
// 56 * MACROS
|
|
// 57 ********************************************************************************************************/
|
|
// 58
|
|
// 59 /********************************************************************************************************
|
|
// 60 * CONSTANTS
|
|
// 61 ********************************************************************************************************/
|
|
// 62
|
|
// 63 /********************************************************************************************************
|
|
// 64 * GLOBALS
|
|
// 65 ********************************************************************************************************/
|
|
|
|
RSEG XDATA_Z:XDATA:NOROOT(0)
|
|
DATA32
|
|
// 66 uint32 _ScanChannels;
|
|
_ScanChannels:
|
|
DS 4
|
|
REQUIRE __INIT_XDATA_Z
|
|
// 67
|
|
// 68 extern uint8 aExtendedAddress[];
|
|
// 69
|
|
// 70 /**************************************************************************************************
|
|
// 71 * @fn MAC_SetRandomSeedCB
|
|
// 72 *
|
|
// 73 * @brief MAC function: Set the function pointer for the random seed callback.
|
|
// 74 *
|
|
// 75 * input parameters
|
|
// 76 *
|
|
// 77 * @param pCBFcn - function pointer of the random seed callback
|
|
// 78 *
|
|
// 79 * output parameters
|
|
// 80 *
|
|
// 81 * None.
|
|
// 82 *
|
|
// 83 * @return none
|
|
// 84 **************************************************************************************************
|
|
// 85 */
|
|
// 86 extern void MAC_SetRandomSeedCB(macRNGFcn_t pCBFcn);
|
|
// 87 /********************************************************************************************************
|
|
// 88 * LOCALS
|
|
// 89 ********************************************************************************************************/
|
|
// 90
|
|
// 91 /* Pointer to scan result buffer */
|
|
|
|
RSEG XDATA_Z:XDATA:NOROOT(0)
|
|
DATA16
|
|
// 92 void *ZMac_ScanBuf = NULL;
|
|
ZMac_ScanBuf:
|
|
DS 2
|
|
REQUIRE __INIT_XDATA_Z
|
|
// 93
|
|
// 94 /********************************************************************************************************
|
|
// 95 * LOCAL FUNCTION PROTOTYPES
|
|
// 96 ********************************************************************************************************/
|
|
// 97
|
|
// 98 /********************************************************************************************************
|
|
// 99 * TYPEDEFS
|
|
// 100 ********************************************************************************************************/
|
|
// 101
|
|
// 102
|
|
// 103 /********************************************************************************************************
|
|
// 104 * FUNCTIONS
|
|
// 105 ********************************************************************************************************/
|
|
// 106
|
|
// 107 /********************************************************************************************************
|
|
// 108 * @fn ZMacInit
|
|
// 109 *
|
|
// 110 * @brief Initialize MAC.
|
|
// 111 *
|
|
// 112 * @param none.
|
|
// 113 *
|
|
// 114 * @return status.
|
|
// 115 ********************************************************************************************************/
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 116 uint8 ZMacInit( void )
|
|
ZMacInit:
|
|
CFI Block cfiBlock0 Using cfiCommon0
|
|
CFI Function ZMacInit
|
|
CODE
|
|
// 117 {
|
|
FUNCALL ZMacInit, MAC_Init
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZMacInit, MAC_InitDevice
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZMacInit, MAC_InitCoord
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZMacInit, ZMacReset
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZMacInit, osal_int_disable
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
MOV A,#-0x9
|
|
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 V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
; Saved register size: 9
|
|
; Auto size: 0
|
|
// 118 uint8 stat;
|
|
// 119
|
|
// 120 #if defined( ZCL_KEY_ESTABLISH )
|
|
// 121 /* Set the callback function for 16 byte random seed */
|
|
// 122 MAC_SetRandomSeedCB( SSP_StoreRandomSeedNV);
|
|
// 123 #endif
|
|
// 124
|
|
// 125 MAC_Init();
|
|
; Setup parameters for call to function MAC_Init
|
|
LCALL `??MAC_Init::?relay`; Banked call to: MAC_Init
|
|
// 126 MAC_InitDevice();
|
|
; Setup parameters for call to function MAC_InitDevice
|
|
LCALL `??MAC_InitDevice::?relay`; Banked call to: MAC_InitDevice
|
|
// 127
|
|
// 128 #if !defined NONWK
|
|
// 129 if ( ZG_BUILD_RTR_TYPE )
|
|
// 130 {
|
|
// 131 MAC_InitCoord();
|
|
; Setup parameters for call to function MAC_InitCoord
|
|
LCALL `??MAC_InitCoord::?relay`; Banked call to: MAC_InitCoord
|
|
// 132 }
|
|
// 133 #endif
|
|
// 134
|
|
// 135 // If OK, initialize the MAC
|
|
// 136 stat = ZMacReset( TRUE );
|
|
; Setup parameters for call to function ZMacReset
|
|
MOV R1,#0x1
|
|
LCALL `??ZMacReset::?relay`; Banked call to: ZMacReset
|
|
MOV A,R1
|
|
MOV R6,A
|
|
// 137
|
|
// 138 // Turn off interrupts
|
|
// 139 osal_int_disable( INTS_ALL );
|
|
; Setup parameters for call to function osal_int_disable
|
|
MOV R1,#-0x1
|
|
LCALL `??osal_int_disable::?relay`; Banked call to: osal_int_disable
|
|
// 140
|
|
// 141 return ( stat );
|
|
MOV A,R6
|
|
MOV R1,A
|
|
LJMP ??Subroutine9_0 & 0xFFFF
|
|
// 142 }
|
|
CFI EndBlock cfiBlock0
|
|
// 143
|
|
// 144 /********************************************************************************************************
|
|
// 145 * @fn ZMacReset
|
|
// 146 *
|
|
// 147 * @brief Reset the MAC.
|
|
// 148 *
|
|
// 149 * @param Default to PIB defaults.
|
|
// 150 *
|
|
// 151 * @return status.
|
|
// 152 ********************************************************************************************************/
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 153 uint8 ZMacReset( bool SetDefaultPIB )
|
|
ZMacReset:
|
|
CFI Block cfiBlock1 Using cfiCommon0
|
|
CFI Function ZMacReset
|
|
CODE
|
|
// 154 {
|
|
FUNCALL ZMacReset, MAC_MlmeResetReq
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 10, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 10, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZMacReset, MAC_MlmeSetReq
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 10, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 10, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZMacReset, MAC_MlmeSetReq
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 10, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 10, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZMacReset, osal_mem_free
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 10, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 10, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
MOV A,#-0x9
|
|
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 V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
; Saved register size: 9
|
|
; Auto size: 1
|
|
MOV A,#-0x1
|
|
LCALL ?ALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
// 155 byte stat;
|
|
// 156 byte value;
|
|
// 157
|
|
// 158 stat = MAC_MlmeResetReq( SetDefaultPIB );
|
|
; Setup parameters for call to function MAC_MlmeResetReq
|
|
LCALL `??MAC_MlmeResetReq::?relay`; Banked call to: MAC_MlmeResetReq
|
|
MOV A,R1
|
|
MOV R6,A
|
|
// 159
|
|
// 160 // Don't send PAN ID conflict
|
|
// 161 value = FALSE;
|
|
MOV DPL,?XSP + 0
|
|
MOV DPH,?XSP + 1
|
|
CLR A
|
|
MOVX @DPTR,A
|
|
// 162 MAC_MlmeSetReq( MAC_ASSOCIATED_PAN_COORD, &value );
|
|
; Setup parameters for call to function MAC_MlmeSetReq
|
|
MOV R2,?XSP + 0
|
|
MOV R3,?XSP + 1
|
|
MOV R1,#0x56
|
|
LCALL `??MAC_MlmeSetReq::?relay`; Banked call to: MAC_MlmeSetReq
|
|
// 163 MAC_MlmeSetReq( MAC_EXTENDED_ADDRESS, &aExtendedAddress );
|
|
; Setup parameters for call to function MAC_MlmeSetReq
|
|
MOV R2,#aExtendedAddress & 0xff
|
|
MOV R3,#(aExtendedAddress >> 8) & 0xff
|
|
MOV R1,#-0x1e
|
|
LCALL `??MAC_MlmeSetReq::?relay`; Banked call to: MAC_MlmeSetReq
|
|
// 164
|
|
// 165 if (ZMac_ScanBuf)
|
|
LCALL ?Subroutine4 & 0xFFFF
|
|
??CrossCallReturnLabel_10:
|
|
JZ ??ZMacReset_0
|
|
// 166 {
|
|
// 167 osal_mem_free(ZMac_ScanBuf);
|
|
; Setup parameters for call to function osal_mem_free
|
|
MOV DPTR,#ZMac_ScanBuf
|
|
MOVX A,@DPTR
|
|
MOV R2,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV R3,A
|
|
LCALL `??osal_mem_free::?relay`; Banked call to: osal_mem_free
|
|
// 168 ZMac_ScanBuf = NULL;
|
|
MOV DPTR,#ZMac_ScanBuf
|
|
CLR A
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOVX @DPTR,A
|
|
// 169 }
|
|
// 170
|
|
// 171 return ( stat );
|
|
??ZMacReset_0:
|
|
MOV A,R6
|
|
MOV R1,A
|
|
SJMP ?Subroutine0
|
|
// 172 }
|
|
CFI EndBlock cfiBlock1
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine4:
|
|
CFI Block cfiCond2 Using cfiCommon0
|
|
CFI Function ZMacReset
|
|
CFI Conditional ??CrossCallReturnLabel_10
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V0 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, 10)
|
|
CFI Block cfiCond3 Using cfiCommon0
|
|
CFI (cfiCond3) Function ZMacScanReq
|
|
CFI (cfiCond3) Conditional ??CrossCallReturnLabel_11
|
|
CFI (cfiCond3) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond3) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond3) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond3) V1 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, 10)
|
|
CFI Block cfiPicker4 Using cfiCommon1
|
|
CFI (cfiPicker4) NoFunction
|
|
CFI (cfiPicker4) Picker
|
|
MOV DPTR,#ZMac_ScanBuf
|
|
CFI EndBlock cfiCond2
|
|
CFI EndBlock cfiCond3
|
|
CFI EndBlock cfiPicker4
|
|
REQUIRE ??Subroutine8_0
|
|
; // Fall through to label ??Subroutine8_0
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
??Subroutine8_0:
|
|
CFI Block cfiCond5 Using cfiCommon0
|
|
CFI Function ZMacDataReqSec
|
|
CFI Conditional ??CrossCallReturnLabel_9
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V7 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, 16)
|
|
CFI Block cfiCond6 Using cfiCommon0
|
|
CFI (cfiCond6) Function ZMacReset
|
|
CFI (cfiCond6) Conditional ??CrossCallReturnLabel_10
|
|
CFI (cfiCond6) R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond6) VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond6) V0 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, 10)
|
|
CFI Block cfiCond7 Using cfiCommon0
|
|
CFI (cfiCond7) Function ZMacScanReq
|
|
CFI (cfiCond7) Conditional ??CrossCallReturnLabel_11
|
|
CFI (cfiCond7) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond7) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond7) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond7) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond7) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond7) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond7) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond7) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond7) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond7) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond7) CFA_SP SP+-2
|
|
CFI (cfiCond7) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiPicker8 Using cfiCommon1
|
|
CFI (cfiPicker8) NoFunction
|
|
CFI (cfiPicker8) Picker
|
|
MOVX A,@DPTR
|
|
MOV R0,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV R1,A
|
|
MOV A,R0
|
|
ORL A,R1
|
|
RET
|
|
CFI EndBlock cfiCond5
|
|
CFI EndBlock cfiCond6
|
|
CFI EndBlock cfiCond7
|
|
CFI EndBlock cfiPicker8
|
|
// 173
|
|
// 174
|
|
// 175 /********************************************************************************************************
|
|
// 176 * @fn ZMacGetReq
|
|
// 177 *
|
|
// 178 * @brief Read a MAC PIB attribute.
|
|
// 179 *
|
|
// 180 * @param attr - PIB attribute to get
|
|
// 181 * @param value - pointer to the buffer to store the attribute
|
|
// 182 *
|
|
// 183 * @return status
|
|
// 184 ********************************************************************************************************/
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 185 uint8 ZMacGetReq( uint8 attr, uint8 *value )
|
|
ZMacGetReq:
|
|
CFI Block cfiBlock9 Using cfiCommon0
|
|
CFI Function ZMacGetReq
|
|
CODE
|
|
// 186 {
|
|
FUNCALL ZMacGetReq, sAddrExtCpy
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZMacGetReq, MAC_MlmeGetReq
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
MOV A,#-0x9
|
|
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 V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
; Saved register size: 9
|
|
; Auto size: 0
|
|
MOV A,R1
|
|
MOV R6,A
|
|
// 187 if ( attr == ZMacExtAddr )
|
|
MOV A,#-0x1e
|
|
XRL A,R6
|
|
JNZ ??ZMacGetReq_0
|
|
// 188 {
|
|
// 189 osal_cpyExtAddr( value, &aExtendedAddress );
|
|
; Setup parameters for call to function sAddrExtCpy
|
|
MOV R4,#aExtendedAddress & 0xff
|
|
MOV R5,#(aExtendedAddress >> 8) & 0xff
|
|
LCALL `??sAddrExtCpy::?relay`; Banked call to: sAddrExtCpy
|
|
// 190 return ZMacSuccess;
|
|
MOV R1,#0x0
|
|
SJMP ??ZMacGetReq_1
|
|
// 191 }
|
|
// 192
|
|
// 193 return (ZMacStatus_t) MAC_MlmeGetReq( attr, value );
|
|
??ZMacGetReq_0:
|
|
; Setup parameters for call to function MAC_MlmeGetReq
|
|
LCALL `??MAC_MlmeGetReq::?relay`; Banked call to: MAC_MlmeGetReq
|
|
??ZMacGetReq_1:
|
|
SJMP ??Subroutine9_0
|
|
// 194 }
|
|
CFI EndBlock cfiBlock9
|
|
// 195
|
|
// 196
|
|
// 197 /********************************************************************************************************
|
|
// 198 * @fn ZMacSetReq
|
|
// 199 *
|
|
// 200 * @brief Write a MAC PIB attribute.
|
|
// 201 *
|
|
// 202 * @param attr - PIB attribute to Set
|
|
// 203 * @param value - pointer to the data
|
|
// 204 *
|
|
// 205 * @return status
|
|
// 206 ********************************************************************************************************/
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 207 uint8 ZMacSetReq( uint8 attr, byte *value )
|
|
ZMacSetReq:
|
|
CFI Block cfiBlock10 Using cfiCommon0
|
|
CFI Function ZMacSetReq
|
|
CODE
|
|
// 208 {
|
|
FUNCALL ZMacSetReq, sAddrExtCpy
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZMacSetReq, MAC_MlmeSetReq
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
REQUIRE ?V0
|
|
MOV A,#-0x9
|
|
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 V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
; Saved register size: 9
|
|
; Auto size: 0
|
|
MOV ?V0,R1
|
|
MOV A,R2
|
|
MOV R6,A
|
|
MOV A,R3
|
|
MOV R7,A
|
|
// 209 if ( attr == ZMacExtAddr )
|
|
MOV A,#-0x1e
|
|
XRL A,R1
|
|
JNZ ??ZMacSetReq_0
|
|
// 210 {
|
|
// 211 osal_cpyExtAddr( aExtendedAddress, value );
|
|
; Setup parameters for call to function sAddrExtCpy
|
|
MOV A,R2
|
|
MOV R4,A
|
|
MOV A,R3
|
|
MOV R5,A
|
|
MOV R2,#aExtendedAddress & 0xff
|
|
MOV R3,#(aExtendedAddress >> 8) & 0xff
|
|
LCALL `??sAddrExtCpy::?relay`; Banked call to: sAddrExtCpy
|
|
// 212 }
|
|
// 213
|
|
// 214 return (ZMacStatus_t) MAC_MlmeSetReq( attr, value );
|
|
??ZMacSetReq_0:
|
|
; Setup parameters for call to function MAC_MlmeSetReq
|
|
MOV A,R6
|
|
MOV R2,A
|
|
MOV A,R7
|
|
MOV R3,A
|
|
MOV R1,?V0
|
|
LCALL `??MAC_MlmeSetReq::?relay`; Banked call to: MAC_MlmeSetReq
|
|
SJMP ??Subroutine9_0
|
|
// 215 }
|
|
CFI EndBlock cfiBlock10
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine0:
|
|
CFI Block cfiBlock11 Using cfiCommon0
|
|
CFI NoFunction
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
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(-9)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 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 A,#0x1
|
|
LCALL ?DEALLOC_XSTACK8
|
|
CFI EndBlock cfiBlock11
|
|
REQUIRE ??Subroutine9_0
|
|
; // Fall through to label ??Subroutine9_0
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
??Subroutine9_0:
|
|
CFI Block cfiBlock12 Using cfiCommon0
|
|
CFI NoFunction
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
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(-9)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 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,#0x1
|
|
LJMP ?BANKED_LEAVE_XDATA
|
|
CFI EndBlock cfiBlock12
|
|
// 216
|
|
// 217 #ifdef MAC_SECURITY
|
|
// 218 /********************************************************************************************************
|
|
// 219 * @fn ZMacSecurityGetReq
|
|
// 220 *
|
|
// 221 * @brief Read a MAC Security PIB attribute.
|
|
// 222 *
|
|
// 223 * @param attr - PIB attribute to get
|
|
// 224 * @param value - pointer to the buffer to store the attribute
|
|
// 225 *
|
|
// 226 * @return status
|
|
// 227 ********************************************************************************************************/
|
|
// 228 uint8 ZMacSecurityGetReq( uint8 attr, uint8 *value )
|
|
// 229 {
|
|
// 230 return (ZMacStatus_t) MAC_MlmeGetSecurityReq( attr, value );
|
|
// 231 }
|
|
// 232
|
|
// 233
|
|
// 234 /********************************************************************************************************
|
|
// 235 * @fn ZMacSecuritySetReq
|
|
// 236 *
|
|
// 237 * @brief Write a MAC Security PIB attribute.
|
|
// 238 *
|
|
// 239 * @param attr - PIB attribute to Set
|
|
// 240 * @param value - pointer to the data
|
|
// 241 *
|
|
// 242 * @return status
|
|
// 243 ********************************************************************************************************/
|
|
// 244 uint8 ZMacSecuritySetReq( uint8 attr, byte *value )
|
|
// 245 {
|
|
// 246 return (ZMacStatus_t) MAC_MlmeSetSecurityReq( attr, value );
|
|
// 247 }
|
|
// 248 #endif /* MAC_SECURITY */
|
|
// 249
|
|
// 250 /********************************************************************************************************
|
|
// 251 * @fn ZMacAssociateReq
|
|
// 252 *
|
|
// 253 * @brief Request an association with a coordinator.
|
|
// 254 *
|
|
// 255 * @param structure with info need to associate.
|
|
// 256 *
|
|
// 257 * @return status
|
|
// 258 ********************************************************************************************************/
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 259 uint8 ZMacAssociateReq( ZMacAssociateReq_t *pData )
|
|
ZMacAssociateReq:
|
|
CFI Block cfiBlock13 Using cfiCommon0
|
|
CFI Function ZMacAssociateReq
|
|
CODE
|
|
// 260 {
|
|
FUNCALL ZMacAssociateReq, MAC_MlmeAssociateReq
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
PUSH DPL
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI CFA_SP SP+-4
|
|
PUSH DPH
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
CFI CFA_SP SP+-5
|
|
; Saved register size: 2
|
|
; Auto size: 0
|
|
// 261 /* Right now, set security to zero */
|
|
// 262 pData->Sec.SecurityLevel = false;
|
|
MOV A,R2
|
|
ADD A,#0x16
|
|
LCALL ?Subroutine6 & 0xFFFF
|
|
// 263
|
|
// 264 MAC_MlmeAssociateReq ( (macMlmeAssociateReq_t *)pData);
|
|
??CrossCallReturnLabel_3:
|
|
; Setup parameters for call to function MAC_MlmeAssociateReq
|
|
LCALL `??MAC_MlmeAssociateReq::?relay`; Banked call to: MAC_MlmeAssociateReq
|
|
// 265 return ( ZMacSuccess );
|
|
LJMP ?Subroutine1 & 0xFFFF
|
|
// 266 }
|
|
CFI EndBlock cfiBlock13
|
|
// 267
|
|
// 268 /********************************************************************************************************
|
|
// 269 * @fn ZMacAssociateRsp
|
|
// 270 *
|
|
// 271 * @brief Request to send an association response message.
|
|
// 272 *
|
|
// 273 * @param structure with associate response and info needed to send it.
|
|
// 274 *
|
|
// 275 * @return MAC_SUCCESS or MAC error code
|
|
// 276 ********************************************************************************************************/
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 277 uint8 ZMacAssociateRsp( ZMacAssociateRsp_t *pData )
|
|
ZMacAssociateRsp:
|
|
CFI Block cfiBlock14 Using cfiCommon0
|
|
CFI Function ZMacAssociateRsp
|
|
CODE
|
|
// 278 {
|
|
FUNCALL ZMacAssociateRsp, MAC_MlmeAssociateRsp
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
PUSH DPL
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI CFA_SP SP+-4
|
|
PUSH DPH
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
CFI CFA_SP SP+-5
|
|
; Saved register size: 2
|
|
; Auto size: 0
|
|
// 279 /* TBD: set security to zero for now. Require Ztool change */
|
|
// 280 pData->Sec.SecurityLevel = false;
|
|
LCALL ?Subroutine3 & 0xFFFF
|
|
// 281
|
|
// 282 return ( MAC_MlmeAssociateRsp( (macMlmeAssociateRsp_t *) pData ) );
|
|
??CrossCallReturnLabel_0:
|
|
; Setup parameters for call to function MAC_MlmeAssociateRsp
|
|
LCALL `??MAC_MlmeAssociateRsp::?relay`; Banked call to: MAC_MlmeAssociateRsp
|
|
LJMP ??Subroutine11_0 & 0xFFFF
|
|
// 283 }
|
|
CFI EndBlock cfiBlock14
|
|
// 284
|
|
// 285 /********************************************************************************************************
|
|
// 286 * @fn ZMacDisassociateReq
|
|
// 287 *
|
|
// 288 * @brief Request to send a disassociate request message.
|
|
// 289 *
|
|
// 290 * @param structure with info need send it.
|
|
// 291 *
|
|
// 292 * @return status
|
|
// 293 ********************************************************************************************************/
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 294 uint8 ZMacDisassociateReq( ZMacDisassociateReq_t *pData )
|
|
ZMacDisassociateReq:
|
|
CFI Block cfiBlock15 Using cfiCommon0
|
|
CFI Function ZMacDisassociateReq
|
|
CODE
|
|
// 295 {
|
|
FUNCALL ZMacDisassociateReq, MAC_MlmeDisassociateReq
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
PUSH DPL
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI CFA_SP SP+-4
|
|
PUSH DPH
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
CFI CFA_SP SP+-5
|
|
; Saved register size: 2
|
|
; Auto size: 0
|
|
// 296 /* Right now, set security to zero */
|
|
// 297 pData->Sec.SecurityLevel = false;
|
|
MOV A,R2
|
|
ADD A,#0x15
|
|
LCALL ?Subroutine6 & 0xFFFF
|
|
// 298
|
|
// 299 MAC_MlmeDisassociateReq( (macMlmeDisassociateReq_t *)pData);
|
|
??CrossCallReturnLabel_4:
|
|
; Setup parameters for call to function MAC_MlmeDisassociateReq
|
|
LCALL `??MAC_MlmeDisassociateReq::?relay`; Banked call to: MAC_MlmeDisassociateReq
|
|
// 300 return ( ZMacSuccess );
|
|
LJMP ?Subroutine1 & 0xFFFF
|
|
// 301 }
|
|
CFI EndBlock cfiBlock15
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine6:
|
|
CFI Block cfiCond16 Using cfiCommon0
|
|
CFI Function ZMacAssociateReq
|
|
CFI Conditional ??CrossCallReturnLabel_3
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
CFI CFA_SP SP+-7
|
|
CFI Block cfiCond17 Using cfiCommon0
|
|
CFI (cfiCond17) Function ZMacDisassociateReq
|
|
CFI (cfiCond17) Conditional ??CrossCallReturnLabel_4
|
|
CFI (cfiCond17) DPL0 Frame(CFA_SP, 4)
|
|
CFI (cfiCond17) DPH0 Frame(CFA_SP, 5)
|
|
CFI (cfiCond17) CFA_SP SP+-7
|
|
CFI Block cfiCond18 Using cfiCommon0
|
|
CFI (cfiCond18) Function ZMacSendNoData
|
|
CFI (cfiCond18) Conditional ??CrossCallReturnLabel_5
|
|
CFI (cfiCond18) R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond18) VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond18) V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond18) V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond18) V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond18) V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond18) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond18) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond18) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond18) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond18) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond18) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond18) CFA_SP SP+-2
|
|
CFI (cfiCond18) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiCond19 Using cfiCommon0
|
|
CFI (cfiCond19) Function ZMacSendNoData
|
|
CFI (cfiCond19) Conditional ??CrossCallReturnLabel_6
|
|
CFI (cfiCond19) R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond19) VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond19) V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond19) V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond19) V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond19) V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond19) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond19) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond19) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond19) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond19) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond19) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond19) CFA_SP SP+-2
|
|
CFI (cfiCond19) CFA_XSP16 add(XSP16, 12)
|
|
CFI Block cfiPicker20 Using cfiCommon1
|
|
CFI (cfiPicker20) NoFunction
|
|
CFI (cfiPicker20) Picker
|
|
MOV DPL,A
|
|
CLR A
|
|
ADDC A,R3
|
|
MOV DPH,A
|
|
CLR A
|
|
MOVX @DPTR,A
|
|
RET
|
|
CFI EndBlock cfiCond16
|
|
CFI EndBlock cfiCond17
|
|
CFI EndBlock cfiCond18
|
|
CFI EndBlock cfiCond19
|
|
CFI EndBlock cfiPicker20
|
|
// 302
|
|
// 303 /********************************************************************************************************
|
|
// 304 * @fn ZMacOrphanRsp
|
|
// 305 *
|
|
// 306 * @brief Allows next higher layer to respond to an orphan indication message.
|
|
// 307 *
|
|
// 308 * @param structure with info need send it.
|
|
// 309 *
|
|
// 310 * @return status
|
|
// 311 ********************************************************************************************************/
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 312 uint8 ZMacOrphanRsp( ZMacOrphanRsp_t *pData )
|
|
ZMacOrphanRsp:
|
|
CFI Block cfiBlock21 Using cfiCommon0
|
|
CFI Function ZMacOrphanRsp
|
|
CODE
|
|
// 313 {
|
|
FUNCALL ZMacOrphanRsp, MAC_MlmeOrphanRsp
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
PUSH DPL
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI CFA_SP SP+-4
|
|
PUSH DPH
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
CFI CFA_SP SP+-5
|
|
; Saved register size: 2
|
|
; Auto size: 0
|
|
// 314 /* Right now, set security to zero */
|
|
// 315 pData->Sec.SecurityLevel = false;
|
|
LCALL ?Subroutine3 & 0xFFFF
|
|
// 316
|
|
// 317 MAC_MlmeOrphanRsp( (macMlmeOrphanRsp_t *)pData);
|
|
??CrossCallReturnLabel_1:
|
|
; Setup parameters for call to function MAC_MlmeOrphanRsp
|
|
LCALL `??MAC_MlmeOrphanRsp::?relay`; Banked call to: MAC_MlmeOrphanRsp
|
|
// 318 return ( ZMacSuccess );
|
|
LJMP ?Subroutine1 & 0xFFFF
|
|
// 319 }
|
|
CFI EndBlock cfiBlock21
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine3:
|
|
CFI Block cfiCond22 Using cfiCommon0
|
|
CFI Function ZMacAssociateRsp
|
|
CFI Conditional ??CrossCallReturnLabel_0
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
CFI CFA_SP SP+-7
|
|
CFI Block cfiCond23 Using cfiCommon0
|
|
CFI (cfiCond23) Function ZMacOrphanRsp
|
|
CFI (cfiCond23) Conditional ??CrossCallReturnLabel_1
|
|
CFI (cfiCond23) DPL0 Frame(CFA_SP, 4)
|
|
CFI (cfiCond23) DPH0 Frame(CFA_SP, 5)
|
|
CFI (cfiCond23) CFA_SP SP+-7
|
|
CFI Block cfiCond24 Using cfiCommon0
|
|
CFI (cfiCond24) Function ZMacPollReq
|
|
CFI (cfiCond24) Conditional ??CrossCallReturnLabel_2
|
|
CFI (cfiCond24) DPL0 Frame(CFA_SP, 4)
|
|
CFI (cfiCond24) DPH0 Frame(CFA_SP, 5)
|
|
CFI (cfiCond24) CFA_SP SP+-7
|
|
CFI Block cfiPicker25 Using cfiCommon1
|
|
CFI (cfiPicker25) NoFunction
|
|
CFI (cfiPicker25) Picker
|
|
MOV A,R2
|
|
ADD A,#0x13
|
|
MOV DPL,A
|
|
CLR A
|
|
ADDC A,R3
|
|
MOV DPH,A
|
|
CLR A
|
|
MOVX @DPTR,A
|
|
RET
|
|
CFI EndBlock cfiCond22
|
|
CFI EndBlock cfiCond23
|
|
CFI EndBlock cfiCond24
|
|
CFI EndBlock cfiPicker25
|
|
// 320
|
|
// 321 /********************************************************************************************************
|
|
// 322 * @fn ZMacScanReq
|
|
// 323 *
|
|
// 324 * @brief This function is called to perform a network scan.
|
|
// 325 *
|
|
// 326 * @param param - structure with info need send it.
|
|
// 327 *
|
|
// 328 * @return status
|
|
// 329 ********************************************************************************************************/
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 330 uint8 ZMacScanReq( ZMacScanReq_t *pData )
|
|
ZMacScanReq:
|
|
CFI Block cfiBlock26 Using cfiCommon0
|
|
CFI Function ZMacScanReq
|
|
CODE
|
|
// 331 {
|
|
FUNCALL ZMacScanReq, osal_mem_alloc
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 10, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 10, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZMacScanReq, osal_memset
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 10, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 10, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZMacScanReq, MAC_MlmeScanReq
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 10, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 10, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZMacScanReq, osal_mem_alloc
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 10, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 10, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
MOV A,#-0xa
|
|
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 V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
; Saved register size: 10
|
|
; Auto size: 0
|
|
MOV A,R2
|
|
MOV R6,A
|
|
MOV A,R3
|
|
MOV R7,A
|
|
// 332 _ScanChannels = pData->ScanChannels;
|
|
MOV DPL,R2
|
|
MOV DPH,A
|
|
LCALL ?XLOAD_R0123
|
|
MOV DPTR,#_ScanChannels
|
|
LCALL ?XSTORE_R0123
|
|
// 333
|
|
// 334 /* scan in progress */
|
|
// 335 if (ZMac_ScanBuf != NULL)
|
|
LCALL ?Subroutine4 & 0xFFFF
|
|
??CrossCallReturnLabel_11:
|
|
JZ ??ZMacScanReq_0
|
|
// 336 {
|
|
// 337 return MAC_SCAN_IN_PROGRESS;
|
|
MOV R1,#-0x4
|
|
SJMP ??ZMacScanReq_1
|
|
// 338 }
|
|
// 339
|
|
// 340 if (pData->ScanType != ZMAC_ORPHAN_SCAN)
|
|
??ZMacScanReq_0:
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
XRL A,#0x3
|
|
JZ ??ZMacScanReq_2
|
|
// 341 {
|
|
// 342 /* Allocate memory depends on the scan type */
|
|
// 343 if (pData->ScanType == ZMAC_ED_SCAN)
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
JNZ ??ZMacScanReq_3
|
|
// 344 {
|
|
// 345 if ((ZMac_ScanBuf = osal_mem_alloc(ZMAC_ED_SCAN_MAXCHANNELS)) == NULL)
|
|
; Setup parameters for call to function osal_mem_alloc
|
|
MOV R2,#0x1b
|
|
MOV R3,#0x0
|
|
LCALL `??osal_mem_alloc::?relay`; Banked call to: osal_mem_alloc
|
|
MOV ?V1,R3
|
|
MOV R1,?V1
|
|
MOV DPTR,#ZMac_ScanBuf
|
|
MOV A,R2
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOV A,R3
|
|
MOVX @DPTR,A
|
|
MOV A,R2
|
|
ORL A,R1
|
|
JZ ??ZMacScanReq_4
|
|
// 346 {
|
|
// 347 return MAC_NO_RESOURCES;
|
|
// 348 }
|
|
// 349 osal_memset(ZMac_ScanBuf, 0, ZMAC_ED_SCAN_MAXCHANNELS);
|
|
; Setup parameters for call to function osal_memset
|
|
MOV R4,#0x1b
|
|
MOV R5,#0x0
|
|
MOV R1,#0x0
|
|
LCALL `??osal_memset::?relay`; Banked call to: osal_memset
|
|
// 350 pData->Result.pEnergyDetect = ((uint8*)ZMac_ScanBuf) + MAC_CHAN_11;
|
|
MOV DPTR,#ZMac_ScanBuf
|
|
MOVX A,@DPTR
|
|
ADD A,#0xb
|
|
MOV R0,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
ADDC A,#0x0
|
|
MOV R1,A
|
|
LCALL ?Subroutine7 & 0xFFFF
|
|
// 351 }
|
|
??CrossCallReturnLabel_7:
|
|
MOV A,R0
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOV A,R1
|
|
MOVX @DPTR,A
|
|
// 352 else if (pData->MaxResults > 0)
|
|
// 353 {
|
|
// 354 if ((ZMac_ScanBuf = pData->Result.pPanDescriptor =
|
|
// 355 osal_mem_alloc( sizeof( ZMacPanDesc_t ) * pData->MaxResults )) == NULL)
|
|
// 356 {
|
|
// 357 return MAC_NO_RESOURCES;
|
|
// 358 }
|
|
// 359 }
|
|
// 360 }
|
|
// 361
|
|
// 362 /* Channel Page */
|
|
// 363 pData->ChannelPage = 0x00;
|
|
??ZMacScanReq_2:
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
CLR A
|
|
MOVX @DPTR,A
|
|
// 364
|
|
// 365 MAC_MlmeScanReq ((macMlmeScanReq_t *)pData);
|
|
; Setup parameters for call to function MAC_MlmeScanReq
|
|
MOV A,R6
|
|
MOV R2,A
|
|
MOV A,R7
|
|
MOV R3,A
|
|
LCALL `??MAC_MlmeScanReq::?relay`; Banked call to: MAC_MlmeScanReq
|
|
// 366
|
|
// 367 return ZMacSuccess;
|
|
MOV R1,#0x0
|
|
??ZMacScanReq_1:
|
|
MOV R7,#0x2
|
|
LJMP ?BANKED_LEAVE_XDATA
|
|
??ZMacScanReq_3:
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
JZ ??ZMacScanReq_2
|
|
; Setup parameters for call to function osal_mem_alloc
|
|
MOV B,#0x21
|
|
MUL AB
|
|
MOV R2,A
|
|
MOV R3,B
|
|
LCALL `??osal_mem_alloc::?relay`; Banked call to: osal_mem_alloc
|
|
MOV ?V1,R3
|
|
MOV R1,?V1
|
|
LCALL ?Subroutine7 & 0xFFFF
|
|
??CrossCallReturnLabel_8:
|
|
MOV A,R2
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOV A,R3
|
|
MOVX @DPTR,A
|
|
MOV DPTR,#ZMac_ScanBuf
|
|
MOV A,R2
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOV A,R3
|
|
MOVX @DPTR,A
|
|
MOV A,R2
|
|
ORL A,R1
|
|
JNZ ??ZMacScanReq_2
|
|
??ZMacScanReq_4:
|
|
MOV R1,#0x1a
|
|
SJMP ??ZMacScanReq_1
|
|
// 368 }
|
|
CFI EndBlock cfiBlock26
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine7:
|
|
CFI Block cfiCond27 Using cfiCommon0
|
|
CFI Function ZMacScanReq
|
|
CFI Conditional ??CrossCallReturnLabel_7
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 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, 10)
|
|
CFI Block cfiCond28 Using cfiCommon0
|
|
CFI (cfiCond28) Function ZMacScanReq
|
|
CFI (cfiCond28) Conditional ??CrossCallReturnLabel_8
|
|
CFI (cfiCond28) R6 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond28) VB load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond28) V0 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond28) V1 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond28) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond28) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond28) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond28) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond28) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond28) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond28) CFA_SP SP+-2
|
|
CFI (cfiCond28) CFA_XSP16 add(XSP16, 10)
|
|
CFI Block cfiPicker29 Using cfiCommon1
|
|
CFI (cfiPicker29) NoFunction
|
|
CFI (cfiPicker29) Picker
|
|
MOV A,R6
|
|
ADD A,#0x13
|
|
MOV DPL,A
|
|
CLR A
|
|
ADDC A,R7
|
|
MOV DPH,A
|
|
RET
|
|
CFI EndBlock cfiCond27
|
|
CFI EndBlock cfiCond28
|
|
CFI EndBlock cfiPicker29
|
|
// 369
|
|
// 370
|
|
// 371 /********************************************************************************************************
|
|
// 372 * @fn ZMacStartReq
|
|
// 373 *
|
|
// 374 * @brief This function is called to tell the MAC to transmit beacons
|
|
// 375 * and become a coordinator.
|
|
// 376 *
|
|
// 377 * @param structure with info need send it.
|
|
// 378 *
|
|
// 379 * @return status
|
|
// 380 ********************************************************************************************************/
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 381 uint8 ZMacStartReq( ZMacStartReq_t *pData )
|
|
ZMacStartReq:
|
|
CFI Block cfiBlock30 Using cfiCommon0
|
|
CFI Function ZMacStartReq
|
|
CODE
|
|
// 382 {
|
|
FUNCALL ZMacStartReq, MAC_MlmeSetReq
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 10, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 10, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZMacStartReq, MAC_MlmeStartReq
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 10, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 10, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
MOV A,#-0x9
|
|
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 V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
; Saved register size: 9
|
|
; Auto size: 1
|
|
MOV A,#-0x1
|
|
LCALL ?ALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 10)
|
|
MOV A,R2
|
|
MOV R6,A
|
|
MOV A,R3
|
|
MOV R7,A
|
|
// 383 uint8 stat;
|
|
// 384
|
|
// 385 // Probably want to keep the receiver on
|
|
// 386 stat = true;
|
|
MOV DPL,?XSP + 0
|
|
MOV DPH,?XSP + 1
|
|
MOV A,#0x1
|
|
MOVX @DPTR,A
|
|
// 387 MAC_MlmeSetReq( MAC_RX_ON_WHEN_IDLE, &stat );
|
|
; Setup parameters for call to function MAC_MlmeSetReq
|
|
MOV R2,?XSP + 0
|
|
MOV R3,?XSP + 1
|
|
MOV R1,#0x52
|
|
LCALL `??MAC_MlmeSetReq::?relay`; Banked call to: MAC_MlmeSetReq
|
|
// 388
|
|
// 389 /* Right now, set security to zero */
|
|
// 390 pData->RealignSec.SecurityLevel = false;
|
|
MOV A,R6
|
|
ADD A,#0x15
|
|
MOV DPL,A
|
|
CLR A
|
|
ADDC A,R7
|
|
MOV DPH,A
|
|
CLR A
|
|
MOVX @DPTR,A
|
|
// 391 pData->BeaconSec.SecurityLevel = false;
|
|
MOV A,R6
|
|
ADD A,#0x20
|
|
MOV DPL,A
|
|
CLR A
|
|
ADDC A,R7
|
|
MOV DPH,A
|
|
CLR A
|
|
MOVX @DPTR,A
|
|
// 392
|
|
// 393
|
|
// 394 MAC_MlmeStartReq((macMlmeStartReq_t *) pData);
|
|
; Setup parameters for call to function MAC_MlmeStartReq
|
|
MOV A,R6
|
|
MOV R2,A
|
|
MOV A,R7
|
|
MOV R3,A
|
|
LCALL `??MAC_MlmeStartReq::?relay`; Banked call to: MAC_MlmeStartReq
|
|
// 395
|
|
// 396 // MAC does not issue mlmeStartConfirm(), so we have to
|
|
// 397 // mlmeStartConfirm( stat ); This needs to be addressed some how
|
|
// 398
|
|
// 399 return ZMacSuccess;
|
|
MOV R1,#0x0
|
|
LJMP ?Subroutine0 & 0xFFFF
|
|
// 400 }
|
|
CFI EndBlock cfiBlock30
|
|
// 401
|
|
// 402 /********************************************************************************************************
|
|
// 403 * @fn ZMacSyncReq
|
|
// 404 *
|
|
// 405 * @brief This function is called to request a sync to the current
|
|
// 406 * networks beacons.
|
|
// 407 *
|
|
// 408 * @param LogicalChannel -
|
|
// 409 * @param TrackBeacon - true/false
|
|
// 410 *
|
|
// 411 * @return status
|
|
// 412 ********************************************************************************************************/
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 413 uint8 ZMacSyncReq( ZMacSyncReq_t *pData )
|
|
ZMacSyncReq:
|
|
CFI Block cfiBlock31 Using cfiCommon0
|
|
CFI Function ZMacSyncReq
|
|
CODE
|
|
// 414 {
|
|
FUNCALL ZMacSyncReq, MAC_MlmeSyncReq
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
PUSH DPL
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI CFA_SP SP+-4
|
|
PUSH DPH
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
CFI CFA_SP SP+-5
|
|
; Saved register size: 2
|
|
; Auto size: 0
|
|
// 415 MAC_MlmeSyncReq( (macMlmeSyncReq_t *)pData);
|
|
; Setup parameters for call to function MAC_MlmeSyncReq
|
|
LCALL `??MAC_MlmeSyncReq::?relay`; Banked call to: MAC_MlmeSyncReq
|
|
// 416 return ZMacSuccess;
|
|
LJMP ?Subroutine1 & 0xFFFF
|
|
// 417 }
|
|
CFI EndBlock cfiBlock31
|
|
// 418
|
|
// 419 /********************************************************************************************************
|
|
// 420 * @fn ZMacPollReq
|
|
// 421 *
|
|
// 422 * @brief This function is called to request MAC data request poll.
|
|
// 423 *
|
|
// 424 * @param coordAddr -
|
|
// 425 * @param coordPanId -
|
|
// 426 * @param SecurityEnable - true or false.
|
|
// 427 *
|
|
// 428 * @return status
|
|
// 429 ********************************************************************************************************/
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 430 uint8 ZMacPollReq( ZMacPollReq_t *pData )
|
|
ZMacPollReq:
|
|
CFI Block cfiBlock32 Using cfiCommon0
|
|
CFI Function ZMacPollReq
|
|
CODE
|
|
// 431 {
|
|
FUNCALL ZMacPollReq, MAC_MlmePollReq
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
PUSH DPL
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI CFA_SP SP+-4
|
|
PUSH DPH
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
CFI CFA_SP SP+-5
|
|
; Saved register size: 2
|
|
; Auto size: 0
|
|
// 432 /* Right now, set security to zero */
|
|
// 433 pData->Sec.SecurityLevel = false;
|
|
LCALL ?Subroutine3 & 0xFFFF
|
|
// 434
|
|
// 435 MAC_MlmePollReq ((macMlmePollReq_t *)pData);
|
|
??CrossCallReturnLabel_2:
|
|
; Setup parameters for call to function MAC_MlmePollReq
|
|
LCALL `??MAC_MlmePollReq::?relay`; Banked call to: MAC_MlmePollReq
|
|
// 436 return ( ZMacSuccess );
|
|
LJMP ?Subroutine1 & 0xFFFF
|
|
// 437 }
|
|
CFI EndBlock cfiBlock32
|
|
// 438
|
|
// 439 /********************************************************************************************************
|
|
// 440 * @fn ZMacDataReqSec
|
|
// 441 *
|
|
// 442 * @brief Send a MAC Data Frame packet, calls the passed in function to apply non-MAC security
|
|
// 443 * on the MAC data field after the MAC buffer allocation.
|
|
// 444 *
|
|
// 445 * @param pData - structure containing data and where to send it.
|
|
// 446 * @param secCB - callback function to apply security, NULL indicates no security
|
|
// 447 *
|
|
// 448 * @return status
|
|
// 449 ********************************************************************************************************/
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 450 uint8 ZMacDataReqSec( ZMacDataReq_t *pData, applySecCB_t secCB )
|
|
ZMacDataReqSec:
|
|
CFI Block cfiBlock33 Using cfiCommon0
|
|
CFI Function ZMacDataReqSec
|
|
CODE
|
|
// 451 {
|
|
FUNCALL ZMacDataReqSec, MAC_McpsDataAlloc
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 16, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 16, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZMacDataReqSec, osal_memcpy
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 19, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 19, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZMacDataReqSec, osal_memcpy
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 19, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 19, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZMacDataReqSec, osal_memcpy
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 19, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 19, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZMacDataReqSec, osal_msg_deallocate
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 16, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 16, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZMacDataReqSec, MAC_McpsDataReq
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 16, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 16, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
REQUIRE ?V2
|
|
REQUIRE ?V4
|
|
REQUIRE ?V5
|
|
REQUIRE ?V6
|
|
REQUIRE ?V7
|
|
MOV A,#-0x10
|
|
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 V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 16)
|
|
; Saved register size: 16
|
|
; Auto size: 0
|
|
MOV ?V4,R2
|
|
MOV ?V5,R3
|
|
MOV ?V6,R4
|
|
MOV ?V7,R5
|
|
// 452 macMcpsDataReq_t *pBuf;
|
|
// 453
|
|
// 454 /* Allocate memory */
|
|
// 455 pBuf = MAC_McpsDataAlloc( pData->msduLength, pData->Sec.SecurityLevel, pData->Sec.KeyIdMode );
|
|
; Setup parameters for call to function MAC_McpsDataAlloc
|
|
MOV A,R2
|
|
ADD A,#0x19
|
|
LCALL ??Subroutine10_0 & 0xFFFF
|
|
??CrossCallReturnLabel_12:
|
|
MOV R3,A
|
|
MOV A,R2
|
|
ADD A,#0x18
|
|
LCALL ??Subroutine10_0 & 0xFFFF
|
|
??CrossCallReturnLabel_13:
|
|
MOV R2,A
|
|
LCALL ?Subroutine5 & 0xFFFF
|
|
??CrossCallReturnLabel_15:
|
|
MOV R1,A
|
|
LCALL `??MAC_McpsDataAlloc::?relay`; Banked call to: MAC_McpsDataAlloc
|
|
MOV ?V0,R2
|
|
MOV ?V1,R3
|
|
MOV R6,?V0
|
|
MOV R7,?V1
|
|
// 456
|
|
// 457 if ( pBuf )
|
|
MOV A,R2
|
|
ORL A,R7
|
|
JNZ $+5
|
|
LJMP ??ZMacDataReqSec_0 & 0xFFFF
|
|
// 458 {
|
|
// 459 /* Copy the addresses */
|
|
// 460 osal_memcpy( &pBuf->mac, pData, sizeof (macDataReq_t) );
|
|
; Setup parameters for call to function osal_memcpy
|
|
MOV ?V0,?V4
|
|
MOV ?V1,?V5
|
|
MOV ?V2,#0x0
|
|
MOV R0,#?V0
|
|
LCALL ?PUSH_XSTACK_I_THREE
|
|
CFI CFA_XSP16 add(XSP16, 19)
|
|
MOV R4,#0x10
|
|
MOV R5,#0x0
|
|
MOV A,R2
|
|
ADD A,#0x22
|
|
MOV R2,A
|
|
CLR A
|
|
ADDC A,R7
|
|
MOV R3,A
|
|
LCALL `??osal_memcpy::?relay`; Banked call to: osal_memcpy
|
|
MOV A,#0x3
|
|
LCALL ?DEALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 16)
|
|
// 461
|
|
// 462 /* Copy data */
|
|
// 463 osal_memcpy( pBuf->msdu.p, pData->msdu, pData->msduLength );
|
|
; Setup parameters for call to function osal_memcpy
|
|
MOV A,?V4
|
|
ADD A,#0x1c
|
|
LCALL ??Subroutine10_0 & 0xFFFF
|
|
??CrossCallReturnLabel_14:
|
|
MOV ?V0,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV ?V1,A
|
|
MOV R0,#?V0
|
|
LCALL ?PUSH_XSTACK_I_THREE
|
|
CFI CFA_XSP16 add(XSP16, 19)
|
|
LCALL ?Subroutine5 & 0xFFFF
|
|
??CrossCallReturnLabel_16:
|
|
MOV R4,A
|
|
MOV R5,#0x0
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
INC DPTR
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV R2,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV R3,A
|
|
LCALL `??osal_memcpy::?relay`; Banked call to: osal_memcpy
|
|
MOV A,#0x3
|
|
LCALL ?DEALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 16)
|
|
// 464
|
|
// 465 /* Copy Security parameters */
|
|
// 466 osal_memcpy( &pBuf->sec, &pData->Sec, sizeof (macSec_t));
|
|
; Setup parameters for call to function osal_memcpy
|
|
MOV A,?V4
|
|
ADD A,#0x10
|
|
MOV ?V0,A
|
|
CLR A
|
|
ADDC A,?V5
|
|
MOV ?V1,A
|
|
MOV R0,#?V0
|
|
LCALL ?PUSH_XSTACK_I_THREE
|
|
CFI CFA_XSP16 add(XSP16, 19)
|
|
MOV R4,#0xb
|
|
MOV R5,#0x0
|
|
MOV A,R6
|
|
ADD A,#0x17
|
|
MOV R2,A
|
|
CLR A
|
|
ADDC A,R7
|
|
MOV R3,A
|
|
LCALL `??osal_memcpy::?relay`; Banked call to: osal_memcpy
|
|
MOV A,#0x3
|
|
LCALL ?DEALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 16)
|
|
// 467
|
|
// 468 /* Encrypt in place */
|
|
// 469 if ( secCB && pBuf->msdu.len && pBuf->msdu.p )
|
|
MOV A,?V6
|
|
ORL A,?V7
|
|
JZ ??ZMacDataReqSec_1
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
JZ ??ZMacDataReqSec_1
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
INC DPTR
|
|
INC DPTR
|
|
LCALL ??Subroutine8_0 & 0xFFFF
|
|
??CrossCallReturnLabel_9:
|
|
JZ ??ZMacDataReqSec_1
|
|
// 470 {
|
|
// 471 if ( secCB( pBuf->msdu.len, pBuf->msdu.p ) != ZSuccess )
|
|
; Setup parameters for indirect call
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
INC DPTR
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV R2,A
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV R3,A
|
|
MOV DPL,R6
|
|
MOV DPH,R7
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
INC DPTR
|
|
MOVX A,@DPTR
|
|
MOV R1,A
|
|
MOV DPL,?V6
|
|
MOV DPH,?V7
|
|
LCALL ?CALL_IND
|
|
MOV A,R1
|
|
JZ ??ZMacDataReqSec_1
|
|
// 472 {
|
|
// 473 // Deallocate the buffer. MAC_McpsDataAlloc() calls osal_msg_allocate() and
|
|
// 474 // returns the same pointer.
|
|
// 475 osal_msg_deallocate( (uint8 *)pBuf );
|
|
; Setup parameters for call to function osal_msg_deallocate
|
|
MOV A,R6
|
|
MOV R2,A
|
|
MOV A,R7
|
|
MOV R3,A
|
|
LCALL `??osal_msg_deallocate::?relay`; Banked call to: osal_msg_deallocate
|
|
// 476
|
|
// 477 return ( MAC_NO_RESOURCES );
|
|
SJMP ??ZMacDataReqSec_0
|
|
// 478 }
|
|
// 479 }
|
|
// 480
|
|
// 481 /* Call Mac Data Request */
|
|
// 482 MAC_McpsDataReq( pBuf );
|
|
??ZMacDataReqSec_1:
|
|
; Setup parameters for call to function MAC_McpsDataReq
|
|
MOV A,R6
|
|
MOV R2,A
|
|
MOV A,R7
|
|
MOV R3,A
|
|
LCALL `??MAC_McpsDataReq::?relay`; Banked call to: MAC_McpsDataReq
|
|
// 483
|
|
// 484 return ( ZMacSuccess );
|
|
MOV R1,#0x0
|
|
SJMP ??ZMacDataReqSec_2
|
|
// 485 }
|
|
// 486
|
|
// 487 return ( MAC_NO_RESOURCES );
|
|
??ZMacDataReqSec_0:
|
|
MOV R1,#0x1a
|
|
??ZMacDataReqSec_2:
|
|
MOV R7,#0x8
|
|
LJMP ?BANKED_LEAVE_XDATA
|
|
// 488 }
|
|
CFI EndBlock cfiBlock33
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine5:
|
|
CFI Block cfiCond34 Using cfiCommon0
|
|
CFI Function ZMacDataReqSec
|
|
CFI Conditional ??CrossCallReturnLabel_15
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V7 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, 16)
|
|
CFI Block cfiCond35 Using cfiCommon0
|
|
CFI (cfiCond35) Function ZMacDataReqSec
|
|
CFI (cfiCond35) Conditional ??CrossCallReturnLabel_16
|
|
CFI (cfiCond35) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond35) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond35) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond35) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond35) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond35) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond35) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond35) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond35) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond35) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond35) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond35) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond35) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond35) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond35) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond35) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond35) CFA_SP SP+-2
|
|
CFI (cfiCond35) CFA_XSP16 add(XSP16, 19)
|
|
CFI Block cfiPicker36 Using cfiCommon1
|
|
CFI (cfiPicker36) NoFunction
|
|
CFI (cfiPicker36) Picker
|
|
MOV A,?V4
|
|
ADD A,#0x1b
|
|
CFI EndBlock cfiCond34
|
|
CFI EndBlock cfiCond35
|
|
CFI EndBlock cfiPicker36
|
|
REQUIRE ??Subroutine10_0
|
|
; // Fall through to label ??Subroutine10_0
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
??Subroutine10_0:
|
|
CFI Block cfiCond37 Using cfiCommon0
|
|
CFI Function ZMacDataReqSec
|
|
CFI Conditional ??CrossCallReturnLabel_12
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V7 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, 16)
|
|
CFI Block cfiCond38 Using cfiCommon0
|
|
CFI (cfiCond38) Function ZMacDataReqSec
|
|
CFI (cfiCond38) Conditional ??CrossCallReturnLabel_13
|
|
CFI (cfiCond38) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond38) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond38) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond38) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond38) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond38) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond38) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond38) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond38) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond38) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond38) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond38) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond38) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond38) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond38) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond38) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond38) CFA_SP SP+-2
|
|
CFI (cfiCond38) CFA_XSP16 add(XSP16, 16)
|
|
CFI Block cfiCond39 Using cfiCommon0
|
|
CFI (cfiCond39) Function ZMacDataReqSec
|
|
CFI (cfiCond39) Conditional ??CrossCallReturnLabel_14
|
|
CFI (cfiCond39) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond39) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond39) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond39) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond39) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond39) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond39) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond39) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond39) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond39) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond39) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond39) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond39) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond39) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond39) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond39) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond39) CFA_SP SP+-2
|
|
CFI (cfiCond39) CFA_XSP16 add(XSP16, 16)
|
|
CFI Block cfiCond40 Using cfiCommon0
|
|
CFI (cfiCond40) Function ZMacDataReqSec
|
|
CFI (cfiCond40) Conditional ??CrossCallReturnLabel_15
|
|
CFI (cfiCond40) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond40) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond40) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond40) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond40) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond40) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond40) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond40) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond40) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond40) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond40) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond40) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond40) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond40) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond40) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond40) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond40) CFA_SP SP+-2
|
|
CFI (cfiCond40) CFA_XSP16 add(XSP16, 16)
|
|
CFI Block cfiCond41 Using cfiCommon0
|
|
CFI (cfiCond41) Function ZMacDataReqSec
|
|
CFI (cfiCond41) Conditional ??CrossCallReturnLabel_16
|
|
CFI (cfiCond41) R6 load(1, XDATA, add(CFA_XSP16, literal(-16)))
|
|
CFI (cfiCond41) VB load(1, XDATA, add(CFA_XSP16, literal(-15)))
|
|
CFI (cfiCond41) V0 load(1, XDATA, add(CFA_XSP16, literal(-14)))
|
|
CFI (cfiCond41) V1 load(1, XDATA, add(CFA_XSP16, literal(-13)))
|
|
CFI (cfiCond41) V2 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI (cfiCond41) V3 load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI (cfiCond41) V4 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI (cfiCond41) V5 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI (cfiCond41) V6 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI (cfiCond41) V7 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI (cfiCond41) R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI (cfiCond41) ?RET_LOW load(1, XDATA, add(CFA_XSP16, literal(-5)))
|
|
CFI (cfiCond41) ?RET_HIGH load(1, XDATA, add(CFA_XSP16, literal(-4)))
|
|
CFI (cfiCond41) ?BRET_EXT load(1, XDATA, add(CFA_XSP16, literal(-3)))
|
|
CFI (cfiCond41) DPL0 load(1, XDATA, add(CFA_XSP16, literal(-2)))
|
|
CFI (cfiCond41) DPH0 load(1, XDATA, add(CFA_XSP16, literal(-1)))
|
|
CFI (cfiCond41) CFA_SP SP+-2
|
|
CFI (cfiCond41) CFA_XSP16 add(XSP16, 19)
|
|
CFI Block cfiPicker42 Using cfiCommon1
|
|
CFI (cfiPicker42) NoFunction
|
|
CFI (cfiPicker42) Picker
|
|
MOV DPL,A
|
|
CLR A
|
|
ADDC A,?V5
|
|
MOV DPH,A
|
|
MOVX A,@DPTR
|
|
RET
|
|
CFI EndBlock cfiCond37
|
|
CFI EndBlock cfiCond38
|
|
CFI EndBlock cfiCond39
|
|
CFI EndBlock cfiCond40
|
|
CFI EndBlock cfiCond41
|
|
CFI EndBlock cfiPicker42
|
|
// 489
|
|
// 490 /********************************************************************************************************
|
|
// 491 * @fn ZMacDataReq
|
|
// 492 *
|
|
// 493 * @brief Send a MAC Data Frame packet.
|
|
// 494 *
|
|
// 495 * @param structure containing data and where to send it.
|
|
// 496 *
|
|
// 497 * @return status
|
|
// 498 ********************************************************************************************************/
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 499 uint8 ZMacDataReq( ZMacDataReq_t *pData )
|
|
ZMacDataReq:
|
|
CFI Block cfiBlock43 Using cfiCommon0
|
|
CFI Function ZMacDataReq
|
|
CODE
|
|
// 500 {
|
|
FUNCALL ZMacDataReq, ZMacDataReqSec
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
PUSH DPL
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI CFA_SP SP+-4
|
|
PUSH DPH
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
CFI CFA_SP SP+-5
|
|
; Saved register size: 2
|
|
; Auto size: 0
|
|
// 501 return ZMacDataReqSec( pData, NULL );
|
|
; Setup parameters for call to function ZMacDataReqSec
|
|
MOV R4,#0x0
|
|
MOV R5,#0x0
|
|
LCALL `??ZMacDataReqSec::?relay`; Banked call to: ZMacDataReqSec
|
|
SJMP ??Subroutine11_0
|
|
// 502 }
|
|
CFI EndBlock cfiBlock43
|
|
// 503
|
|
// 504 /********************************************************************************************************
|
|
// 505 * @fn ZMacPurgeReq
|
|
// 506 *
|
|
// 507 * @brief Purge a MAC Data Frame packet.
|
|
// 508 *
|
|
// 509 * @param MSDU data handle.
|
|
// 510 *
|
|
// 511 * @return status
|
|
// 512 ********************************************************************************************************/
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 513 uint8 ZMacPurgeReq( byte Handle )
|
|
ZMacPurgeReq:
|
|
CFI Block cfiBlock44 Using cfiCommon0
|
|
CFI Function ZMacPurgeReq
|
|
CODE
|
|
// 514 {
|
|
FUNCALL ZMacPurgeReq, MAC_McpsPurgeReq
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
MOV A,#-0x9
|
|
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 V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
; Saved register size: 9
|
|
; Auto size: 0
|
|
// 515 MAC_McpsPurgeReq( Handle );
|
|
; Setup parameters for call to function MAC_McpsPurgeReq
|
|
LCALL `??MAC_McpsPurgeReq::?relay`; Banked call to: MAC_McpsPurgeReq
|
|
// 516 return ZMacSuccess;
|
|
CFI EndBlock cfiBlock44
|
|
REQUIRE ?Subroutine2
|
|
; // Fall through to label ?Subroutine2
|
|
// 517 }
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine2:
|
|
CFI Block cfiBlock45 Using cfiCommon0
|
|
CFI NoFunction
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
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(-9)))
|
|
CFI R7 load(1, XDATA, add(CFA_XSP16, literal(-6)))
|
|
CFI V0 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 R1,#0x0
|
|
LJMP ??Subroutine9_0 & 0xFFFF
|
|
CFI EndBlock cfiBlock45
|
|
// 518
|
|
// 519 /********************************************************************************************************
|
|
// 520 * @fn ZMacSrcMatchEnable
|
|
// 521 *
|
|
// 522 * @brief This function is call to enable AUTOPEND and source address matching.
|
|
// 523 *
|
|
// 524 * @param addressType - address type that the application uses
|
|
// 525 * SADDR_MODE_SHORT or SADDR_MODE_EXT.
|
|
// 526 * numEntries - number of source address table entries to be used
|
|
// 527 *
|
|
// 528 * @return status
|
|
// 529 ********************************************************************************************************/
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 530 ZMacStatus_t ZMacSrcMatchEnable (uint8 addrType, uint8 numEntries)
|
|
ZMacSrcMatchEnable:
|
|
CFI Block cfiBlock46 Using cfiCommon0
|
|
CFI Function ZMacSrcMatchEnable
|
|
CODE
|
|
// 531 {
|
|
FUNCALL ZMacSrcMatchEnable, MAC_SrcMatchEnable
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
MOV A,#-0x9
|
|
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 V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
; Saved register size: 9
|
|
; Auto size: 0
|
|
// 532 return (MAC_SrcMatchEnable(addrType, numEntries));
|
|
; Setup parameters for call to function MAC_SrcMatchEnable
|
|
LCALL `??MAC_SrcMatchEnable::?relay`; Banked call to: MAC_SrcMatchEnable
|
|
LJMP ??Subroutine9_0 & 0xFFFF
|
|
// 533 }
|
|
CFI EndBlock cfiBlock46
|
|
// 534
|
|
// 535 /********************************************************************************************************
|
|
// 536 * @fn ZMacSrcMatchAddEntry
|
|
// 537 *
|
|
// 538 * @brief This function is called to add a short or extended address to source address table.
|
|
// 539 *
|
|
// 540 * @param addr - a pointer to sAddr_t which contains addrMode
|
|
// 541 * and a union of a short 16-bit MAC address or an extended
|
|
// 542 * 64-bit MAC address to be added to the source address table.
|
|
// 543 * panID - the device PAN ID. It is only used when the addr is
|
|
// 544 * using short address
|
|
// 545 *
|
|
// 546 * @return status
|
|
// 547 ********************************************************************************************************/
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 548 ZMacStatus_t ZMacSrcMatchAddEntry (zAddrType_t *addr, uint16 panID)
|
|
ZMacSrcMatchAddEntry:
|
|
CFI Block cfiBlock47 Using cfiCommon0
|
|
CFI Function ZMacSrcMatchAddEntry
|
|
CODE
|
|
// 549 {
|
|
FUNCALL ZMacSrcMatchAddEntry, MAC_SrcMatchAddEntry
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
PUSH DPL
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI CFA_SP SP+-4
|
|
PUSH DPH
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
CFI CFA_SP SP+-5
|
|
; Saved register size: 2
|
|
; Auto size: 0
|
|
// 550 return (MAC_SrcMatchAddEntry ((sAddr_t*)addr, panID));
|
|
; Setup parameters for call to function MAC_SrcMatchAddEntry
|
|
LCALL `??MAC_SrcMatchAddEntry::?relay`; Banked call to: MAC_SrcMatchAddEntry
|
|
SJMP ??Subroutine11_0
|
|
// 551 }
|
|
CFI EndBlock cfiBlock47
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
?Subroutine1:
|
|
CFI Block cfiBlock48 Using cfiCommon0
|
|
CFI NoFunction
|
|
CFI CFA_SP SP+-5
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
MOV R1,#0x0
|
|
CFI EndBlock cfiBlock48
|
|
REQUIRE ??Subroutine11_0
|
|
; // Fall through to label ??Subroutine11_0
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
??Subroutine11_0:
|
|
CFI Block cfiBlock49 Using cfiCommon0
|
|
CFI NoFunction
|
|
CFI CFA_SP SP+-5
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
POP DPH
|
|
CFI CFA_SP SP+-4
|
|
CFI DPH0 SameValue
|
|
POP DPL
|
|
CFI CFA_SP SP+-3
|
|
CFI DPL0 SameValue
|
|
LJMP ?BRET
|
|
CFI EndBlock cfiBlock49
|
|
// 552
|
|
// 553 /********************************************************************************************************
|
|
// 554 * @fn ZMacSrcMatchDeleteEntry
|
|
// 555 *
|
|
// 556 * @brief This function is called to delete a short or extended address from source address table.
|
|
// 557 *
|
|
// 558 * @param addr - a pointer to sAddr_t which contains addrMode
|
|
// 559 * and a union of a short 16-bit MAC address or an extended
|
|
// 560 * 64-bit MAC address to be added to the source address table.
|
|
// 561 * panID - the device PAN ID. It is only used when the addr is
|
|
// 562 * using short address
|
|
// 563 *
|
|
// 564 * @return status
|
|
// 565 ********************************************************************************************************/
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 566 ZMacStatus_t ZMacSrcMatchDeleteEntry (zAddrType_t *addr, uint16 panID)
|
|
ZMacSrcMatchDeleteEntry:
|
|
CFI Block cfiBlock50 Using cfiCommon0
|
|
CFI Function ZMacSrcMatchDeleteEntry
|
|
CODE
|
|
// 567 {
|
|
FUNCALL ZMacSrcMatchDeleteEntry, MAC_SrcMatchDeleteEntry
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
PUSH DPL
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI CFA_SP SP+-4
|
|
PUSH DPH
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
CFI CFA_SP SP+-5
|
|
; Saved register size: 2
|
|
; Auto size: 0
|
|
// 568 return (MAC_SrcMatchDeleteEntry ((sAddr_t*)addr, panID));
|
|
; Setup parameters for call to function MAC_SrcMatchDeleteEntry
|
|
LCALL `??MAC_SrcMatchDeleteEntry::?relay`; Banked call to: MAC_SrcMatchDeleteEntry
|
|
SJMP ??Subroutine11_0
|
|
// 569 }
|
|
CFI EndBlock cfiBlock50
|
|
// 570
|
|
// 571 /********************************************************************************************************
|
|
// 572 * @fn ZMacSrcMatchAckAllPending
|
|
// 573 *
|
|
// 574 * @brief Enabled/disable acknowledging all packets with pending bit set
|
|
// 575 * It is normally enabled when adding new entries to
|
|
// 576 * the source address table fails due to the table is full, or
|
|
// 577 * disabled when more entries are deleted and the table has
|
|
// 578 * empty slots.
|
|
// 579 *
|
|
// 580 * @param option - true (acknowledging all packets with pending field set)
|
|
// 581 * false (acknowledging all packets with pending field cleared)
|
|
// 582 *
|
|
// 583 * @return status
|
|
// 584 ********************************************************************************************************/
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 585 ZMacStatus_t ZMacSrcMatchAckAllPending (uint8 option)
|
|
ZMacSrcMatchAckAllPending:
|
|
CFI Block cfiBlock51 Using cfiCommon0
|
|
CFI Function ZMacSrcMatchAckAllPending
|
|
CODE
|
|
// 586 {
|
|
FUNCALL ZMacSrcMatchAckAllPending, MAC_SrcMatchAckAllPending
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 9, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 9, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
MOV A,#-0x9
|
|
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 V0 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 9)
|
|
; Saved register size: 9
|
|
; Auto size: 0
|
|
// 587 MAC_SrcMatchAckAllPending (option);
|
|
; Setup parameters for call to function MAC_SrcMatchAckAllPending
|
|
LCALL `??MAC_SrcMatchAckAllPending::?relay`; Banked call to: MAC_SrcMatchAckAllPending
|
|
// 588
|
|
// 589 return ZMacSuccess;
|
|
SJMP ?Subroutine2
|
|
// 590 }
|
|
CFI EndBlock cfiBlock51
|
|
// 591
|
|
// 592 /********************************************************************************************************
|
|
// 593 * @fn ZMacSrcMatchCheckAllPending
|
|
// 594 *
|
|
// 595 * @brief This function is called to check if acknowledging all packets with pending bit set is enabled.
|
|
// 596 *
|
|
// 597 * @param none
|
|
// 598 *
|
|
// 599 * @return status
|
|
// 600 ********************************************************************************************************/
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 601 ZMacStatus_t ZMacSrcMatchCheckAllPending (void)
|
|
ZMacSrcMatchCheckAllPending:
|
|
CFI Block cfiBlock52 Using cfiCommon0
|
|
CFI Function ZMacSrcMatchCheckAllPending
|
|
CODE
|
|
// 602 {
|
|
FUNCALL ZMacSrcMatchCheckAllPending, MAC_SrcMatchCheckAllPending
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
PUSH DPL
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI CFA_SP SP+-4
|
|
PUSH DPH
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
CFI CFA_SP SP+-5
|
|
; Saved register size: 2
|
|
; Auto size: 0
|
|
// 603 return (MAC_SrcMatchCheckAllPending ());
|
|
; Setup parameters for call to function MAC_SrcMatchCheckAllPending
|
|
LCALL `??MAC_SrcMatchCheckAllPending::?relay`; Banked call to: MAC_SrcMatchCheckAllPending
|
|
SJMP ??Subroutine11_0
|
|
// 604 }
|
|
CFI EndBlock cfiBlock52
|
|
// 605
|
|
// 606 /********************************************************************************************************
|
|
// 607 * @fn - ZMACPwrOnReq
|
|
// 608 *
|
|
// 609 * @brief - This function requests the MAC to power on the radio hardware
|
|
// 610 * and wake up. When the power on procedure is complete the MAC
|
|
// 611 * will send a MAC_PWR_ON_CNF to the application.
|
|
// 612 *
|
|
// 613 * @input - None.
|
|
// 614 *
|
|
// 615 * @output - None.
|
|
// 616 *
|
|
// 617 * @return - None.
|
|
// 618 ********************************************************************************************************/
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 619 void ZMacPwrOnReq ( void )
|
|
ZMacPwrOnReq:
|
|
CFI Block cfiBlock53 Using cfiCommon0
|
|
CFI Function ZMacPwrOnReq
|
|
CODE
|
|
// 620 {
|
|
FUNCALL ZMacPwrOnReq, MAC_PwrOnReq
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
PUSH DPL
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI CFA_SP SP+-4
|
|
PUSH DPH
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
CFI CFA_SP SP+-5
|
|
; Saved register size: 2
|
|
; Auto size: 0
|
|
// 621 MAC_PwrOnReq();
|
|
; Setup parameters for call to function MAC_PwrOnReq
|
|
LCALL `??MAC_PwrOnReq::?relay`; Banked call to: MAC_PwrOnReq
|
|
// 622 }
|
|
SJMP ??Subroutine11_0
|
|
CFI EndBlock cfiBlock53
|
|
// 623
|
|
// 624 /********************************************************************************************************
|
|
// 625 * @fn MAC_PwrMode
|
|
// 626 *
|
|
// 627 * @brief This function returns the current power mode of the MAC.
|
|
// 628 *
|
|
// 629 * input parameters
|
|
// 630 *
|
|
// 631 * None.
|
|
// 632 *
|
|
// 633 * output parameters
|
|
// 634 *
|
|
// 635 * None.
|
|
// 636 *
|
|
// 637 * @return The current power mode of the MAC.
|
|
// 638 ********************************************************************************************************/
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 639 uint8 ZMac_PwrMode(void)
|
|
ZMac_PwrMode:
|
|
CFI Block cfiBlock54 Using cfiCommon0
|
|
CFI Function ZMac_PwrMode
|
|
CODE
|
|
// 640 {
|
|
FUNCALL ZMac_PwrMode, MAC_PwrMode
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
PUSH DPL
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI CFA_SP SP+-4
|
|
PUSH DPH
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
CFI CFA_SP SP+-5
|
|
; Saved register size: 2
|
|
; Auto size: 0
|
|
// 641 return (MAC_PwrMode());
|
|
; Setup parameters for call to function MAC_PwrMode
|
|
LCALL `??MAC_PwrMode::?relay`; Banked call to: MAC_PwrMode
|
|
SJMP ??Subroutine11_0
|
|
// 642 }
|
|
CFI EndBlock cfiBlock54
|
|
// 643
|
|
// 644 /********************************************************************************************************
|
|
// 645 * @fn ZMacSetTransmitPower
|
|
// 646 *
|
|
// 647 * @brief Set the transmitter power according to the level setting param.
|
|
// 648 *
|
|
// 649 * @param Valid power level setting as defined in ZMAC.h.
|
|
// 650 *
|
|
// 651 * @return ZMacSuccess if PHY_TRANSMIT_POWER found or ZMacUnsupportedAttribute.
|
|
// 652 ********************************************************************************************************/
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 653 uint8 ZMacSetTransmitPower( ZMacTransmitPower_t level )
|
|
ZMacSetTransmitPower:
|
|
CFI Block cfiBlock55 Using cfiCommon0
|
|
CFI Function ZMacSetTransmitPower
|
|
CODE
|
|
// 654 {
|
|
FUNCALL ZMacSetTransmitPower, MAC_MlmeSetReq
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 1, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 1, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
PUSH DPL
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI CFA_SP SP+-4
|
|
PUSH DPH
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
CFI CFA_SP SP+-5
|
|
; Saved register size: 2
|
|
; Auto size: 1
|
|
MOV A,#-0x1
|
|
LCALL ?ALLOC_XSTACK8
|
|
CFI CFA_XSP16 add(XSP16, 1)
|
|
MOV A,R1
|
|
MOV DPL,?XSP + 0
|
|
MOV DPH,?XSP + 1
|
|
MOVX @DPTR,A
|
|
// 655 return MAC_MlmeSetReq( ZMacPhyTransmitPowerSigned, &level );
|
|
; Setup parameters for call to function MAC_MlmeSetReq
|
|
MOV R2,?XSP + 0
|
|
MOV R3,?XSP + 1
|
|
MOV R1,#-0x1b
|
|
LCALL `??MAC_MlmeSetReq::?relay`; Banked call to: MAC_MlmeSetReq
|
|
MOV A,#0x1
|
|
LCALL ?DEALLOC_XSTACK8
|
|
CFI CFA_XSP16 XSP16+0
|
|
SJMP ??Subroutine11_0
|
|
// 656 }
|
|
CFI EndBlock cfiBlock55
|
|
// 657
|
|
// 658 /********************************************************************************************************
|
|
// 659 * @fn ZMacSendNoData
|
|
// 660 *
|
|
// 661 * @brief This function sends an empty msg
|
|
// 662 *
|
|
// 663 * @param DstAddr - destination short address
|
|
// 664 * DstPANId - destination pan id
|
|
// 665 *
|
|
// 666 * @return None
|
|
// 667 ********************************************************************************************************/
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 668 void ZMacSendNoData ( uint16 DstAddr, uint16 DstPANId )
|
|
ZMacSendNoData:
|
|
CFI Block cfiBlock56 Using cfiCommon0
|
|
CFI Function ZMacSendNoData
|
|
CODE
|
|
// 669 {
|
|
FUNCALL ZMacSendNoData, MAC_McpsDataAlloc
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
FUNCALL ZMacSendNoData, MAC_McpsDataReq
|
|
LOCFRAME ISTACK, 0, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 12, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 0, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 12, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
REQUIRE ?V0
|
|
REQUIRE ?V1
|
|
REQUIRE ?V2
|
|
REQUIRE ?V3
|
|
MOV A,#-0xc
|
|
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 V3 load(1, XDATA, add(CFA_XSP16, literal(-7)))
|
|
CFI V2 load(1, XDATA, add(CFA_XSP16, literal(-8)))
|
|
CFI V1 load(1, XDATA, add(CFA_XSP16, literal(-9)))
|
|
CFI V0 load(1, XDATA, add(CFA_XSP16, literal(-10)))
|
|
CFI VB load(1, XDATA, add(CFA_XSP16, literal(-11)))
|
|
CFI R6 load(1, XDATA, add(CFA_XSP16, literal(-12)))
|
|
CFI CFA_SP SP+0
|
|
CFI CFA_XSP16 add(XSP16, 12)
|
|
; Saved register size: 12
|
|
; Auto size: 0
|
|
MOV ?V0,R2
|
|
MOV ?V1,R3
|
|
MOV A,R4
|
|
MOV R6,A
|
|
MOV A,R5
|
|
MOV R7,A
|
|
// 670 macMcpsDataReq_t *pBuf;
|
|
// 671
|
|
// 672 /* Allocate memory */
|
|
// 673 pBuf = MAC_McpsDataAlloc(0, MAC_SEC_LEVEL_NONE, MAC_KEY_ID_MODE_NONE);
|
|
; Setup parameters for call to function MAC_McpsDataAlloc
|
|
MOV R3,#0x0
|
|
MOV R2,#0x0
|
|
MOV R1,#0x0
|
|
LCALL `??MAC_McpsDataAlloc::?relay`; Banked call to: MAC_McpsDataAlloc
|
|
// 674
|
|
// 675 if (pBuf)
|
|
MOV A,R2
|
|
ORL A,R3
|
|
JZ ??ZMacSendNoData_0
|
|
// 676 {
|
|
// 677 /* Fill in src information */
|
|
// 678 pBuf->mac.srcAddrMode = SADDR_MODE_SHORT;
|
|
MOV A,R2
|
|
ADD A,#0x2d
|
|
MOV DPL,A
|
|
CLR A
|
|
ADDC A,R3
|
|
MOV DPH,A
|
|
MOV A,#0x2
|
|
MOVX @DPTR,A
|
|
// 679
|
|
// 680 /* Fill in dst information */
|
|
// 681 pBuf->mac.dstAddr.addr.shortAddr = DstAddr;
|
|
MOV A,R2
|
|
ADD A,#0x22
|
|
MOV DPL,A
|
|
CLR A
|
|
ADDC A,R3
|
|
MOV DPH,A
|
|
MOV A,?V0
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOV A,?V1
|
|
MOVX @DPTR,A
|
|
// 682 pBuf->mac.dstAddr.addrMode = SADDR_MODE_SHORT;
|
|
MOV A,R2
|
|
ADD A,#0x2a
|
|
MOV DPL,A
|
|
CLR A
|
|
ADDC A,R3
|
|
MOV DPH,A
|
|
MOV A,#0x2
|
|
MOVX @DPTR,A
|
|
// 683 pBuf->mac.dstPanId = DstPANId;
|
|
MOV A,R2
|
|
ADD A,#0x2b
|
|
MOV DPL,A
|
|
CLR A
|
|
ADDC A,R3
|
|
MOV DPH,A
|
|
MOV A,R6
|
|
MOVX @DPTR,A
|
|
INC DPTR
|
|
MOV A,R7
|
|
MOVX @DPTR,A
|
|
// 684
|
|
// 685 /* Misc information */
|
|
// 686 pBuf->mac.msduHandle = 0;
|
|
MOV A,R2
|
|
ADD A,#0x2e
|
|
LCALL ?Subroutine6 & 0xFFFF
|
|
// 687 pBuf->mac.txOptions = ZMAC_TXOPTION_ACK | ZMAC_TXOPTION_NO_RETRANS | ZMAC_TXOPTION_NO_CNF;
|
|
??CrossCallReturnLabel_5:
|
|
MOV A,R2
|
|
ADD A,#0x2f
|
|
MOV DPL,A
|
|
CLR A
|
|
ADDC A,R3
|
|
MOV DPH,A
|
|
MOV A,#0x31
|
|
MOVX @DPTR,A
|
|
// 688
|
|
// 689 /* Right now, set security to zero */
|
|
// 690 pBuf->sec.securityLevel = false;
|
|
MOV A,R2
|
|
ADD A,#0x1f
|
|
LCALL ?Subroutine6 & 0xFFFF
|
|
// 691
|
|
// 692 /* Call Mac Data Request */
|
|
// 693 MAC_McpsDataReq(pBuf);
|
|
??CrossCallReturnLabel_6:
|
|
; Setup parameters for call to function MAC_McpsDataReq
|
|
LCALL `??MAC_McpsDataReq::?relay`; Banked call to: MAC_McpsDataReq
|
|
// 694 }
|
|
// 695
|
|
// 696 }
|
|
??ZMacSendNoData_0:
|
|
MOV R7,#0x4
|
|
LJMP ?BANKED_LEAVE_XDATA
|
|
CFI EndBlock cfiBlock56
|
|
// 697
|
|
// 698 /********************************************************************************************************
|
|
// 699 * @fn ZMacStateIdle
|
|
// 700 *
|
|
// 701 * @brief This function returns true if the MAC state is idle.
|
|
// 702 *
|
|
// 703 * @param none
|
|
// 704 *
|
|
// 705 * @return TRUE if the MAC state is idle, FALSE otherwise.
|
|
// 706 ********************************************************************************************************/
|
|
|
|
RSEG BANKED_CODE:HUGECODE:NOROOT(0)
|
|
// 707 uint8 ZMacStateIdle( void )
|
|
ZMacStateIdle:
|
|
CFI Block cfiBlock57 Using cfiCommon0
|
|
CFI Function ZMacStateIdle
|
|
CODE
|
|
// 708 {
|
|
FUNCALL ZMacStateIdle, macStateIdle
|
|
LOCFRAME ISTACK, 2, STACK
|
|
LOCFRAME PSTACK, 0, STACK
|
|
LOCFRAME XSTACK, 0, STACK
|
|
LOCFRAME IOVERLAY, 0, STATIC
|
|
LOCFRAME DOVERLAY, 0, STATIC
|
|
ARGFRAME ISTACK, 2, STACK
|
|
ARGFRAME PSTACK, 0, STACK
|
|
ARGFRAME XSTACK, 0, STACK
|
|
ARGFRAME IOVERLAY, 0, STATIC
|
|
ARGFRAME DOVERLAY, 0, STATIC
|
|
PUSH DPL
|
|
CFI DPL0 Frame(CFA_SP, 4)
|
|
CFI CFA_SP SP+-4
|
|
PUSH DPH
|
|
CFI DPH0 Frame(CFA_SP, 5)
|
|
CFI CFA_SP SP+-5
|
|
; Saved register size: 2
|
|
; Auto size: 0
|
|
// 709 return macStateIdle();
|
|
; Setup parameters for call to function macStateIdle
|
|
LCALL `??macStateIdle::?relay`; Banked call to: macStateIdle
|
|
LJMP ??Subroutine11_0 & 0xFFFF
|
|
// 710 }
|
|
CFI EndBlock cfiBlock57
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZMacInit::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZMacInit
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZMacReset::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZMacReset
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZMacGetReq::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZMacGetReq
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZMacSetReq::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZMacSetReq
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZMacAssociateReq::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZMacAssociateReq
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZMacAssociateRsp::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZMacAssociateRsp
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZMacDisassociateReq::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZMacDisassociateReq
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZMacOrphanRsp::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZMacOrphanRsp
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZMacScanReq::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZMacScanReq
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZMacStartReq::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZMacStartReq
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZMacSyncReq::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZMacSyncReq
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZMacPollReq::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZMacPollReq
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZMacDataReqSec::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZMacDataReqSec
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZMacDataReq::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZMacDataReq
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZMacPurgeReq::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZMacPurgeReq
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZMacSrcMatchEnable::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZMacSrcMatchEnable
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZMacSrcMatchAddEntry::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZMacSrcMatchAddEntry
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZMacSrcMatchDeleteEntry::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZMacSrcMatchDeleteEntry
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZMacSrcMatchAckAllPending::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZMacSrcMatchAckAllPending
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZMacSrcMatchCheckAllPending::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZMacSrcMatchCheckAllPending
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZMacPwrOnReq::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZMacPwrOnReq
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZMac_PwrMode::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZMac_PwrMode
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZMacSetTransmitPower::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZMacSetTransmitPower
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZMacSendNoData::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZMacSendNoData
|
|
|
|
RSEG BANK_RELAYS:CODE:REORDER:NOROOT(0)
|
|
`??ZMacStateIdle::?relay`:
|
|
CODE
|
|
LCALL ?BDISPATCH
|
|
DATA24
|
|
DC24 ZMacStateIdle
|
|
|
|
END
|
|
//
|
|
// 1 066 bytes in segment BANKED_CODE
|
|
// 150 bytes in segment BANK_RELAYS
|
|
// 6 bytes in segment XDATA_Z
|
|
//
|
|
// 150 bytes of CODE memory
|
|
// 1 066 bytes of HUGECODE memory
|
|
// 6 bytes of XDATA memory
|
|
//
|
|
//Errors: none
|
|
//Warnings: none
|