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

📄 zmain.s51

📁 cc2430应用实例
💻 S51
📖 第 1 页 / 共 4 页
字号:
        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 cfiCommon1
        
        EXTERN osal_int_disable
        FUNCTION osal_int_disable,0202H
        EXTERN InitBoard
        FUNCTION InitBoard,0202H
        EXTERN HalDriverInit
        FUNCTION HalDriverInit,0202H
        EXTERN osal_nv_init
        FUNCTION osal_nv_init,0202H
        EXTERN zgInit
        FUNCTION zgInit,0202H
        EXTERN ZMacInit
        FUNCTION ZMacInit,0202H
        EXTERN afInit
        FUNCTION afInit,0202H
        EXTERN osal_init_system
        FUNCTION osal_init_system,0202H
        EXTERN osal_int_enable
        FUNCTION osal_int_enable,0202H
        EXTERN osal_start_system
        FUNCTION osal_start_system,0202H
        EXTERN Onboard_wait
        FUNCTION Onboard_wait,0202H
        ARGFRAME XSTACK, 9, STACK
        EXTERN HalAdcCheckVdd
        FUNCTION HalAdcCheckVdd,0202H
        ARGFRAME XSTACK, 8, STACK
        EXTERN osal_nv_item_init
        FUNCTION osal_nv_item_init,0202H
        ARGFRAME XSTACK, 11, STACK
        EXTERN osal_nv_read
        FUNCTION osal_nv_read,0202H
        ARGFRAME XSTACK, 13, STACK
        EXTERN HalLedSet
        FUNCTION HalLedSet,0202H
        ARGFRAME XSTACK, 9, STACK
        EXTERN HalKeyRead
        FUNCTION HalKeyRead,0202H
        ARGFRAME XSTACK, 9, STACK
        EXTERN HalAdcRead
        FUNCTION HalAdcRead,0202H
        ARGFRAME XSTACK, 9, STACK
        EXTERN osal_nv_write
        FUNCTION osal_nv_write,0202H
        ARGFRAME XSTACK, 13, STACK
        EXTERN aExtendedAddress

// C:\Texas Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\ZMain\TI2430DB\ZMain.c
//    1 /*********************************************************************
//    2     Filename:       ZMain.c
//    3     Revised:        $Date: 2007-04-17 16:38:52 -0700 (Tue, 17 Apr 2007) $
//    4     Revision:       $Revision: 14036 $
//    5 
//    6     Description:    Startup and shutdown code for ZStack
//    7     Notes:          This version targets the Chipcon CC2430DB/CC2430EB
//    8 
//    9     Copyright (c) 2006 by Texas Instruments, Inc.
//   10     All Rights Reserved.  Permission to use, reproduce, copy, prepare
//   11     derivative works, modify, distribute, perform, display or sell this
//   12     software and/or its documentation for any purpose is prohibited
//   13     without the express written consent of Texas Instruments, Inc.
//   14 *********************************************************************/
//   15 
//   16 /*********************************************************************
//   17  * INCLUDES
//   18  */
//   19 
//   20 #include "ZComDef.h"
//   21 #include "OSAL.h"
//   22 #include "OSAL_Memory.h"
//   23 #include "OSAL_Nv.h"
//   24 #include "OnBoard.h"

        ASEGN SFR_AN:DATA:NOROOT,081H
// unsigned char volatile __sfr SP
`SP`:
        DS 1

        ASEGN SFR_AN:DATA:NOROOT,0f7H
// unsigned char volatile __sfr P2INP
P2INP:
        DS 1

        ASEGN SFR_AN:DATA:NOROOT,0feH
// unsigned char volatile __sfr P1DIR
P1DIR:
        DS 1
//   25 #include "ZMAC.h"
//   26 #include "MTEL.h"
//   27 
//   28 #include "nwk_globals.h"
//   29 #include "ZDApp.h"
//   30 #include "ssp.h"
//   31 #include "ZGlobals.h"
//   32 
//   33 #ifndef NONWK
//   34   #include "AF.h"
//   35 #endif
//   36 
//   37 /* Hal */
//   38 #include "hal_lcd.h"
//   39 #include "hal_key.h"
//   40 #include "hal_led.h"
//   41 #include "hal_adc.h"
//   42 #include "hal_drivers.h"
//   43 #include "hal_assert.h"
//   44 
//   45 /*********************************************************************
//   46  * MACROS
//   47  */
//   48 
//   49 /*********************************************************************
//   50  * CONSTANTS
//   51  */
//   52 
//   53 // LED Flash counter, waiting for default 64-bit address
//   54 #define FLASH_COUNT 20000
//   55 
//   56 // Maximun number of Vdd samples checked before go on
//   57 #define MAX_VDD_SAMPLES  3
//   58 #define ZMAIN_VDD_LIMIT  HAL_ADC_VDD_LIMIT_4
//   59 
//   60 /*********************************************************************
//   61  * TYPEDEFS
//   62  */
//   63 
//   64 /*********************************************************************
//   65  * GLOBAL VARIABLES
//   66  */
//   67 
//   68 /*********************************************************************
//   69  * EXTERNAL VARIABLES
//   70  */
//   71 
//   72 /*********************************************************************
//   73  * EXTERNAL FUNCTIONS
//   74  */
//   75 
//   76 extern __near_func uint8 GetCodeByte(uint32);
//   77 
//   78 extern bool HalAdcCheckVdd (uint8 limit);
//   79 
//   80 /*********************************************************************
//   81  * LOCAL VARIABLES
//   82  */
//   83 
//   84 /*********************************************************************
//   85  * ZMAIN API JUMP FUNCTIONS
//   86  *
//   87  * If the MINIMIZE_ROOT compile flag is defined, ZMAIN API functions
//   88  * are implemented as "jump functions" located in the ROOT segment,
//   89  * as expected by the NWK object libraries. This allows the actual
//   90  * ZMAIN function bodies to locate outside ROOT memory, increasing
//   91  * space for user defined constants, strings, etc in ROOT memory.
//   92  *
//   93  * If the MINIMIZE_ROOT compile flag in not defined, the ZMAIN API
//   94  * functions are aliased to the similarly-named function bodies and
//   95  * located in the ROOT segment with no "jump function" overhead.
//   96  * This is the default behavior which produces smaller overall code
//   97  * size and maximizes available code space in BANK1...BANK3.
//   98  *
//   99  */
//  100 
//  101 #ifdef MINIMIZE_ROOT
//  102   // ZMAIN functions are not forced into ROOT segment
//  103   #define ZSEG
//  104 #else
//  105   // ZMAIN functions are forced into ROOT segment
//  106   #define ZSEG ROOT
//  107 #endif
//  108 
//  109 /*********************************************************************
//  110  * LOCAL FUNCTIONS
//  111  */
//  112 
//  113 static ZSEG void zmain_dev_info( void );
//  114 static ZSEG void zmain_ext_addr( void );
//  115 static ZSEG void zmain_ram_init( void );
//  116 static ZSEG void zmain_vdd_check( void );
//  117 
//  118 #ifdef LCD_SUPPORTED
//  119 static ZSEG void zmain_lcd_init( void );
//  120 #endif
//  121 
//  122 /*********************************************************************
//  123  * @fn      main
//  124  * @brief   First function called after startup.
//  125  * @return  don't care
//  126  *********************************************************************/

        RSEG NEAR_CODE:CODE:NOROOT(0)
//  127 ZSEG int main( void )
main:
        CFI Block cfiBlock0 Using cfiCommon0
        CFI Function main
//  128 {
        FUNCALL main, osal_int_disable
        FUNCALL main, ??zmain_vdd_check
        FUNCALL main, InitBoard
        FUNCALL main, HalDriverInit
        FUNCALL main, osal_nv_init
        FUNCALL main, ??zmain_ext_addr
        FUNCALL main, zgInit
        FUNCALL main, ZMacInit
        FUNCALL main, afInit
        FUNCALL main, osal_init_system
        FUNCALL main, osal_int_enable
        FUNCALL main, InitBoard
        FUNCALL main, osal_start_system
        ; Auto size: 0
//  129   
//  130   // Turn off interrupts
//  131   osal_int_disable( INTS_ALL );
        ; Setup parameters for call to function osal_int_disable
        MOV	R1,#-0x1
        MOV	DPTR,#(osal_int_disable & 0xffff)
        MOV	A,#((osal_int_disable >> 16) & 0xff)
        LCALL	?BCALL               ; Banked call to: DPTR()
//  132   
//  133   // Make sure supply voltage is high enough to run
//  134   zmain_vdd_check();
        ; Setup parameters for call to function zmain_vdd_check
        LCALL	??zmain_vdd_check
//  135 
//  136   // Initialize stack memory
//  137   zmain_ram_init();
        MOV	R0,#(SFB(XSP) & 0xff)
        MOV	DPL,@R0
        INC	R0
        MOV	DPH,@R0
        SJMP	??main_0
??main_1:
        MOV	A,#-0x5b
        MOVX	@DPTR,A
??main_0:
        LCALL	?Subroutine0
??CrossCallReturnLabel_0:
        CLR	C
        MOV	A,#(SFB(XSTACK) & 0xff)
        SUBB	A,DPL
        MOV	A,#((SFB(XSTACK) >> 8) & 0xff)
        SUBB	A,DPH
        JC	??main_1
        MOV	DPL,#((SFE(ISTACK) + 255) & 0xff)
        MOV	DPH,#(((SFE(ISTACK) - 1) >> 8) & 0xff)
        SJMP	??main_2
??main_3:
        MOV	R0,DPL
        MOV	@R0,#-0x5b
??main_2:
        MOV	A,0x81
        MOV	?V0 + 0,A
        LCALL	?Subroutine0
??CrossCallReturnLabel_1:
        MOV	?V0 + 1,#0x0
        CLR	C
        MOV	A,?V0 + 0
        SUBB	A,DPL
        CLR	A
        SUBB	A,DPH
        JC	??main_3
//  138 
//  139   // Initialize board I/O
//  140   InitBoard( OB_COLD );
        ; Setup parameters for call to function InitBoard
        MOV	R1,#0x0
        MOV	DPTR,#(InitBoard & 0xffff)
        MOV	A,#((InitBoard >> 16) & 0xff)
        LCALL	?BCALL               ; Banked call to: DPTR()
//  141 
//  142   // Initialze HAL drivers
//  143   HalDriverInit();
        ; Setup parameters for call to function HalDriverInit
        MOV	DPTR,#(HalDriverInit & 0xffff)
        MOV	A,#((HalDriverInit >> 16) & 0xff)
        LCALL	?BCALL               ; Banked call to: DPTR()
//  144 
//  145   // Initialize NV System
//  146   osal_nv_init( NULL );
        ; Setup parameters for call to function osal_nv_init
        MOV	R2,#0x0
        MOV	R3,#0x0
        MOV	DPTR,#(osal_nv_init & 0xffff)

⌨️ 快捷键说明

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