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

📄 hal_drivers.lst

📁 用IAR开发的ZIGBEE网络路由例子
💻 LST
📖 第 1 页 / 共 3 页
字号:
    168              HalLedUpdate();
   \   000018                ; Setup parameters for call to function HalLedUpdate
   \   000018   90....       MOV     DPTR,#(HalLedUpdate & 0xffff)
   \   00001B   74..         MOV     A,#((HalLedUpdate >> 16) & 0xff)
   \   00001D   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    169          #endif /* BLINK_LEDS && HAL_LED */
    170              return events ^ HAL_LED_BLINK_EVENT;
   \   000020   7402         MOV     A,#0x2
   \                     ??Hal_ProcessEvent_3:
   \   000022   6E           XRL     A,R6
   \   000023   FA           MOV     R2,A
   \   000024   EF           MOV     A,R7
   \                     ??Hal_ProcessEvent_4:
   \   000025   FB           MOV     R3,A
   \   000026   8052         SJMP    ??Hal_ProcessEvent_5
    171            }
   \                     ??Hal_ProcessEvent_6:
   \   000028                ; Setup parameters for call to function osal_msg_deallocate
   \   000028   90....       MOV     DPTR,#(osal_msg_deallocate & 0xffff)
   \   00002B   74..         MOV     A,#((osal_msg_deallocate >> 16) & 0xff)
   \   00002D   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \                     ??Hal_ProcessEvent_1:
   \   000030                ; Setup parameters for call to function osal_msg_receive
   \   000030   90....       MOV     DPTR,#Hal_TaskID
   \   000033   E0           MOVX    A,@DPTR
   \   000034   F9           MOV     R1,A
   \   000035   90....       MOV     DPTR,#(osal_msg_receive & 0xffff)
   \   000038   74..         MOV     A,#((osal_msg_receive >> 16) & 0xff)
   \   00003A   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   00003D   EA           MOV     A,R2
   \   00003E   7001         JNZ     ??Hal_ProcessEvent_7
   \   000040   EB           MOV     A,R3
   \                     ??Hal_ProcessEvent_7:
   \   000041   70E5         JNZ     ??Hal_ProcessEvent_6
   \   000043   EE           MOV     A,R6
   \   000044   FA           MOV     R2,A
   \   000045   7480         MOV     A,#-0x80
   \   000047   6F           XRL     A,R7
   \   000048   80DB         SJMP    ??Hal_ProcessEvent_4
    172          
    173            if (events & HAL_KEY_EVENT)
   \                     ??Hal_ProcessEvent_2:
   \   00004A   EE           MOV     A,R6
   \   00004B   A2E0         MOV     C,0xE0 /* A   */.0
   \   00004D   5027         JNC     ??Hal_ProcessEvent_8
    174            {
    175          
    176          #if (defined HAL_KEY) && (HAL_KEY == TRUE)
    177              /* Check for keys */
    178              HalKeyPoll();
   \   00004F                ; Setup parameters for call to function HalKeyPoll
   \   00004F   90....       MOV     DPTR,#(HalKeyPoll & 0xffff)
   \   000052   74..         MOV     A,#((HalKeyPoll >> 16) & 0xff)
   \   000054   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    179          
    180              /* if interrupt disabled, do next polling */
    181              if (!Hal_KeyIntEnable)
   \   000057   90....       MOV     DPTR,#Hal_KeyIntEnable
   \   00005A   E0           MOVX    A,@DPTR
   \   00005B   7015         JNZ     ??Hal_ProcessEvent_9
    182              {
    183                osal_start_timerEx( Hal_TaskID, HAL_KEY_EVENT, 100);
   \   00005D                ; Setup parameters for call to function osal_start_timerEx
   \   00005D   7C64         MOV     R4,#0x64
   \   00005F   7D00         MOV     R5,#0x0
   \   000061   7A01         MOV     R2,#0x1
   \   000063   7B00         MOV     R3,#0x0
   \   000065   90....       MOV     DPTR,#Hal_TaskID
   \   000068   E0           MOVX    A,@DPTR
   \   000069   F9           MOV     R1,A
   \   00006A   90....       MOV     DPTR,#(osal_start_timerEx & 0xffff)
   \   00006D   74..         MOV     A,#((osal_start_timerEx >> 16) & 0xff)
   \   00006F   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    184              }
    185          #endif // HAL_KEY
    186          
    187              return events ^ HAL_KEY_EVENT;
   \                     ??Hal_ProcessEvent_9:
   \   000072   7401         MOV     A,#0x1
   \   000074   80AC         SJMP    ??Hal_ProcessEvent_3
    188            }
    189          
    190          #ifdef POWER_SAVING
    191            if ( events & HAL_SLEEP_TIMER_EVENT )
    192            {
    193              halRestoreSleepLevel();
    194              return events ^ HAL_SLEEP_TIMER_EVENT;
    195            }
    196          #endif
    197          
    198            /* Nothing interested, discard the message */
    199            return 0;
   \                     ??Hal_ProcessEvent_8:
   \   000076   7A00         MOV     R2,#0x0
   \   000078   7B00         MOV     R3,#0x0
   \                     ??Hal_ProcessEvent_5:
   \   00007A   7F02         MOV     R7,#0x2
   \   00007C   02....       LJMP    ?BANKED_LEAVE_XDATA
    200          
    201          }
    202          
    203          /**************************************************************************************************
    204           * @fn      Hal_ProcessPoll
    205           *
    206           * @brief   This routine will be called by OSAL to poll UART, TIMER...
    207           *
    208           * @param   task_id - Hal TaskId
    209           *
    210           * @return  None
    211           **************************************************************************************************/

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    212          void Hal_ProcessPoll ()
   \                     Hal_ProcessPoll:
    213          {
   \   000000   C082         PUSH    DPL
   \   000002   C083         PUSH    DPH
   \   000004                ; Saved register size: 2
   \   000004                ; Auto size: 0
    214          
    215            /* Timer Poll */
    216            HalTimerTick();
   \   000004                ; Setup parameters for call to function HalTimerTick
   \   000004   90....       MOV     DPTR,#(HalTimerTick & 0xffff)
   \   000007   74..         MOV     A,#((HalTimerTick >> 16) & 0xff)
   \   000009   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    217          
    218            /* UART Poll */
    219          #if (defined HAL_UART) && (HAL_UART == TRUE)
    220            HalUARTPoll();
   \   00000C                ; Setup parameters for call to function HalUARTPoll
   \   00000C   90....       MOV     DPTR,#(HalUARTPoll & 0xffff)
   \   00000F   74..         MOV     A,#((HalUARTPoll >> 16) & 0xff)
   \   000011   02....       LJMP    ?Subroutine0 & 0xFFFF
    221          #endif
    222          
    223          }
    224          
    225          
    226          /**************************************************************************************************
    227          **************************************************************************************************/
    228          

   Maximum stack usage in bytes:

     Function                 ISTACK PSTACK XSTACK
     --------                 ------ ------ ------
     HalDriverInit                2      0      0
       -> HalTimerInit            4      0      0
       -> HalAdcInit              4      0      0
       -> HalDmaInit              4      0      0
       -> HalAesInit              4      0      0
       -> HalLcdInit              4      0      0
       -> HalLedInit              4      0      0
       -> HalUARTInit             4      0      0
       -> HalKeyInit              4      0      0
     Hal_Init                     2      0      0
     Hal_ProcessEvent             0      0     10
       -> HalLedUpdate            0      0     20
       -> osal_msg_deallocate     0      0     20
       -> osal_msg_receive        0      0     20
       -> HalKeyPoll              0      0     20
       -> osal_start_timerEx      0      0     20
     Hal_ProcessPoll              2      0      0
       -> HalTimerTick            4      0      0
       -> HalUARTPoll             4      0      0


   Segment part sizes:

     Function/Label   Bytes
     --------------   -----
     Hal_TaskID          1
     Hal_Init           11
     ?Subroutine0       10
     HalDriverInit      65
     Hal_ProcessEvent  127
     Hal_ProcessPoll    20

 
 233 bytes in segment BANKED_CODE
   1 byte  in segment XDATA_Z
 
 233 bytes of CODE  memory
   1 byte  of XDATA memory

Errors: none
Warnings: none

⌨️ 快捷键说明

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