⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mac.lst

📁 zigbee location examples
💻 LST
📖 第 1 页 / 共 5 页
字号:
##############################################################################
#                                                                            #
# IAR 8051 C/C++ Compiler V7.20H/W32                   16/Jan/2007  15:33:21 #
# 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:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engi #
#                          ne\lib\mac\CC2430\mac.c                           #
#    Command line       =  -I "C:\Program Files\IAR Systems\Embedded         #
#                          Workbench 4.05 Evaluation version\8051\INC\" -I   #
#                          "C:\Program Files\IAR Systems\Embedded Workbench  #
#                          4.05 Evaluation version\8051\SRC\LIB\" -I         #
#                          "C:\Program Files\IAR Systems\Embedded Workbench  #
#                          4.05 Evaluation version\8051\INC\CLIB\" -I        #
#                          E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engi #
#                          ne\Test\mac\mac_loc\..\..\..\include\ -I          #
#                          E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engi #
#                          ne\Test\mac\mac_loc\..\..\..\include\mac\cc2430\  #
#                          -I E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_E #
#                          ngine\Test\mac\mac_loc\..\..\..\include\hal\cc243 #
#                          0\ -I E:\公司产品资料\Zigbee\cc2431\cc2431定位\LO #
#                          C_Engine\Test\mac\mac_loc\..\..\..\apps\ -D       #
#                          USE_LED -D SOC_BB -lCN "E:\公司产品资料\Zigbee\cc #
#                          2431\cc2431定位\LOC_Engine\Test\mac\mac_loc\SOC_B #
#                          B, hex\List\" -lA "E:\公司产品资料\Zigbee\cc2431\ #
#                          cc2431定位\LOC_Engine\Test\mac\mac_loc\SOC_BB,    #
#                          hex\List\" -o "E:\公司产品资料\Zigbee\cc2431\cc24 #
#                          31定位\LOC_Engine\Test\mac\mac_loc\SOC_BB,        #
#                          hex\Obj\" -e -s9 --debug --core=plain             #
#                          --dptr=16,1 --data_model=large                    #
#                          --code_model=banked --calling_convention=xdata_re #
#                          entrant --place_constants=data --nr_virtual_regs  #
#                          8 E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_En #
#                          gine\lib\mac\CC2430\mac.c                         #
#    List file          =  E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engi #
#                          ne\Test\mac\mac_loc\SOC_BB, hex\List\mac.lst      #
#    Object file        =  E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engi #
#                          ne\Test\mac\mac_loc\SOC_BB, hex\Obj\mac.r51       #
#                                                                            #
#                                                                            #
##############################################################################

E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engine\lib\mac\CC2430\mac.c
      1          /*******************************************************************************************************
      2           *                                                                                                     *
      3           *        **********                                                                                   *
      4           *       ************                                                                                  *
      5           *      ***        ***                                                                                 *
      6           *      ***   +++   ***                                                                                *
      7           *      ***   + +   ***                                                                                *
      8           *      ***   +                        CHIPCON CC2430 INTEGRATED 802.15.4 MAC AND PHY                  *
      9           *      ***   + +   ***                                                                                *
     10           *      ***   +++   ***                                                                                *
     11           *      ***        ***                                                                                 *
     12           *       ************                                                                                  *
     13           *        **********                                                                                   *
     14           *                                                                                                     *
     15           *******************************************************************************************************
     16           * CONFIDENTIAL                                                                                        *
     17           * The use of this file is restricted by the signed MAC software license agreement.                    *
     18           *                                                                                                     *
     19           * Copyright Chipcon AS, 2005                                                                          *
     20           *******************************************************************************************************
     21           * This file implements the MAC functions (request and response) to be called by the higher layer      *
     22           *******************************************************************************************************/
     23          #include "mac_headers.h"

   \                                 In segment SFR_AN, at 0xa1
   \   unsigned char volatile __sfr T2OF0
   \                     T2OF0:
   \   000000                DS 1

   \                                 In segment SFR_AN, at 0xa2
   \   unsigned char volatile __sfr T2OF1
   \                     T2OF1:
   \   000000                DS 1

   \                                 In segment SFR_AN, at 0xa3
   \   unsigned char volatile __sfr T2OF2
   \                     T2OF2:
   \   000000                DS 1
     24          
     25          //-------------------------------------------------------------------------------------------------------
     26          // Extended address, must be set by higher layer
     27          

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
     28          BYTE aExtendedAddress[8];
   \                     aExtendedAddress:
   \   000000                DS 8
     29          //-------------------------------------------------------------------------------------------------------
     30          
     31          
     32          //-------------------------------------------------------------------------------------------------------
     33          //  MAC_ENUM mlmeResetRequest(BOOL setDefaultPIB)
     34          //
     35          //  DESCRIPTION:
     36          //      Reset the MAC and PHY layers, including CC2430, the microcontroller, and all state variables.
     37          //      NOTE: The initialization and power-up sequence must be performed according to
     38          //            the MAC documentation prior to calling mlmeResetRequest or other
     39          //            MAC primitives
     40          //
     41          //  PARAMETERS:
     42          //      BOOL setDefaultPIB
     43          //          Reset the PHY and MAC PIBs
     44          //
     45          //  RETURN VALUE:
     46          //      MAC_ENUM
     47          //          Always SUCCESS
     48          //-------------------------------------------------------------------------------------------------------

   \                                 In segment NEAR_CODE, align 1, keep-with-next
     49          ROOT MAC_ENUM mlmeResetRequest(BOOL setDefaultPIB) {
   \                     mlmeResetRequest:
   \   000000   74F5         MOV     A,#-0xb
   \   000002   12....       LCALL   ?FUNC_ENTER_XDATA
   \   000005                ; Saved register size: 11
   \   000005                ; Auto size: 0
   \   000005   E9           MOV     A,R1
   \   000006   FE           MOV     R6,A
     50          
     51              // Disable the FIFOP interrupt
     52              DISABLE_TIMER2_INT();
   \   000007   C2BA         CLR     0xb8.2
     53          
     54              // Clear ABORTRX_ON_SRXON and ACCEPT_ACKPKT
     55              FSMTC1 = 0x00;
   \   000009   E4           CLR     A
   \   00000A   90DF54       MOV     DPTR,#-0x20ac
   \   00000D   F0           MOVX    @DPTR,A
     56          
     57              // Initialize the MAC timer
     58              mtimInit(FALSE);
   \   00000E                ; Setup parameters for call to function mtimInit
   \   00000E   F9           MOV     R1,A
   \   00000F   12....       LCALL   mtimInit
     59          
     60              // Initialize the scheduler before the other modules (task reservation...)
     61              mschInit();
   \   000012                ; Setup parameters for call to function mschInit
   \   000012   12....       LCALL   mschInit
     62          
     63              // Initialize variables in the various modules
     64              mrxpInit();
   \   000015                ; Setup parameters for call to function mrxpInit
   \   000015   12....       LCALL   mrxpInit
     65              mtxpInit();
   \   000018                ; Setup parameters for call to function mtxpInit
   \   000018   12....       LCALL   mtxpInit
     66          #if MAC_OPT_FFD
     67              miqInit();
   \   00001B                ; Setup parameters for call to function miqInit
   \   00001B   12....       LCALL   miqInit
     68          #endif
     69              mtxInfo.startTxTask = mschReserveTask();
   \   00001E                ; Setup parameters for call to function mschReserveTask
   \   00001E   12....       LCALL   mschReserveTask
   \   000021   E9           MOV     A,R1
   \   000022   90....       MOV     DPTR,#(mtxInfo + 12)
   \   000025   F0           MOVX    @DPTR,A
     70              mrxInfo.state = MRX_STATE_LEN_FCF_SEQ;
   \   000026   E4           CLR     A
   \   000027   90....       MOV     DPTR,#(mrxInfo + 12)
   \   00002A   F0           MOVX    @DPTR,A
     71              mrxInfo.onCounter = 0;
   \   00002B   90....       MOV     DPTR,#(mrxInfo + 13)
   \   00002E   F0           MOVX    @DPTR,A
     72              mrxInfo.keepFifopIntOff = FALSE;
   \   00002F   90....       MOV     DPTR,#(mrxInfo + 15)
   \   000032   F0           MOVX    @DPTR,A
     73              mrxInfo.handleFifoUnderflow = FALSE;
   \   000033   90....       MOV     DPTR,#(mrxInfo + 14)
   \   000036   F0           MOVX    @DPTR,A
     74              mbcnInfo.trackBeacon = FALSE;
   \   000037   90....       MOV     DPTR,#(mbcnInfo + 5)
   \   00003A   F0           MOVX    @DPTR,A
     75              mbcnInfo.findBeacon = FALSE;
   \   00003B   90....       MOV     DPTR,#(mbcnInfo + 6)
   \   00003E   F0           MOVX    @DPTR,A
     76              mbcnInfo.rxTaskNumber = NO_TASK;
   \   00003F   74FF         MOV     A,#-0x1
   \   000041   90....       MOV     DPTR,#(mbcnInfo + 1)
   \   000044   F0           MOVX    @DPTR,A
     77              mbcnInfo.txTaskNumber = NO_TASK;
   \   000045   90....       MOV     DPTR,#mbcnInfo
   \   000048   F0           MOVX    @DPTR,A
     78              mbcnInfo.pTxPacket = NULL;
   \   000049   90....       MOV     DPTR,#(mbcnInfo + 2)
   \   00004C   E4           CLR     A
   \   00004D   F0           MOVX    @DPTR,A
   \   00004E   A3           INC     DPTR
   \   00004F   F0           MOVX    @DPTR,A
     79              mscInfo.scanStatus = MSC_STATUS_FINISHED;
   \   000050   7401         MOV     A,#0x1
   \   000052   90....       MOV     DPTR,#(mscInfo + 10)
   \   000055   F0           MOVX    @DPTR,A
     80              mtxInfo.beaconTransmissionInProgress = FALSE;
   \   000056   E4           CLR     A
   \   000057   90....       MOV     DPTR,#(mtxInfo + 11)
   \   00005A   F0           MOVX    @DPTR,A
     81          
     82              // Reset flags
     83              RESET_MF();
   \   00005B   90....       MOV     DPTR,#(macInfo + 6)
   \   00005E   F0           MOVX    @DPTR,A
     84          
     85              // MAC command state
     86              macInfo.state = MAC_STATE_DEFAULT;
   \   00005F   90....       MOV     DPTR,#macInfo
   \   000062   F0           MOVX    @DPTR,A
     87          
     88              // Other state variables
     89              mbcnInfo.lastSfSpec.battLifeExt = FALSE;
   \   000063   90....       MOV     DPTR,#(mbcnInfo + 9)
   \   000066   F0           MOVX    @DPTR,A
     90              mbcnInfo.lastSfSpec.finalCap = USE_WHOLE_SUPERFRAME_FOR_CAP;
   \   000067   740F         MOV     A,#0xf
   \   000069   90....       MOV     DPTR,#(mbcnInfo + 8)
   \   00006C   F0           MOVX    @DPTR,A
     91          
     92              // Set all MAC/PHY PIB attributes to their default values.
     93              if (setDefaultPIB) {
   \   00006D   EE           MOV     A,R6
   \   00006E   7003         JNZ     $+5
   \   000070   02....       LJMP    ??mlmeResetRequest_0
     94                  ppib.phyCurrentChannel = 11;
   \   000073   740B         MOV     A,#0xb
   \   000075   90....       MOV     DPTR,#ppib
   \   000078   F0           MOVX    @DPTR,A
     95                  ppib.phyTransmitPower = OUTPUT_POWER_0DBM; //0dBm an +/- 1dBm tolerance
   \   000079   E4           CLR     A
   \   00007A   90....       MOV     DPTR,#(ppib + 1)
   \   00007D   F0           MOVX    @DPTR,A
     96                  ppib.phyCcaMode = 1;
   \   00007E   7401         MOV     A,#0x1
   \   000080   90....       MOV     DPTR,#(ppib + 2)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -