📄 zmac_cb.lst
字号:
##############################################################################
# #
# IAR 8051 C/C++ Compiler V7.20H/W32 06/Nov/2008 11:13:29 #
# Copyright 2004-2006 IAR Systems. All rights reserved. #
# #
# Core = plain #
# Code model = banked #
# Data model = large #
# Calling convention = xdata reentrant #
# Constant location = data #
# Dptr setup = 1,16 #
# Source file = E:\解决\路由\Components\zmac\f8w\zmac_cb.c #
# Command line = -f E:\解决\路由\Projects\zstack\Samples\SampleApp #
# \CC2430DB\..\..\..\Tools\CC2430DB\f8wCoord.cfg #
# (-DCPU32MHZ -DFORCE_MAC_NEAR -DROOT=__near_func #
# -DMAC_CFG_APP_PENDING_QUEUE=TRUE #
# -DZDO_COORDINATOR -DRTR_NWK -DBLINK_LEDS #
# "-DCONST=const __code" -DGENERIC=__generic) -f #
# E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\..\..\..\Tools\CC2430DB\f8wConfig.cfg #
# (-DSECURE=0 -DDEFAULT_CHANLIST=0x00000800 #
# -DZDAPP_CONFIG_PAN_ID=0xFFFF #
# -DNWK_START_DELAY=100 -DEXTENDED_JOINING_RANDOM_M #
# ASK=0x007F -DBEACON_REQUEST_DELAY=100 #
# -DBEACON_REQ_DELAY_MASK=0x00FF #
# -DROUTE_EXPIRY_TIME=30 -DAPSC_ACK_WAIT_DURATION_P #
# OLLED=3000 -DNWK_INDIRECT_MSG_TIMEOUT=7 #
# -DMAX_RREQ_ENTRIES=10 -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=20 #
# -DNWK_MAX_BINDING_ENTRIES=10 #
# -DMAX_BINDING_CLUSTER_IDS=5 #
# "-DDEFAULT_KEY={0x01, 0x03, 0x05, 0x07, 0x09, #
# 0x0B, 0x0D, 0x0F, 0x00, 0x02, 0x04, 0x06, 0x08, #
# 0x0A, 0x0C, 0x0D}" -DRFD_RCVC_ALWAYS_ON=FALSE #
# -DPOLL_RATE=1000 -DQUEUED_POLL_RATE=100 #
# -DRESPONSE_POLL_RATE=100 -DREJOIN_POLL_RATE=440 #
# -DTOP_BOOT_PAGES=0) -I "D:\Program Files\IAR #
# Systems\Embedded Workbench 4.05 Evaluation #
# version\8051\inc\" -I "D:\Program Files\IAR #
# Systems\Embedded Workbench 4.05 Evaluation #
# version\8051\inc\clib\" -I #
# E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\ -I E:\解决\路由\Projects\zstack\Samples\S #
# ampleApp\CC2430DB\..\Source\ -I #
# E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\..\..\..\ZMain\TI2430DB\ -I #
# E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\..\..\..\..\..\Components\mt\ -I #
# E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\..\..\..\..\..\Components\hal\include\ -I #
# E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\..\..\..\..\..\Components\hal\target\CC243 #
# 0DB\ -I E:\解决\路由\Projects\zstack\Samples\Samp #
# leApp\CC2430DB\..\..\..\..\..\Components\osal\mcu #
# \ccsoc\ -I E:\解决\路由\Projects\zstack\Samples\S #
# ampleApp\CC2430DB\..\..\..\..\..\Components\osal\ #
# include\ -I E:\解决\路由\Projects\zstack\Samples\ #
# SampleApp\CC2430DB\..\..\..\..\..\Components\stac #
# k\af\ -I E:\解决\路由\Projects\zstack\Samples\Sam #
# pleApp\CC2430DB\..\..\..\..\..\Components\stack\n #
# wk\ -I E:\解决\路由\Projects\zstack\Samples\Sampl #
# eApp\CC2430DB\..\..\..\..\..\Components\stack\sec #
# \ -I E:\解决\路由\Projects\zstack\Samples\SampleA #
# pp\CC2430DB\..\..\..\..\..\Components\stack\sys\ #
# -I E:\解决\路由\Projects\zstack\Samples\SampleApp #
# \CC2430DB\..\..\..\..\..\Components\stack\zdo\ #
# -I E:\解决\路由\Projects\zstack\Samples\SampleApp #
# \CC2430DB\..\..\..\..\..\Components\zmac\f8w\ -I #
# E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\..\..\..\..\..\Components\zmac\ -I #
# E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\..\..\..\..\..\Components\services\saddr\ #
# -I E:\解决\路由\Projects\zstack\Samples\SampleApp #
# \CC2430DB\..\..\..\..\..\Components\services\sdat #
# a\ -I E:\解决\路由\Projects\zstack\Samples\Sample #
# App\CC2430DB\..\..\..\..\..\Components\mac\includ #
# e\ -I E:\解决\路由\Projects\zstack\Samples\Sample #
# App\CC2430DB\..\..\..\..\..\Components\mac\high_l #
# evel\ -I E:\解决\路由\Projects\zstack\Samples\Sam #
# pleApp\CC2430DB\..\..\..\..\..\Components\mac\low #
# _level\srf03\ -I E:\解决\路由\Projects\zstack\Sam #
# ples\SampleApp\CC2430DB\..\..\..\..\..\Components #
# \mac\low_level\srf03\single_chip\ -D CC2430DB #
# -lC E:\解决\路由\Projects\zstack\Samples\SampleAp #
# p\CC2430DB\CoordinatorDB\List\ -lA #
# E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\CoordinatorDB\List\ --diag_suppress #
# Pe001,Pa010 --diag_remark pe550 -o #
# E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\CoordinatorDB\Obj\ -e #
# --require_prototypes -z9 --no_code_motion #
# --debug --core=plain --dptr=16,1 #
# --data_model=large --code_model=banked #
# --calling_convention=xdata_reentrant #
# --place_constants=data --nr_virtual_regs 8 #
# E:\解决\路由\Components\zmac\f8w\zmac_cb.c #
# List file = E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\CoordinatorDB\List\zmac_cb.lst #
# Object file = E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
# 2430DB\CoordinatorDB\Obj\zmac_cb.r51 #
# #
# #
##############################################################################
E:\解决\路由\Components\zmac\f8w\zmac_cb.c
1 /********************************************************************************************************
2 Filename: zmac_cb.c
3 Revised: $Date: 2007-02-22 16:28:22 -0800 (Thu, 22 Feb 2007) $
4 Revision: $Revision: 13562 $
5
6 Description:
7
8 This file contains the NWK functions that the ZMAC calls
9
10 Notes:
11
12 Copyright (c) 2006 by Texas Instruments, Inc.
13 All Rights Reserved. Permission to use, reproduce, copy, prepare
14 derivative works, modify, distribute, perform, display or sell this
15 software and/or its documentation for any purpose is prohibited
16 without the express written consent of Texas Instruments, Inc.
17
18 ********************************************************************************************************/
19
20
21 /********************************************************************************************************
22 * INCLUDES
23 ********************************************************************************************************/
24 #include "ZComDef.h"
25 #include "OSAL.h"
26 #include "ZMAC.h"
27 #include "MT_MAC.h"
28
29 #if !defined NONWK
30 #include "nwk.h"
31 #include "nwk_bufs.h"
32 #endif
33
34 #if defined( MACSIM )
35 #include "mac_sim.h"
36 #endif
37
38 extern void *ZMac_ScanBuf;
39
40 /********************************************************************************************************
41 * MACROS
42 ********************************************************************************************************/
43
44 #define ZMAC_EVENT_ID 0x00
45 #define ZMAC_EVENT_STATUS 0x01
46
47 /********************************************************************************************************
48 * CONSTANTS
49 ********************************************************************************************************/
50
51 #if !defined NONWK
52
53 #define INVALID_SHORT_ADDR 0xFFFE
54 #define BROADCAST_ADDR 0xFFFF
55
56 /* Lookup table for size of structures. Must match with the order of MAC callback events */
\ In segment CODE_C, align 1
57 const uint8 CODE zmacCBSizeTable [] = {
\ zmacCBSizeTable:
\ 000000 00160F16 DB 0, 22, 15, 22, 13, 11, 21, 11, 2, 17, 2, 34, 11, 48, 3, 0, 6
\ 0D0B150B
\ 02110222
\ 0B300300
\ 06
58 0,
59 sizeof (ZMacAssociateInd_t),
60 sizeof (ZMacAssociateCnf_t),
61 sizeof (ZMacDisassociateInd_t),
62 sizeof (ZMacDisassociateCnf_t),
63 sizeof (ZMacBeaconNotifyInd_t) ,
64 /* 0, // sizeof (ZMacGTSInd_t), */
65 /* 0, // sizeof (ZMacGTSCnf_t), */
66 sizeof (ZMacOrphanInd_t),
67 sizeof (ZMacScanCnf_t),
68 sizeof (ZMacStartCnf_t),
69 sizeof (ZMacSyncLossInd_t),
70 sizeof (ZMacPollCnf_t),
71 sizeof (ZMacCommStatusInd_t),
72 /* 0, // sizeof (ZMacRxEnableCnf_t), */
73 sizeof (ZMacDataCnf_t),
74 sizeof (ZMacDataInd_t),
75 sizeof (ZMacPurgeCnf_t),
76 0,
77 sizeof (ZMacPollInd_t)
78 };
79
80 uint16 getZMacDynamicSize(uint8 event, macCbackEvent_t *pData);
\ In segment BANKED_CODE, align 1, keep-with-next
81 uint16 getZMacDynamicSize(uint8 event, macCbackEvent_t *pData)
\ getZMacDynamicSize:
82 {
\ 000000 C082 PUSH DPL
\ 000002 C083 PUSH DPH
\ 000004 ; Saved register size: 2
\ 000004 ; Auto size: 0
83 switch(event)
\ 000004 E9 MOV A,R1
\ 000005 12.... LCALL ?UC_SWITCH_DENSE
\ `?<Jumptable for getZMacDynamicSize>_0`:
\ 000008 05 DB 5
\ 000009 02 DB 2
\ 00000A .... DW ??getZMacDynamicSize_0
\ 00000C .... DW ??getZMacDynamicSize_1
\ 00000E .... DW ??getZMacDynamicSize_0
\ 000010 .... DW ??getZMacDynamicSize_2
84 {
85 case MAC_MLME_BEACON_NOTIFY_IND:
86 return sizeof(macPanDesc_t) + pData->beaconNotifyInd.sduLength;
\ ??getZMacDynamicSize_1:
\ 000012 8A82 MOV DPL,R2
\ 000014 8B83 MOV DPH,R3
\ 000016 A3 INC DPTR
\ 000017 A3 INC DPTR
\ 000018 A3 INC DPTR
\ 000019 A3 INC DPTR
\ 00001A A3 INC DPTR
\ 00001B A3 INC DPTR
\ 00001C A3 INC DPTR
\ 00001D A3 INC DPTR
\ 00001E E0 MOVX A,@DPTR
\ 00001F F8 MOV R0,A
\ 000020 7421 MOV A,#0x21
\ 000022 28 ADD A,R0
\ 000023 FA MOV R2,A
\ 000024 E4 CLR A
\ 000025 3400 ADDC A,#0x0
\ 000027 FB MOV R3,A
\ 000028 8027 SJMP ??getZMacDynamicSize_3
87 case MAC_MLME_SCAN_CNF:
88 if (pData->scanCnf.scanType == ZMAC_ED_SCAN)
\ ??getZMacDynamicSize_2:
\ 00002A 8A82 MOV DPL,R2
\ 00002C 8B83 MOV DPH,R3
\ 00002E A3 INC DPTR
\ 00002F A3 INC DPTR
\ 000030 E0 MOVX A,@DPTR
\ 000031 7004 JNZ ??getZMacDynamicSize_4
89 return ZMAC_ED_SCAN_MAXCHANNELS;
\ 000033 7A1B MOV R2,#0x1b
\ 000035 8018 SJMP ??getZMacDynamicSize_5
90 else
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -