📄 zmain.s51
字号:
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 + -