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

📄 hal_drivers.s51

📁 cc2430应用实例
💻 S51
📖 第 1 页 / 共 3 页
字号:
        FUNCTION HalAesInit,0202H
        ARGFRAME ISTACK, 2, STACK
        EXTERN HalLcdInit
        FUNCTION HalLcdInit,0202H
        ARGFRAME ISTACK, 2, STACK
        EXTERN HalLedInit
        FUNCTION HalLedInit,0202H
        ARGFRAME ISTACK, 2, STACK
        EXTERN HalKeyInit
        FUNCTION HalKeyInit,0202H
        ARGFRAME ISTACK, 2, STACK
        EXTERN HalLedUpdate
        FUNCTION HalLedUpdate,0202H
        ARGFRAME XSTACK, 10, STACK
        EXTERN osal_msg_deallocate
        FUNCTION osal_msg_deallocate,0202H
        ARGFRAME XSTACK, 10, STACK
        EXTERN osal_msg_receive
        FUNCTION osal_msg_receive,0202H
        ARGFRAME XSTACK, 10, STACK
        EXTERN HalKeyPoll
        FUNCTION HalKeyPoll,0202H
        ARGFRAME XSTACK, 10, STACK
        EXTERN osal_start_timerEx
        FUNCTION osal_start_timerEx,0202H
        ARGFRAME XSTACK, 10, STACK
        EXTERN HalTimerTick
        FUNCTION HalTimerTick,0202H
        ARGFRAME ISTACK, 2, STACK
        EXTERN Hal_KeyIntEnable

// C:\Texas Instruments\ZStack-1.4.2-1.1.0\Components\hal\common\hal_drivers.c
//    1 /**************************************************************************************************
//    2   Filename:       hal_driver.c
//    3   Revised:        $Date: 2005/04/29 01:36:04 $
//    4   Revision:       $Revision$
//    5 
//    6   Description:
//    7 
//    8   This file contains the interface to the Drivers Service.
//    9 
//   10   Notes:
//   11 
//   12   Copyright (c) 2007 by Texas Instruments, Inc.
//   13   All Rights Reserved.  Permission to use, reproduce, copy, prepare
//   14   derivative works, modify, distribute, perform, display or sell this
//   15   software and/or its documentation for any purpose is prohibited
//   16   without the express written consent of Texas Instruments, Inc.
//   17 **************************************************************************************************/
//   18 
//   19 
//   20 /**************************************************************************************************
//   21  *                                            INCLUDES
//   22  **************************************************************************************************/
//   23 #include "hal_types.h"
//   24 #include "OSAL.h"
//   25 #include "hal_drivers.h"
//   26 #include "hal_adc.h"
//   27 #if (defined HAL_DMA) && (HAL_DMA == TRUE)
//   28   #include "hal_dma.h"
//   29 #endif
//   30 #include "hal_key.h"
//   31 #include "hal_lcd.h"
//   32 #include "hal_led.h"
//   33 #include "hal_timer.h"
//   34 #include "hal_uart.h"
//   35 #include "hal_sleep.h"
//   36 #if (defined HAL_AES) && (HAL_AES == TRUE)
//   37   #include "hal_aes.h"
//   38 #endif
//   39 
//   40 /**************************************************************************************************
//   41  *                                            MACROS
//   42  **************************************************************************************************/
//   43 
//   44 
//   45 
//   46 /**************************************************************************************************
//   47  *                                          CONSTANTS
//   48  **************************************************************************************************/
//   49 
//   50 
//   51 /**************************************************************************************************
//   52  *                                          TYPEDEFS
//   53  **************************************************************************************************/
//   54 
//   55 
//   56 /**************************************************************************************************
//   57  *                                      GLOBAL VARIABLES
//   58  **************************************************************************************************/

        RSEG XDATA_Z:XDATA:NOROOT(0)
        REQUIRE __INIT_XDATA_Z
//   59 uint8 Hal_TaskID;
Hal_TaskID:
        DS 1
//   60 
//   61 extern void HalLedUpdate( void ); /* Notes: This for internal only so it shouldn't be in hal_led.h */
//   62 
//   63 /**************************************************************************************************
//   64  *                                      FUNCTIONS - API
//   65  **************************************************************************************************/
//   66 
//   67 /**************************************************************************************************
//   68  * @fn      Hal_Init
//   69  *
//   70  * @brief   Hal Initialization function.
//   71  *
//   72  * @param   task_id - Hal TaskId
//   73  *
//   74  * @return  None
//   75  **************************************************************************************************/

        RSEG BANKED_CODE:CODE:NOROOT(0)
//   76 void Hal_Init( uint8 task_id )
Hal_Init:
        CFI Block cfiBlock0 Using cfiCommon0
        CFI Function Hal_Init
//   77 {
        PUSH	DPL
        CFI DPL0 Frame(CFA_SP, 4)
        CFI CFA_SP SP+-4
        PUSH	DPH
        CFI DPH0 Frame(CFA_SP, 5)
        CFI CFA_SP SP+-5
        ; Saved register size: 2
        ; Auto size: 0
//   78   /* Register task ID */
//   79   Hal_TaskID = task_id;
        MOV	A,R1
        MOV	DPTR,#Hal_TaskID
        MOVX	@DPTR,A
//   80 
//   81 }
        SJMP	??Subroutine0_0
        CFI EndBlock cfiBlock0
//   82 
//   83 /**************************************************************************************************
//   84  * @fn      Hal_DriverInit
//   85  *
//   86  * @brief   Initialize HW - These need to be initialized before anyone.
//   87  *
//   88  * @param   task_id - Hal TaskId
//   89  *
//   90  * @return  None
//   91  **************************************************************************************************/

        RSEG BANKED_CODE:CODE:NOROOT(0)
//   92 void HalDriverInit (void)
HalDriverInit:
        CFI Block cfiBlock1 Using cfiCommon0
        CFI Function HalDriverInit
//   93 {
        FUNCALL HalDriverInit, HalTimerInit
        LOCFRAME ISTACK, 2, STACK
        ARGFRAME ISTACK, 2, STACK
        FUNCALL HalDriverInit, HalAdcInit
        LOCFRAME ISTACK, 2, STACK
        ARGFRAME ISTACK, 2, STACK
        FUNCALL HalDriverInit, HalDmaInit
        LOCFRAME ISTACK, 2, STACK
        ARGFRAME ISTACK, 2, STACK
        FUNCALL HalDriverInit, HalAesInit
        LOCFRAME ISTACK, 2, STACK
        ARGFRAME ISTACK, 2, STACK
        FUNCALL HalDriverInit, HalLcdInit
        LOCFRAME ISTACK, 2, STACK
        ARGFRAME ISTACK, 2, STACK
        FUNCALL HalDriverInit, HalLedInit
        LOCFRAME ISTACK, 2, STACK
        ARGFRAME ISTACK, 2, STACK
        FUNCALL HalDriverInit, HalKeyInit
        LOCFRAME ISTACK, 2, STACK
        ARGFRAME ISTACK, 2, STACK
        PUSH	DPL
        CFI DPL0 Frame(CFA_SP, 4)
        CFI CFA_SP SP+-4
        PUSH	DPH
        CFI DPH0 Frame(CFA_SP, 5)
        CFI CFA_SP SP+-5
        ; Saved register size: 2
        ; Auto size: 0
//   94   /* TIMER */
//   95   HalTimerInit();
        ; Setup parameters for call to function HalTimerInit
        MOV	DPTR,#(HalTimerInit & 0xffff)
        MOV	A,#((HalTimerInit >> 16) & 0xff)
        LCALL	?BCALL               ; Banked call to: DPTR()
//   96 
//   97   /* ADC */
//   98 #if (defined HAL_ADC) && (HAL_ADC == TRUE)
//   99   HalAdcInit();
        ; Setup parameters for call to function HalAdcInit
        MOV	DPTR,#(HalAdcInit & 0xffff)
        MOV	A,#((HalAdcInit >> 16) & 0xff)
        LCALL	?BCALL               ; Banked call to: DPTR()
//  100 #endif
//  101 
//  102   /* DMA */
//  103 #if (defined HAL_DMA) && (HAL_DMA == TRUE)
//  104   // Must be called before the init call to any module that uses DMA.
//  105   HalDmaInit();
        ; Setup parameters for call to function HalDmaInit
        MOV	DPTR,#(HalDmaInit & 0xffff)
        MOV	A,#((HalDmaInit >> 16) & 0xff)
        LCALL	?BCALL               ; Banked call to: DPTR()
//  106 #endif
//  107 
//  108   /* AES */
//  109 #if (defined HAL_AES) && (HAL_AES == TRUE)
//  110   HalAesInit();
        ; Setup parameters for call to function HalAesInit
        MOV	DPTR,#(HalAesInit & 0xffff)
        MOV	A,#((HalAesInit >> 16) & 0xff)
        LCALL	?BCALL               ; Banked call to: DPTR()
//  111 #endif
//  112 
//  113   /* LCD */
//  114 #if (defined HAL_LCD) && (HAL_LCD == TRUE)
//  115   HalLcdInit();
        ; Setup parameters for call to function HalLcdInit
        MOV	DPTR,#(HalLcdInit & 0xffff)
        MOV	A,#((HalLcdInit >> 16) & 0xff)
        LCALL	?BCALL               ; Banked call to: DPTR()
//  116 #endif
//  117 
//  118   /* LED */
//  119 #if (defined HAL_LED) && (HAL_LED == TRUE)
//  120   HalLedInit();
        ; Setup parameters for call to function HalLedInit
        MOV	DPTR,#(HalLedInit & 0xffff)
        MOV	A,#((HalLedInit >> 16) & 0xff)
        LCALL	?BCALL               ; Banked call to: DPTR()
//  121 #endif
//  122 
//  123   /* UART */
//  124 #if (defined HAL_UART) && (HAL_UART == TRUE)
//  125   HalUARTInit();
//  126 #endif
//  127 
//  128   /* KEY */
//  129 #if (defined HAL_KEY) && (HAL_KEY == TRUE)
//  130   HalKeyInit();
        ; Setup parameters for call to function HalKeyInit
        MOV	DPTR,#(HalKeyInit & 0xffff)
        MOV	A,#((HalKeyInit >> 16) & 0xff)
        CFI EndBlock cfiBlock1
        REQUIRE ?Subroutine0
        ; // Fall through to label ?Subroutine0
//  131 #endif
//  132 }

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine0:
        CFI Block cfiBlock2 Using cfiCommon0
        CFI NoFunction
        CFI CFA_SP SP+-5
        CFI DPL0 Frame(CFA_SP, 4)

⌨️ 快捷键说明

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