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

📄 mac_power_management.lst

📁 zigbee location examples
💻 LST
📖 第 1 页 / 共 5 页
字号:
##############################################################################
#                                                                            #
# IAR 8051 C/C++ Compiler V7.20H/W32                   16/Jan/2007  15:33:36 #
# 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_power_management.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_power_management.c        #
#    List file          =  E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engi #
#                          ne\Test\mac\mac_loc\SOC_BB,                       #
#                          hex\List\mac_power_management.lst                 #
#    Object file        =  E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engi #
#                          ne\Test\mac\mac_loc\SOC_BB,                       #
#                          hex\Obj\mac_power_management.r51                  #
#                                                                            #
#                                                                            #
##############################################################################

E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engine\lib\mac\CC2430\mac_power_management.c
      1          /*******************************************************************************************************
      2           *                                                                                                     *
      3           *        **********                                                                                   *
      4           *       ************                                                                                  *
      5           *      ***        ***                                                                                 *
      6           *      ***   +++   ***                                                                                *
      7           *      ***   + +   ***                                                                                *
      8           *      ***   +                         CHIPCON CC2430 INTEGRATED 802.15.4 MAC AND PHY                 *
      9           *      ***   + +   ***                             CC2430 Power Management                            *
     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 module contains functions to be used by the higher layer to power down the CC2430.             *
     22           *******************************************************************************************************/
     23          #include <mac_headers.h>

   \                                 In segment SFR_AN, at 0x87
   \   unsigned char volatile __sfr PCON
   \                     PCON:
   \   000000                DS 1

   \                                 In segment SFR_AN, at 0xbe
   \   unsigned char volatile __sfr SLEEP
   \                     SLEEP:
   \   000000                DS 1

   \                                 In segment SFR_AN, at 0xc3
   \   unsigned char volatile __sfr T2CNF
   \                     T2CNF:
   \   000000                DS 1

   \                                 In segment SFR_AN, at 0xc6
   \   unsigned char volatile __sfr CLKCON
   \                     CLKCON:
   \   000000                DS 1

   \                                 In segment SFR_AN, at 0xe1
   \   unsigned char volatile __sfr RFST
   \                     RFST:
   \   000000                DS 1
     24          
     25          //-------------------------------------------------------------------------------------------------------
     26          // Internal module data

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
     27          MPM_INFO   mpmInfo;
   \                     mpmInfo:
   \   000000                DS 2
     28          //-------------------------------------------------------------------------------------------------------
     29          void mpmSetTask(MAC_TASK_INFO *pTask);
     30          
     31          static void ResumeCoordinatorAfterPowerDown (RESUME_MODE  resumeMode, BOOL synchronousStart);
     32          static void ResumeDeviceAfterPowerDown (RESUME_MODE resumeMode, BOOL synchronousStart);
     33          
     34          //-------------------------------------------------------------------------------------------------------
     35          // Simple power up/down functions

   \                                 In segment NEAR_CODE, align 1, keep-with-next
     36          ROOT void mpmTurnOnVregAndReset(void)
   \                     mpmTurnOnVregAndReset:
     37          {
   \   000000   C082         PUSH    DPL
   \   000002   C083         PUSH    DPH
   \   000004                ; Saved register size: 2
   \   000004                ; Auto size: 0
     38              DISABLE_GLOBAL_INT ();
   \   000004   C2AF         CLR     0xa8.7
     39              //RFR_MAINH = RESET_RF_CHIP_ON;
     40              RFPWR = VREG_POWER_UP;
   \   000006   7404         MOV     A,#0x4
   \   000008   90DF17       MOV     DPTR,#-0x20e9
   \   00000B   F0           MOVX    @DPTR,A
     41              CLKCON = 0;
   \   00000C   75C600       MOV     0xc6,#0x0
     42              halMacWait (0xFF);
   \   00000F                ; Setup parameters for call to function halMacWait
   \   00000F   7AFF         MOV     R2,#-0x1
   \   000011   7B00         MOV     R3,#0x0
   \   000013   12....       LCALL   halMacWait
     43              ENABLE_GLOBAL_INT ();
   \   000016   02....       LJMP    ?Subroutine0
     44          }

   \                                 In segment NEAR_CODE, align 1, keep-with-next
   \                     ?Subroutine0:
   \   000000   D2AF         SETB    0xa8.7
   \                     ??Subroutine0_0:
   \   000002   D083         POP     DPH
   \   000004   D082         POP     DPL
   \   000006   22           RET
     45          

   \                                 In segment NEAR_CODE, align 1, keep-with-next
     46          ROOT void mpmTurnOffReset(void)
   \                     mpmTurnOffReset:
     47          {
   \   000000                ; Saved register size: 0
   \   000000                ; Auto size: 0
     48              DISABLE_GLOBAL_INT();
   \   000000   C2AF         CLR     0xa8.7
     49              //RFR_MAINH = RESET_RF_CHIP_OFF;
     50              ENABLE_GLOBAL_INT();
   \   000002   D2AF         SETB    0xa8.7
     51          }
   \   000004   22           RET
     52          

   \                                 In segment NEAR_CODE, align 1, keep-with-next
     53          ROOT void mpmTurnOnXosc(void)
   \                     mpmTurnOnXosc:
     54          {
   \   000000                ; Saved register size: 0
   \   000000                ; Auto size: 0
     55              DISABLE_GLOBAL_INT();
   \   000000   C2AF         CLR     0xa8.7
     56              ISRXON; // TBD: Must be WRONG
   \   000002   75E1E2       MOV     0xe1,#-0x1e
     57              ENABLE_GLOBAL_INT();
   \   000005   D2AF         SETB    0xa8.7
     58          }
   \   000007   22           RET
     59          

   \                                 In segment NEAR_CODE, align 1, keep-with-next
     60          ROOT void mpmTurnOffVreg(void)
   \                     mpmTurnOffVreg:
     61          {
   \   000000   C082         PUSH    DPL
   \   000002   C083         PUSH    DPH
   \   000004                ; Saved register size: 2
   \   000004                ; Auto size: 0
     62              DISABLE_GLOBAL_INT();
   \   000004   C2AF         CLR     0xa8.7
     63              //RFR_MAINH = RESET_RF_CHIP_ON;
     64              RFPWR = VREG_POWER_DOWN;
   \   000006   7404         MOV     A,#0x4
   \   000008   90DF17       MOV     DPTR,#-0x20e9
   \   00000B   F0           MOVX    @DPTR,A
     65              ENABLE_GLOBAL_INT();
   \   00000C   80..         SJMP    ?Subroutine0
     66          }
     67          

   \                                 In segment NEAR_CODE, align 1, keep-with-next
     68          ROOT void mpmTurnOffXosc(void)
   \                     mpmTurnOffXosc:
     69          {
   \   000000                ; Saved register size: 0
   \   000000                ; Auto size: 0
     70              DISABLE_GLOBAL_INT();
   \   000000   C2AF         CLR     0xa8.7
     71              ISRFOFF;
   \   000002   75E1E5       MOV     0xe1,#-0x1b
     72              ENABLE_GLOBAL_INT();
   \   000005   D2AF         SETB    0xa8.7
     73          }
   \   000007   22           RET
     74          
     75          //-------------------------------------------------------------------------------------------------------
     76          
     77          
     78          
     79          
     80          //-------------------------------------------------------------------------------------------------------
     81          //  void mpmRestoreRegsAndRam(void)
     82          //
     83          //  DESCRIPTION:
     84          //      Restores all CC2430 registers and RAM, assuming that there was no activity in the MAC layer at
     85          //      power-down. That includes:
     86          //          MDMCTRL0 (register) (PAN coordinator bit)
     87          //          MDMCTRL1 (register) (Correlation threshold, only required by old chip revisions, see data
     88          //              sheets)
     89          //          SECCTRL0 (register)
     90          //          PANID (RAM)
     91          //          IEEEADDR (RAM)
     92          //          SHORTADDR (RAM)
     93          //          FSCTRL (register)
     94          //-------------------------------------------------------------------------------------------------------

   \                                 In segment NEAR_CODE, align 1, keep-with-next
     95          ROOT void mpmRestoreRegsAndRam(void) {
   \                     mpmRestoreRegsAndRam:

⌨️ 快捷键说明

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