📄 hal_drivers.lst
字号:
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 + -