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

455 lines
23 KiB
Plaintext
Raw Blame History

###############################################################################
#
# IAR C/C++ Compiler V10.30.1.6000 for 8051 23/Aug/2019 12:14:01
# 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\stack\zdo\ZDConfig.c
# Command line =
# -f C:\Users\VULCAN\AppData\Local\Temp\EWAD52.tmp
# (E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Components\stack\zdo\ZDConfig.c
# -D ZIGBEEPRO -D NWK_AUTO_POLL -D ZTOOL_P1 -D xMT_TASK -D xMT_SYS_FUNC
# -D MT_ZDO_FUNC -D SAPP_ZSTACK -lC
# E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\EndDeviceEB\List
# -lA
# E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\EndDeviceEB\List
# --diag_suppress Pe001,Pa010 -o
# E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\EndDeviceEB\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\f8wEndev.cfg
# (-DCPU32MHZ -DROOT=__near_func -DMAC_CFG_TX_DATA_MAX=3
# -DMAC_CFG_TX_MAX=6 -DMAC_CFG_RX_MAX=3) -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\EndDeviceEB\List\ZDConfig.lst
# Object file =
# E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\EndDeviceEB\Obj\ZDConfig.r51
#
###############################################################################
E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Components\stack\zdo\ZDConfig.c
1 /**************************************************************************************************
2 Filename: ZDConfig.c
3 Revised: $Date: 2008-02-12 16:32:50 -0800 (Tue, 12 Feb 2008) $
4 Revision: $Revision: 16393 $
5
6
7 Description: This file contains the configuration attributes for the Zigbee Device Object.
8 These are references to Configuration items that MUST be defined in ZDApp.c.
9 The names mustn't change.
10
11
12 Copyright 2004-2007 Texas Instruments Incorporated. All rights reserved.
13
14 IMPORTANT: Your use of this Software is limited to those specific rights
15 granted under the terms of a software license agreement between the user
16 who downloaded the software, his/her employer (which must be your employer)
17 and Texas Instruments Incorporated (the "License"). You may not use this
18 Software unless you agree to abide by the terms of the License. The License
19 limits your use, and you acknowledge, that the Software may not be modified,
20 copied or distributed unless embedded on a Texas Instruments microcontroller
21 or used solely and exclusively in conjunction with a Texas Instruments radio
22 frequency transceiver, which is integrated into your product. Other than for
23 the foregoing purpose, you may not use, reproduce, copy, prepare derivative
24 works of, modify, distribute, perform, display or sell this Software and/or
25 its documentation for any purpose.
26
27 YOU FURTHER ACKNOWLEDGE AND AGREE THAT THE SOFTWARE AND DOCUMENTATION ARE
28 PROVIDED 揂S IS<49> WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED,
29 INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE,
30 NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL
31 TEXAS INSTRUMENTS OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT,
32 NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER
33 LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
34 INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE
35 OR CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT
36 OF SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
37 (INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
38
39 Should you have any questions regarding your right to use this Software,
40 contact Texas Instruments Incorporated at www.TI.com.
41 **************************************************************************************************/
42
43 /*********************************************************************
44 * INCLUDES
45 */
46 #include "ZComdef.h"
47 #include "AF.h"
48 #include "ZDObject.h"
49 #include "ZDConfig.h"
50
51 /*********************************************************************
52 * MACROS
53 */
54
55 /*********************************************************************
56 * CONSTANTS
57 */
58
59 /*********************************************************************
60 * TYPEDEFS
61 */
62
63 /*********************************************************************
64 * GLOBAL VARIABLES
65 */
\ In segment XDATA_Z, align 1, keep-with-next
66 NodeDescriptorFormat_t ZDO_Config_Node_Descriptor;
\ ZDO_Config_Node_Descriptor:
\ 000000 DS 13
\ 00000D REQUIRE __INIT_XDATA_Z
\ In segment XDATA_Z, align 1, keep-with-next
67 NodePowerDescriptorFormat_t ZDO_Config_Power_Descriptor;
\ ZDO_Config_Power_Descriptor:
\ 000000 DS 2
\ 000002 REQUIRE __INIT_XDATA_Z
68
69 /*********************************************************************
70 * EXTERNAL VARIABLES
71 */
72
73 /*********************************************************************
74 * EXTERNAL FUNCTIONS
75 */
76
77 /*********************************************************************
78 * LOCAL FUNCTIONS
79 */
80
81 /*********************************************************************
82 * LOCAL VARIABLES
83 */
84
85 /*********************************************************************
86 * @fn ZDConfig_InitDescriptors()
87 *
88 * @brief Setup the ZDO descriptors
89 * Node, Power
90 *
91 * @param none
92 *
93 * @return none
94 */
\ In segment BANKED_CODE, align 1, keep-with-next
95 void ZDConfig_InitDescriptors( void )
\ ZDConfig_InitDescriptors:
96 {
\ 000000 C082 PUSH DPL
\ 000002 C083 PUSH DPH
\ 000004 ; Saved register size: 2
\ 000004 ; Auto size: 0
97 ZDConfig_UpdateNodeDescriptor();
\ 000004 ; Setup parameters for call to function ZDConfig_UpdateNodeDescriptor
\ 000004 12.... LCALL `??ZDConfig_UpdateNodeDescriptor::?relay`; Banked call to: ZDConfig_UpdateNodeDescriptor
98 ZDConfig_UpdatePowerDescriptor();
\ 000007 ; Setup parameters for call to function ZDConfig_UpdatePowerDescriptor
\ 000007 12.... LCALL `??ZDConfig_UpdatePowerDescriptor::?relay`; Banked call to: ZDConfig_UpdatePowerDescriptor
99 }
\ 00000A 80.. SJMP ??Subroutine1_0
\ In segment BANKED_CODE, align 1, keep-with-next
\ ??Subroutine1_0:
\ 000000 D083 POP DPH
\ 000002 D082 POP DPL
\ 000004 02.... LJMP ?BRET
100
101 /*********************************************************************
102 * @fn ZDConfig_UpdateNodeDescriptor()
103 *
104 * @brief Update the ZDO Node Descriptor
105 *
106 * @param none
107 *
108 * @return none
109 */
\ In segment BANKED_CODE, align 1, keep-with-next
110 void ZDConfig_UpdateNodeDescriptor( void )
\ ZDConfig_UpdateNodeDescriptor:
111 {
\ 000000 C082 PUSH DPL
\ 000002 C083 PUSH DPH
\ 000004 ; Saved register size: 2
\ 000004 ; Auto size: 0
112 // Build the Node Descriptor
113 if ( ZG_BUILD_COORDINATOR_TYPE && ZG_DEVICE_COORDINATOR_TYPE )
114 ZDO_Config_Node_Descriptor.LogicalType = NODETYPE_COORDINATOR;
115 else if ( ZSTACK_ROUTER_BUILD )
116 ZDO_Config_Node_Descriptor.LogicalType = NODETYPE_ROUTER;
117 else if ( ZSTACK_END_DEVICE_BUILD )
118 ZDO_Config_Node_Descriptor.LogicalType = NODETYPE_DEVICE;
119
120 ZDO_Config_Node_Descriptor.ComplexDescAvail = FALSE; // set elsewhere
121 ZDO_Config_Node_Descriptor.UserDescAvail = FALSE; // set elsewhere
122 ZDO_Config_Node_Descriptor.Reserved = 0; // Reserved
\ 000004 90.... MOV DPTR,#ZDO_Config_Node_Descriptor
\ 000007 7402 MOV A,#0x2
\ 000009 F0 MOVX @DPTR,A
123 ZDO_Config_Node_Descriptor.APSFlags = 0; // NO APS flags
124 ZDO_Config_Node_Descriptor.FrequencyBand = NODEFREQ_2400; // Frequency Band
\ 00000A A3 INC DPTR
\ 00000B 7440 MOV A,#0x40
\ 00000D F0 MOVX @DPTR,A
125
126 // MAC Capabilities
127 if ( ZSTACK_ROUTER_BUILD )
128 {
129 ZDO_Config_Node_Descriptor.CapabilityFlags
130 = (CAPINFO_DEVICETYPE_FFD | CAPINFO_POWER_AC | CAPINFO_RCVR_ON_IDLE);
131
132 if ( ZG_BUILD_COORDINATOR_TYPE && ZG_DEVICE_COORDINATOR_TYPE )
133 ZDO_Config_Node_Descriptor.CapabilityFlags |= CAPINFO_ALTPANCOORD;
134 }
135 else if ( ZSTACK_END_DEVICE_BUILD )
136 {
137 ZDO_Config_Node_Descriptor.CapabilityFlags = (CAPINFO_DEVICETYPE_RFD
138 #if ( RFD_RCVC_ALWAYS_ON == TRUE)
139 | CAPINFO_RCVR_ON_IDLE
140 #endif
141 );
\ 00000E A3 INC DPTR
\ 00000F E4 CLR A
\ 000010 F0 MOVX @DPTR,A
142 }
143
144 // Manufacturer Code - *YOU FILL IN*
145 ZDO_Config_Node_Descriptor.ManufacturerCode[0] = 0;
\ 000011 A3 INC DPTR
\ 000012 F0 MOVX @DPTR,A
146 ZDO_Config_Node_Descriptor.ManufacturerCode[1] = 0;
\ 000013 A3 INC DPTR
\ 000014 F0 MOVX @DPTR,A
147
148 // Maximum Buffer Size
149 ZDO_Config_Node_Descriptor.MaxBufferSize = MAX_BUFFER_SIZE;
\ 000015 A3 INC DPTR
\ 000016 7450 MOV A,#0x50
\ 000018 F0 MOVX @DPTR,A
150
151 // Maximum Incoming Transfer Size Field
152 ZDO_Config_Node_Descriptor.MaxInTransferSize[0] = LO_UINT16( MAX_TRANSFER_SIZE );
\ 000019 A3 INC DPTR
\ 00001A 74A0 MOV A,#-0x60
\ 00001C F0 MOVX @DPTR,A
153 ZDO_Config_Node_Descriptor.MaxInTransferSize[1] = HI_UINT16( MAX_TRANSFER_SIZE );
\ 00001D A3 INC DPTR
\ 00001E E4 CLR A
\ 00001F F0 MOVX @DPTR,A
154
155 // Maximum Outgoing Transfer Size Field
156 ZDO_Config_Node_Descriptor.MaxOutTransferSize[0] = LO_UINT16( MAX_TRANSFER_SIZE );
\ 000020 90.... MOV DPTR,#ZDO_Config_Node_Descriptor + 10
\ 000023 74A0 MOV A,#-0x60
\ 000025 F0 MOVX @DPTR,A
157 ZDO_Config_Node_Descriptor.MaxOutTransferSize[1] = HI_UINT16( MAX_TRANSFER_SIZE );
\ 000026 A3 INC DPTR
\ 000027 E4 CLR A
\ 000028 F0 MOVX @DPTR,A
158
159 // Server Mask
160 ZDO_Config_Node_Descriptor.ServerMask = 0;
\ 000029 90.... MOV DPTR,#ZDO_Config_Node_Descriptor + 8
\ 00002C F0 MOVX @DPTR,A
\ 00002D A3 INC DPTR
\ 00002E F0 MOVX @DPTR,A
161
162 // Descriptor Capability Field - extended active endpoint list and
163 // extended simple descriptor are not supported.
164 ZDO_Config_Node_Descriptor.DescriptorCapability = 0;
\ 00002F 90.... MOV DPTR,#ZDO_Config_Node_Descriptor + 12
\ 000032 REQUIRE ?Subroutine0
\ 000032 ; // Fall through to label ?Subroutine0
165 }
\ In segment BANKED_CODE, align 1, keep-with-next
\ ?Subroutine0:
\ 000000 F0 MOVX @DPTR,A
\ 000001 REQUIRE ??Subroutine1_0
\ 000001 ; // Fall through to label ??Subroutine1_0
166
167 /*********************************************************************
168 * @fn ZDConfig_UpdatePowerDescriptor()
169 *
170 * @brief Update the ZDO Power Descriptor
171 *
172 * @param none
173 *
174 * @return none
175 */
\ In segment BANKED_CODE, align 1, keep-with-next
176 void ZDConfig_UpdatePowerDescriptor( void )
\ ZDConfig_UpdatePowerDescriptor:
177 {
\ 000000 C082 PUSH DPL
\ 000002 C083 PUSH DPH
\ 000004 ; Saved register size: 2
\ 000004 ; Auto size: 0
178 // Build the Power Descriptor
179 if ( ZSTACK_ROUTER_BUILD )
180 {
181 ZDO_Config_Power_Descriptor.PowerMode = NODECURPWR_RCVR_ALWAYS_ON;
182 ZDO_Config_Power_Descriptor.AvailablePowerSources = NODEAVAILPWR_MAINS;
183 ZDO_Config_Power_Descriptor.CurrentPowerSource = NODEAVAILPWR_MAINS;
184 ZDO_Config_Power_Descriptor.CurrentPowerSourceLevel = NODEPOWER_LEVEL_100;
185 }
186 else if ( ZSTACK_END_DEVICE_BUILD )
187 {
188 if ( zgPollRate )
\ 000004 90.... MOV DPTR,#zgPollRate
\ 000007 E0 MOVX A,@DPTR
\ 000008 F8 MOV R0,A
\ 000009 A3 INC DPTR
\ 00000A E0 MOVX A,@DPTR
\ 00000B F9 MOV R1,A
\ 00000C E8 MOV A,R0
\ 00000D 49 ORL A,R1
\ 00000E 90.... MOV DPTR,#ZDO_Config_Power_Descriptor
\ 000011 6008 JZ ??ZDConfig_UpdatePowerDescriptor_0
189 ZDO_Config_Power_Descriptor.PowerMode = NODECURPWR_RCVR_AUTO;
\ 000013 E0 MOVX A,@DPTR
\ 000014 54F0 ANL A,#0xf0
\ 000016 F0 MOVX @DPTR,A
\ 000017 4401 ORL A,#0x1
\ 000019 8006 SJMP ??ZDConfig_UpdatePowerDescriptor_1
190 else
191 ZDO_Config_Power_Descriptor.PowerMode = NODECURPWR_RCVR_STIM;
\ ??ZDConfig_UpdatePowerDescriptor_0:
\ 00001B E0 MOVX A,@DPTR
\ 00001C 54F0 ANL A,#0xf0
\ 00001E F0 MOVX @DPTR,A
\ 00001F 4402 ORL A,#0x2
\ ??ZDConfig_UpdatePowerDescriptor_1:
\ 000021 F0 MOVX @DPTR,A
192
193 ZDO_Config_Power_Descriptor.AvailablePowerSources = NODEAVAILPWR_RECHARGE;
194 ZDO_Config_Power_Descriptor.CurrentPowerSource = NODEAVAILPWR_RECHARGE;
195 ZDO_Config_Power_Descriptor.CurrentPowerSourceLevel = NODEPOWER_LEVEL_66;
\ 000022 E0 MOVX A,@DPTR
\ 000023 540F ANL A,#0xf
\ 000025 F0 MOVX @DPTR,A
\ 000026 A3 INC DPTR
\ 000027 E4 CLR A
\ 000028 F0 MOVX @DPTR,A
\ 000029 90.... MOV DPTR,#ZDO_Config_Power_Descriptor
\ 00002C E0 MOVX A,@DPTR
\ 00002D 4420 ORL A,#0x20
\ 00002F F0 MOVX @DPTR,A
\ 000030 A3 INC DPTR
\ 000031 7482 MOV A,#-0x7e
\ 000033 80.. SJMP ?Subroutine0
196 }
197 }
198
199 /*********************************************************************
200 *********************************************************************/
201
202
Maximum stack usage in bytes:
ISTACK Function
------ --------
2 ZDConfig_InitDescriptors
2 -> ZDConfig_UpdateNodeDescriptor
2 -> ZDConfig_UpdatePowerDescriptor
2 ZDConfig_UpdateNodeDescriptor
2 ZDConfig_UpdatePowerDescriptor
Segment part sizes:
Bytes Function/Label
----- --------------
7 ??Subroutine1_0
1 ?Subroutine0
12 ZDConfig_InitDescriptors
50 ZDConfig_UpdateNodeDescriptor
53 ZDConfig_UpdatePowerDescriptor
13 ZDO_Config_Node_Descriptor
2 ZDO_Config_Power_Descriptor
18 -- Other
123 bytes in segment BANKED_CODE
18 bytes in segment BANK_RELAYS
15 bytes in segment XDATA_Z
18 bytes of CODE memory
123 bytes of HUGECODE memory
15 bytes of XDATA memory
Errors: none
Warnings: none