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

425 lines
22 KiB
Plaintext
Raw Blame History

###############################################################################
#
# IAR C/C++ Compiler V10.30.1.6000 for 8051 23/Aug/2019 12:13:09
# 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\EWE0ED.tmp
# (E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Components\stack\zdo\ZDConfig.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\ZDConfig.lst
# Object file =
# E:\qq下载文件\ZStack-CC2530-r200\ZStack-CC2530-r200\Projects\SappWsn\RouterEB\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 REQUIRE ?Subroutine0
\ 000007 ; // Fall through to label ?Subroutine0
99 }
\ In segment BANKED_CODE, align 1, keep-with-next
\ ??Subroutine1_0:
\ 000000 F0 MOVX @DPTR,A
\ 000001 D083 POP DPH
\ 000003 D082 POP DPL
\ 000005 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 7401 MOV A,#0x1
\ 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);
\ 00000E A3 INC DPTR
\ 00000F 740E MOV A,#0xe
\ 000011 F0 MOVX @DPTR,A
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 );
142 }
143
144 // Manufacturer Code - *YOU FILL IN*
145 ZDO_Config_Node_Descriptor.ManufacturerCode[0] = 0;
\ 000012 A3 INC DPTR
\ 000013 E4 CLR A
\ 000014 F0 MOVX @DPTR,A
146 ZDO_Config_Node_Descriptor.ManufacturerCode[1] = 0;
\ 000015 A3 INC DPTR
\ 000016 F0 MOVX @DPTR,A
147
148 // Maximum Buffer Size
149 ZDO_Config_Node_Descriptor.MaxBufferSize = MAX_BUFFER_SIZE;
\ 000017 A3 INC DPTR
\ 000018 7450 MOV A,#0x50
\ 00001A F0 MOVX @DPTR,A
150
151 // Maximum Incoming Transfer Size Field
152 ZDO_Config_Node_Descriptor.MaxInTransferSize[0] = LO_UINT16( MAX_TRANSFER_SIZE );
\ 00001B A3 INC DPTR
\ 00001C 74A0 MOV A,#-0x60
\ 00001E F0 MOVX @DPTR,A
153 ZDO_Config_Node_Descriptor.MaxInTransferSize[1] = HI_UINT16( MAX_TRANSFER_SIZE );
\ 00001F A3 INC DPTR
\ 000020 E4 CLR A
\ 000021 F0 MOVX @DPTR,A
154
155 // Maximum Outgoing Transfer Size Field
156 ZDO_Config_Node_Descriptor.MaxOutTransferSize[0] = LO_UINT16( MAX_TRANSFER_SIZE );
\ 000022 90.... MOV DPTR,#ZDO_Config_Node_Descriptor + 10
\ 000025 74A0 MOV A,#-0x60
\ 000027 F0 MOVX @DPTR,A
157 ZDO_Config_Node_Descriptor.MaxOutTransferSize[1] = HI_UINT16( MAX_TRANSFER_SIZE );
\ 000028 A3 INC DPTR
\ 000029 E4 CLR A
\ 00002A F0 MOVX @DPTR,A
158
159 // Server Mask
160 ZDO_Config_Node_Descriptor.ServerMask = 0;
\ 00002B 90.... MOV DPTR,#ZDO_Config_Node_Descriptor + 8
\ 00002E F0 MOVX @DPTR,A
\ 00002F A3 INC DPTR
\ 000030 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;
\ 000031 90.... MOV DPTR,#ZDO_Config_Node_Descriptor + 12
\ 000034 80.. SJMP ??Subroutine1_0
165 }
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
\ ?Subroutine0:
\ 000000 90.... MOV DPTR,#ZDO_Config_Power_Descriptor
\ 000003 7410 MOV A,#0x10
\ 000005 F0 MOVX @DPTR,A
\ 000006 A3 INC DPTR
\ 000007 74C1 MOV A,#-0x3f
\ 000009 REQUIRE ??Subroutine1_0
\ 000009 ; // Fall through to label ??Subroutine1_0
\ 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;
\ 000004 80.. SJMP ?Subroutine0
185 }
186 else if ( ZSTACK_END_DEVICE_BUILD )
187 {
188 if ( zgPollRate )
189 ZDO_Config_Power_Descriptor.PowerMode = NODECURPWR_RCVR_AUTO;
190 else
191 ZDO_Config_Power_Descriptor.PowerMode = NODECURPWR_RCVR_STIM;
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;
196 }
197 }
198
199 /*********************************************************************
200 *********************************************************************/
201
202
Maximum stack usage in bytes:
ISTACK Function
------ --------
2 ZDConfig_InitDescriptors
2 -> ZDConfig_UpdateNodeDescriptor
2 ZDConfig_UpdateNodeDescriptor
2 ZDConfig_UpdatePowerDescriptor
Segment part sizes:
Bytes Function/Label
----- --------------
8 ??Subroutine1_0
9 ?Subroutine0
7 ZDConfig_InitDescriptors
54 ZDConfig_UpdateNodeDescriptor
6 ZDConfig_UpdatePowerDescriptor
13 ZDO_Config_Node_Descriptor
2 ZDO_Config_Power_Descriptor
18 -- Other
84 bytes in segment BANKED_CODE
18 bytes in segment BANK_RELAYS
15 bytes in segment XDATA_Z
18 bytes of CODE memory
84 bytes of HUGECODE memory
15 bytes of XDATA memory
Errors: none
Warnings: none