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

📄 ref_node.s51

📁 zigbee location examples
💻 S51
📖 第 1 页 / 共 5 页
字号:
//////////////////////////////////////////////////////////////////////////////
//                                                                           /
// IAR 8051 C/C++ Compiler V7.20H/W32                  16/Jan/2007  15:30:33 /
// 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_Eng /
//                          ine\apps\ref_node.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_Eng /
//                          ine\Test\mac\mac_loc\..\..\..\include\ -I        /
//                          E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Eng /
//                          ine\Test\mac\mac_loc\..\..\..\include\mac\cc2430 /
//                          \ -I E:\公司产品资料\Zigbee\cc2431\cc2431定位\LO /
//                          C_Engine\Test\mac\mac_loc\..\..\..\include\hal\c /
//                          c2430\ -I E:\公司产品资料\Zigbee\cc2431\cc2431定 /
//                          位\LOC_Engine\Test\mac\mac_loc\..\..\..\apps\    /
//                          -D CC2430EB -D USE_LED -lCN                      /
//                          E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Eng /
//                          ine\Test\mac\mac_loc\CC2430EB\List\ -lA          /
//                          E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Eng /
//                          ine\Test\mac\mac_loc\CC2430EB\List\ -o           /
//                          E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Eng /
//                          ine\Test\mac\mac_loc\CC2430EB\Obj\ -e -s9        /
//                          --debug --core=plain --dptr=16,1                 /
//                          --data_model=large --code_model=banked           /
//                          --calling_convention=xdata_reentrant             /
//                          --place_constants=data --nr_virtual_regs 8       /
//                          E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Eng /
//                          ine\apps\ref_node.c                              /
//    List file          =  E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Eng /
//                          ine\Test\mac\mac_loc\CC2430EB\List\ref_node.s51  /
//                                                                           /
//                                                                           /
//////////////////////////////////////////////////////////////////////////////

        NAME ref_node

        RTMODEL "__calling_convention", "xdata_reentrant"
        RTMODEL "__code_model", "banked"
        RTMODEL "__core", "plain"
        RTMODEL "__data_model", "large"
        RTMODEL "__dptr_size", "16"
        RTMODEL "__extended_stack", "disabled"
        RTMODEL "__location_for_constants", "data"
        RTMODEL "__number_of_dptrs", "1"
        RTMODEL "__rt_version", "1"

        RSEG DOVERLAY:DATA:NOROOT(0)
        RSEG IOVERLAY:IDATA:NOROOT(0)
        RSEG ISTACK:IDATA:NOROOT(0)
        RSEG PSTACK:XDATA:NOROOT(0)
        RSEG XSTACK:XDATA:NOROOT(0)

        EXTERN ?ALLOC_XSTACK8
        EXTERN ?BANKED_ENTER_XDATA
        EXTERN ?BANKED_LEAVE_XDATA
        EXTERN ?BCALL
        EXTERN ?BRET
        EXTERN ?FUNC_ENTER_XDATA
        EXTERN ?FUNC_LEAVE_XDATA
        EXTERN ?L_ADD_X
        EXTERN ?L_AND_X
        EXTERN ?L_IOR_TO_X
        EXTERN ?L_MOV_TO_X
        EXTERN ?L_MOV_X
        EXTERN ?L_SHL
        EXTERN ?UC_SWITCH_DENSE
        EXTERN ?UL_GT
        EXTERN ?UL_GT_X
        EXTERN ?US_SHR
        EXTERN ?V0
        EXTERN ?XSP
        EXTERN ?XSTACK_DISP0_8
        EXTERN __INIT_XDATA_I
        EXTERN __INIT_XDATA_Z

        PUBWEAK CLKCON
        PUBWEAK DMA0CFGH
        PUBWEAK DMA0CFGL
        PUBWEAK DMAARM
        PUBWEAK DMAIRQ
        PUBWEAK FADDRH
        PUBWEAK FADDRL
        PUBWEAK FCTL
        PUBWEAK FWT
        PUBLIC GetSleepTimer
        FUNCTION GetSleepTimer,0203H
        ARGFRAME XSTACK, 23, STACK
        LOCFRAME XSTACK, 12, STACK
        PUBLIC IEN2
IEN2    EQU 0
        PUBWEAK MEMCTR
        PUBLIC RunRefNode
        FUNCTION RunRefNode,021203H
        LOCFRAME ISTACK, 2, STACK
        LOCFRAME XSTACK, 23, STACK
        PUBLIC S1CON
S1CON   EQU 0
        PUBWEAK ST0
        PUBWEAK ST1
        PUBWEAK ST2
        PUBLIC ST_IRQ_RefNode
        FUNCTION ST_IRQ_RefNode,0a1203H
        LOCFRAME ISTACK, 2, STACK
        PUBLIC SetupRefNode
        FUNCTION SetupRefNode,080203H
        LOCFRAME ISTACK, 1, STACK
        LOCFRAME XSTACK, 9, STACK
        PUBWEAK WDCTL
        PUBWEAK _A_IEN0
        PUBLIC _A_IEN1
_A_IEN1 EQU 0
        PUBWEAK _A_IRCON
        PUBLIC _A_IRCON2
_A_IRCON2 EQU 0
        PUBWEAK _A_P1
        PUBLIC _A_S0CON
_A_S0CON EQU 0
        PUBLIC _A_TCON
_A_TCON EQU 0
        PUBWEAK __Constant_0
        PUBWEAK __Constant_28488
        PUBWEAK __Constant_ffffff
        PUBLIC dmaChannel
        PUBLIC findNewestEntry
        FUNCTION findNewestEntry,0203H
        ARGFRAME XSTACK, 8, STACK
        LOCFRAME ISTACK, 2, STACK
        PUBLIC flashEntries
        PUBLIC getCoordinates
        FUNCTION getCoordinates,021203H
        ARGFRAME XSTACK, 23, STACK
        LOCFRAME XSTACK, 8, STACK
        PUBLIC pFlashEntry
        PUBLIC pRamBuffer
        PUBLIC refNodeState
        PUBLIC setUpDmaToFlash
        FUNCTION setUpDmaToFlash,0203H
        ARGFRAME XSTACK, 23, STACK
        LOCFRAME ISTACK, 2, STACK
        PUBLIC storeCoordinates
        FUNCTION storeCoordinates,021203H
        ARGFRAME XSTACK, 23, STACK
        LOCFRAME XSTACK, 8, STACK
        PUBLIC writeToFlash
        FUNCTION writeToFlash,080203H
        ARGFRAME XSTACK, 8, STACK
        LOCFRAME ISTACK, 1, STACK
        LOCFRAME XSTACK, 9, STACK
        
        CFI Names cfiNames0
        CFI StackFrame CFA_SP SP DATA
        CFI StackFrame CFA_PSP16 PSP16 XDATA
        CFI StackFrame CFA_XSP16 XSP16 XDATA
        CFI StaticOverlayFrame CFA_IOVERLAY IOVERLAY
        CFI StaticOverlayFrame CFA_DOVERLAY DOVERLAY
        CFI Resource `PSW.CY`:1, `B.BR0`:1, `B.BR1`:1, `B.BR2`:1, `B.BR3`:1
        CFI Resource `B.BR4`:1, `B.BR5`:1, `B.BR6`:1, `B.BR7`:1, `VB.BR8`:1
        CFI Resource `VB.BR9`:1, `VB.BR10`:1, `VB.BR11`:1, `VB.BR12`:1
        CFI Resource `VB.BR13`:1, `VB.BR14`:1, `VB.BR15`:1, VB:8, B:8, A:8
        CFI Resource PSW:8, DPL0:8, DPH0:8, R0:8, R1:8, R2:8, R3:8, R4:8, R5:8
        CFI Resource R6:8, R7:8, V0:8, V1:8, V2:8, V3:8, V4:8, V5:8, V6:8, V7:8
        CFI Resource SP:8, PSPH:8, PSPL:8, PSP16:16, XSPH:8, XSPL:8, XSP16:16
        CFI VirtualResource ?RET:24
        CFI Resource ?BRET_EXT:8
        CFI VirtualResource ?RET_HIGH:8, ?RET_LOW:8
        CFI ResourceParts PSP16 PSPH, PSPL
        CFI ResourceParts XSP16 XSPH, XSPL
        CFI ResourceParts ?RET ?BRET_EXT, ?RET_HIGH, ?RET_LOW
        CFI EndNames cfiNames0
        
        CFI Common cfiCommon0 Using cfiNames0
        CFI CodeAlign 1
        CFI DataAlign -1
        CFI ReturnAddress ?RET CODE
        CFI CFA_DOVERLAY Used
        CFI CFA_IOVERLAY Used
        CFI CFA_SP SP+-2
        CFI CFA_PSP16 PSP16+0
        CFI CFA_XSP16 XSP16+0
        CFI `PSW.CY` SameValue
        CFI `B.BR0` SameValue
        CFI `B.BR1` SameValue
        CFI `B.BR2` SameValue
        CFI `B.BR3` SameValue
        CFI `B.BR4` SameValue
        CFI `B.BR5` SameValue
        CFI `B.BR6` SameValue
        CFI `B.BR7` SameValue
        CFI `VB.BR8` SameValue
        CFI `VB.BR9` SameValue
        CFI `VB.BR10` SameValue
        CFI `VB.BR11` SameValue
        CFI `VB.BR12` SameValue
        CFI `VB.BR13` SameValue
        CFI `VB.BR14` SameValue
        CFI `VB.BR15` SameValue
        CFI VB SameValue
        CFI B Undefined
        CFI A Undefined
        CFI PSW SameValue
        CFI DPL0 SameValue
        CFI DPH0 SameValue
        CFI R0 Undefined
        CFI R1 Undefined
        CFI R2 Undefined
        CFI R3 Undefined
        CFI R4 Undefined
        CFI R5 Undefined
        CFI R6 SameValue
        CFI R7 SameValue
        CFI V0 SameValue
        CFI V1 SameValue
        CFI V2 SameValue
        CFI V3 SameValue
        CFI V4 SameValue
        CFI V5 SameValue
        CFI V6 SameValue
        CFI V7 SameValue
        CFI PSPH Undefined
        CFI PSPL Undefined
        CFI XSPH Undefined
        CFI XSPL Undefined
        CFI ?RET Concat
        CFI ?BRET_EXT SameValue
        CFI ?RET_HIGH Frame(CFA_SP, 2)
        CFI ?RET_LOW Frame(CFA_SP, 1)
        CFI EndCommon cfiCommon0
        
        
        CFI Common cfiCommon1 Using cfiNames0
        CFI CodeAlign 1
        CFI DataAlign -1
        CFI ReturnAddress ?RET CODE
        CFI CFA_DOVERLAY Used
        CFI CFA_IOVERLAY Used
        CFI CFA_SP SP+-3
        CFI CFA_PSP16 PSP16+0
        CFI CFA_XSP16 XSP16+0
        CFI `PSW.CY` SameValue
        CFI `B.BR0` SameValue
        CFI `B.BR1` SameValue
        CFI `B.BR2` SameValue
        CFI `B.BR3` SameValue
        CFI `B.BR4` SameValue
        CFI `B.BR5` SameValue
        CFI `B.BR6` SameValue
        CFI `B.BR7` SameValue
        CFI `VB.BR8` SameValue
        CFI `VB.BR9` SameValue
        CFI `VB.BR10` SameValue
        CFI `VB.BR11` SameValue
        CFI `VB.BR12` SameValue
        CFI `VB.BR13` SameValue
        CFI `VB.BR14` SameValue
        CFI `VB.BR15` SameValue
        CFI VB SameValue
        CFI B Undefined
        CFI A Undefined
        CFI PSW SameValue
        CFI DPL0 SameValue
        CFI DPH0 SameValue
        CFI R0 Undefined
        CFI R1 Undefined
        CFI R2 Undefined
        CFI R3 Undefined
        CFI R4 Undefined
        CFI R5 Undefined
        CFI R6 SameValue
        CFI R7 SameValue
        CFI V0 SameValue
        CFI V1 SameValue
        CFI V2 SameValue
        CFI V3 SameValue
        CFI V4 SameValue
        CFI V5 SameValue
        CFI V6 SameValue
        CFI V7 SameValue
        CFI PSPH Undefined
        CFI PSPL Undefined
        CFI XSPH Undefined
        CFI XSPL Undefined
        CFI ?RET Concat
        CFI ?BRET_EXT Frame(CFA_SP, 3)
        CFI ?RET_HIGH Frame(CFA_SP, 2)
        CFI ?RET_LOW Frame(CFA_SP, 1)
        CFI EndCommon cfiCommon1
        
        EXTERN SendText
        FUNCTION SendText,0202H
        ARGFRAME XSTACK, 23, STACK
        EXTERN AddToSleepTimer
        FUNCTION AddToSleepTimer,0202H
        ARGFRAME ISTACK, 2, STACK
        ARGFRAME XSTACK, 23, STACK
        EXTERN PrintXY
        FUNCTION PrintXY,0202H
        ARGFRAME XSTACK, 23, STACK
        EXTERN SendPosition
        FUNCTION SendPosition,0202H
        ARGFRAME XSTACK, 23, STACK
        EXTERN mpmSetAndResumeMacAndCpuPowerMode
        FUNCTION mpmSetAndResumeMacAndCpuPowerMode,0202H
        ARGFRAME XSTACK, 23, STACK
        EXTERN halFlashErasePage
        FUNCTION halFlashErasePage,0202H
        ARGFRAME XSTACK, 8, STACK
        EXTERN blinkLed
        EXTERN buffer
        EXTERN ledBlinkCounter
        EXTERN msgReceived
        EXTERN parametersReceived
        EXTERN x
        EXTERN y
        EXTERN z

// E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engine\apps\ref_node.c
//    1 /******************************************************************************
//    2 *                                                                             *
//    3 *        **********                                                           *
//    4 *       ************                                                          *
//    5 *      ***        ***                                                         *
//    6 *     ***    ++    ***                                                        *
//    7 *     ***   +  +   ***                      CHIPCON                           *
//    8 *     ***   +                                                                 *
//    9 *     ***   +  +   ***                                                        *
//   10 *     ***    ++    ***                                                        *
//   11 *      ***        ***                                                         *
//   12 *       ************                                                          *
//   13 *        **********                                                           *
//   14 *                                                                             *
//   15 *******************************************************************************
//   16 
//   17 Filename:     refNode.c
//   18 Author:       KJA/ EFU
//   19 Revised:      14/02-2006
//   20 Revision:     1.0
//   21 
//   22 Description:
//   23 This file contains all main functions for reference node.
//   24 
//   25 Only X and Y dimensions are implemented, but the system is prepared for a
//   26 Z dimension in addition.
//   27 
//   28 Coordinates are written to flash. To aviod writting to the same location in
//   29 flash each time, the coordinates will be moved for each writting. Each time
//   30 coordinates are written a 8 bytes block will be updated. To invalidate a
//   31 block, byte 0 is set to 0x00. For a valid block byte 0 is set to 0xFF.
//   32 
//   33 Format for xyz-item in FLASH (8 byte)
//   34 Valid:   ----------------------------------------------
//   35          | 0xFF | -- | -- | X_H | X_L | Y_H | Y_L | Z |
//   36          ----------------------------------------------
//   37 Invalid: ----------------------------------------------
//   38          | 0x00 | -- | -- | X_H | X_L | Y_H | Y_L | Z |
//   39          ----------------------------------------------
//   40 
//   41 
//   42 ******************************************************************************/
//   43 
//   44 #include "mac_headers.h"

        ASEGN SFR_AN:DATA:NOROOT,095H
// unsigned char volatile __sfr ST0
ST0:
        DS 1

        ASEGN SFR_AN:DATA:NOROOT,096H
// unsigned char volatile __sfr ST1
ST1:
        DS 1

        ASEGN SFR_AN:DATA:NOROOT,097H
// unsigned char volatile __sfr ST2
ST2:
        DS 1

        ASEGN SFR_AN:DATA:NOROOT,0abH
// unsigned char volatile __sfr FWT
FWT:
        DS 1

        ASEGN SFR_AN:DATA:NOROOT,0acH
// unsigned char volatile __sfr FADDRL
FADDRL:
        DS 1

        ASEGN SFR_AN:DATA:NOROOT,0adH
// unsigned char volatile __sfr FADDRH
FADDRH:
        DS 1

⌨️ 快捷键说明

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