zglobals.lst

来自「CC2430上开关控制灯和温度传感器采集两个例子」· LST 代码 · 共 1,276 行 · 第 1/5 页

LST
1,276
字号
   \   000007   02....       LJMP    ?BANKED_LEAVE_XDATA

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine0:
   \   000000   E4           CLR     A
   \   000001   85..82       MOV     DPL,?XSP + 0
   \   000004   85..83       MOV     DPH,?XSP + 1
   \                     ??Subroutine0_0:
   \   000007   F0           MOVX    @DPTR,A
   \   000008                ; Setup parameters for call to function osal_nv_item_init
   \   000008                ; Setup parameters for call to function osal_nv_read
   \   000008                ; Setup parameters for call to function osal_nv_write
   \   000008   8582..       MOV     ?V0 + 0,DPL
   \   00000B   8583..       MOV     ?V0 + 1,DPH
   \   00000E   78..         MOV     R0,#?V0 + 0
   \   000010   22           RET
    425          
    426          /*********************************************************************
    427           * @fn          zgWriteStartupOptions
    428           *
    429           * @brief       Writes bits into the ZCD_NV_STARTUP_OPTION NV Item.
    430           *
    431           * @param       action - ZG_STARTUP_SET set bit, ZG_STARTUP_CLEAR to 
    432           *               clear bit. The set bit is an OR operation, and the 
    433           *               clear bit is an AND ~(bitOptions) operation.
    434           *              
    435           * @param       bitOptions - which bits to perform action on:
    436           *                      ZCD_STARTOPT_DEFAULT_CONFIG_STATE
    437           *                      ZCD_STARTOPT_DEFAULT_NETWORK_STATE
    438           *
    439           * @return      ZSUCCESS if successful   
    440           */

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    441          uint8 zgWriteStartupOptions( uint8 action, uint8 bitOptions )
   \                     zgWriteStartupOptions:
    442          {
   \   000000   74F6         MOV     A,#-0xa
   \   000002   12....       LCALL   ?BANKED_ENTER_XDATA
   \   000005                ; Saved register size: 10
   \   000005                ; Auto size: 1
   \   000005   74FF         MOV     A,#-0x1
   \   000007   12....       LCALL   ?ALLOC_XSTACK8
   \   00000A   E9           MOV     A,R1
   \   00000B   FE           MOV     R6,A
   \   00000C   EA           MOV     A,R2
   \   00000D   FF           MOV     R7,A
    443            uint8 status;
    444            uint8 startupOptions = 0;
   \   00000E   12....       LCALL   ?Subroutine0 & 0xFFFF
    445            
    446            status = osal_nv_read( ZCD_NV_STARTUP_OPTION,
    447                          0,
    448                          sizeof( startupOptions ),
    449                          &startupOptions );
   \                     ??CrossCallReturnLabel_1:
   \   000011   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   000014   75..01       MOV     ?V0 + 0,#0x1
   \   000017   75..00       MOV     ?V0 + 1,#0x0
   \   00001A   78..         MOV     R0,#?V0 + 0
   \   00001C   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   00001F   7C00         MOV     R4,#0x0
   \   000021   7D00         MOV     R5,#0x0
   \   000023   7A03         MOV     R2,#0x3
   \   000025   7B00         MOV     R3,#0x0
   \   000027   90....       MOV     DPTR,#(osal_nv_read & 0xffff)
   \   00002A   74..         MOV     A,#((osal_nv_read >> 16) & 0xff)
   \   00002C   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   00002F   7404         MOV     A,#0x4
   \   000031   12....       LCALL   ?DEALLOC_XSTACK8
   \   000034   E9           MOV     A,R1
    450          
    451            if ( status == ZSUCCESS )
   \   000035   7040         JNZ     ??zgWriteStartupOptions_0
    452            {
    453              if ( action == ZG_STARTUP_SET )
   \   000037   74FF         MOV     A,#-0x1
   \   000039   6E           XRL     A,R6
   \   00003A   700A         JNZ     ??zgWriteStartupOptions_1
    454              {
    455                // Set bits
    456                startupOptions |= bitOptions;
   \   00003C   85..82       MOV     DPL,?XSP + 0
   \   00003F   85..83       MOV     DPH,?XSP + 1
   \   000042   E0           MOVX    A,@DPTR
   \   000043   4F           ORL     A,R7
   \   000044   800B         SJMP    ??zgWriteStartupOptions_2
    457              }
    458              else
    459              {
    460                // Clear bits
    461                startupOptions &= ~(bitOptions);
   \                     ??zgWriteStartupOptions_1:
   \   000046   EF           MOV     A,R7
   \   000047   F4           CPL     A
   \   000048   FA           MOV     R2,A
   \   000049   85..82       MOV     DPL,?XSP + 0
   \   00004C   85..83       MOV     DPH,?XSP + 1
   \   00004F   E0           MOVX    A,@DPTR
   \   000050   5A           ANL     A,R2
   \                     ??zgWriteStartupOptions_2:
   \   000051   12....       LCALL   ??Subroutine0_0 & 0xFFFF
    462              }
    463              
    464              // Changed?
    465              status = osal_nv_write( ZCD_NV_STARTUP_OPTION,
    466                           0,
    467                           sizeof( startupOptions ),
    468                           &startupOptions );
   \                     ??CrossCallReturnLabel_2:
   \   000054   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   000057   75..01       MOV     ?V0 + 0,#0x1
   \   00005A   75..00       MOV     ?V0 + 1,#0x0
   \   00005D   78..         MOV     R0,#?V0 + 0
   \   00005F   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   000062   7C00         MOV     R4,#0x0
   \   000064   7D00         MOV     R5,#0x0
   \   000066   7A03         MOV     R2,#0x3
   \   000068   7B00         MOV     R3,#0x0
   \   00006A   90....       MOV     DPTR,#(osal_nv_write & 0xffff)
   \   00006D   74..         MOV     A,#((osal_nv_write >> 16) & 0xff)
   \   00006F   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   000072   7404         MOV     A,#0x4
   \   000074   12....       LCALL   ?DEALLOC_XSTACK8
    469            }
    470              
    471            return ( status );
   \                     ??zgWriteStartupOptions_0:
   \   000077   02....       LJMP    ?Subroutine1 & 0xFFFF
    472          }

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for zgPollRate>`:
   \   000000   E803         DW 1000

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for zgQueuedPollRate>`:
   \   000000   6400         DW 100

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for zgResponsePollRate>`:
   \   000000   6400         DW 100

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for zgRejoinPollRate>`:
   \   000000   B801         DW 440

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for zgMaxDataRetries>`:
   \   000000   02           DB 2

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for zgMaxPollFailureRetries>`:
   \   000000   02           DB 2

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for zgDefaultChannelList>`:
   \   000000   00080000     DD 2048

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for zgDefaultStartingScanDuratio`:
   \   000000   05           DB 5

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for zgStackProfile>`:
   \   000000   01           DB 1

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for zgIndirectMsgTimeout>`:
   \   000000   07           DB 7

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for zgRouteExpiryTime>`:
   \   000000   1E           DB 30

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for zgMaxBcastRetires>`:
   \   000000   02           DB 2

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for zgPassiveAckTimeout>`:
   \   000000   05           DB 5

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for zgBcastDeliveryTime>`:
   \   000000   1E           DB 30

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for zgNwkMode>`:
   \   000000   02           DB 2

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for zgConcentratorRadius>`:
   \   000000   0A           DB 10

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for zgMaxSourceRoute>`:
   \   000000   0C           DB 12

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for zgApscMaxFrameRetries>`:
   \   000000   03           DB 3

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for zgApscAckWaitDurationPolled>`:
   \   000000   B80B         DW 3000

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for zgApsAckWaitMultiplier>`:
   \   000000   02           DB 2

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for zgApsDefaultMaxBindingTime>`:
   \   000000   803E         DW 16000

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for zgConfigPANID>`:
   \   000000   FFFF         DW 65535

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for zgDeviceLogicalType>`:
   \   000000   03           DB 3

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for zgStartDelay>`:
   \   000000   0A           DB 10

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for zgSapiEndpoint>`:
   \   000000   E0           DB 224
    473          
    474          /*********************************************************************
    475          *********************************************************************/

   Maximum stack usage in bytes:

     Function                   ISTACK PSTACK XSTACK
     --------                   ------ ------ ------
     zgInit                         0      0     19
       -> zgReadStartupOptions      0      0     30
       -> ZMacGetReq                0      0     30
       -> osal_memcpy               0      0     36
       -> osal_nv_read              0      0     38
       -> osal_nv_item_init         0      0     34
       -> osal_nv_write             0      0     38
       -> zgWriteStartupOptions     0      0     30
     zgReadStartupOptions           1      0     30
       -> osal_nv_item_init         0      0     26
       -> osal_nv_read              0      0     30
     zgWriteStartupOptions          1      0     30
       -> osal_nv_read              0      0     30
     

⌨️ 快捷键说明

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