125 lines
4.3 KiB
Plaintext
125 lines
4.3 KiB
Plaintext
; generated by Component: ARM Compiler 5.06 update 4 (build 422) Tool: ArmCC [4d3604]
|
|
; commandline ArmCC [--c99 --list --split_sections --debug -c --asm --interleave -o.\obj\wdt.o --asm_dir=.\lst\ --list_dir=.\lst\ --depend=.\obj\wdt.d --cpu=Cortex-M0 --apcs=interwork -O3 --diag_suppress=9931 -I..\..\..\Library\CMSIS\Include -I..\..\..\Library\Device\Nuvoton\Mini58Series\Include -I..\..\..\Library\StdDriver\inc -I..\..\Template -I..\..\..\Library\StdDriver\driver -I.\RTE\_Template -ID:\Keil_v5\ARM\PACK\Nuvoton\NuMicro_DFP\1.0.9\Device\Mini58\Include -ID:\Keil_v5\ARM\CMSIS\Include -D__MICROLIB -D__UVISION_VERSION=523 --omf_browse=.\obj\wdt.crf ..\..\..\Library\StdDriver\src\wdt.c]
|
|
THUMB
|
|
|
|
AREA ||i.WDT_Close||, CODE, READONLY, ALIGN=2
|
|
|
|
WDT_Close PROC
|
|
;;;63 */
|
|
;;;64 void WDT_Close(void)
|
|
000000 4901 LDR r1,|L1.8|
|
|
;;;65 {
|
|
;;;66 WDT->CTL = 0;
|
|
000002 2000 MOVS r0,#0
|
|
000004 6008 STR r0,[r1,#0]
|
|
;;;67 return;
|
|
;;;68 }
|
|
000006 4770 BX lr
|
|
;;;69
|
|
ENDP
|
|
|
|
|L1.8|
|
|
DCD 0x40004000
|
|
|
|
AREA ||i.WDT_DisableInt||, CODE, READONLY, ALIGN=2
|
|
|
|
WDT_DisableInt PROC
|
|
;;;85 */
|
|
;;;86 void WDT_DisableInt(void)
|
|
000000 4802 LDR r0,|L2.12|
|
|
;;;87 {
|
|
;;;88 WDT->CTL &= ~(WDT_CTL_IF_Msk | WDT_CTL_WKF_Msk | WDT_CTL_RSTF_Msk | WDT_CTL_INTEN_Msk);
|
|
000002 6801 LDR r1,[r0,#0]
|
|
000004 226c MOVS r2,#0x6c
|
|
000006 4391 BICS r1,r1,r2
|
|
000008 6001 STR r1,[r0,#0]
|
|
;;;89 return;
|
|
;;;90 }
|
|
00000a 4770 BX lr
|
|
;;;91
|
|
ENDP
|
|
|
|
|L2.12|
|
|
DCD 0x40004000
|
|
|
|
AREA ||i.WDT_EnableInt||, CODE, READONLY, ALIGN=2
|
|
|
|
WDT_EnableInt PROC
|
|
;;;74 */
|
|
;;;75 void WDT_EnableInt(void)
|
|
000000 4803 LDR r0,|L3.16|
|
|
;;;76 {
|
|
;;;77 WDT->CTL = (WDT->CTL & ~(WDT_CTL_IF_Msk | WDT_CTL_WKF_Msk | WDT_CTL_RSTF_Msk)) | WDT_CTL_INTEN_Msk;
|
|
000002 6801 LDR r1,[r0,#0]
|
|
000004 222c MOVS r2,#0x2c
|
|
000006 4391 BICS r1,r1,r2
|
|
000008 2240 MOVS r2,#0x40
|
|
00000a 4311 ORRS r1,r1,r2
|
|
00000c 6001 STR r1,[r0,#0]
|
|
;;;78 return;
|
|
;;;79 }
|
|
00000e 4770 BX lr
|
|
;;;80
|
|
ENDP
|
|
|
|
|L3.16|
|
|
DCD 0x40004000
|
|
|
|
AREA ||i.WDT_Open||, CODE, READONLY, ALIGN=2
|
|
|
|
WDT_Open PROC
|
|
;;;45 */
|
|
;;;46 void WDT_Open(uint32_t u32TimeoutInterval,
|
|
000000 0052 LSLS r2,r2,#1
|
|
;;;47 uint32_t u32ResetDelay,
|
|
;;;48 uint32_t u32EnableReset,
|
|
;;;49 uint32_t u32EnableWakeup)
|
|
;;;50 {
|
|
;;;51
|
|
;;;52 WDT->CTL = u32TimeoutInterval | WDT_CTL_WDTEN_Msk |
|
|
000002 4302 ORRS r2,r2,r0
|
|
000004 0118 LSLS r0,r3,#4
|
|
000006 4302 ORRS r2,r2,r0
|
|
000008 2080 MOVS r0,#0x80
|
|
00000a 4302 ORRS r2,r2,r0
|
|
00000c 4801 LDR r0,|L4.20|
|
|
00000e 6002 STR r2,[r0,#0]
|
|
;;;53 (u32EnableReset << WDT_CTL_RSTEN_Pos) |
|
|
;;;54 (u32EnableWakeup << WDT_CTL_WKEN_Pos);
|
|
;;;55 WDT->ALTCTL = u32ResetDelay;
|
|
000010 6041 STR r1,[r0,#4]
|
|
;;;56 return;
|
|
;;;57 }
|
|
000012 4770 BX lr
|
|
;;;58
|
|
ENDP
|
|
|
|
|L4.20|
|
|
DCD 0x40004000
|
|
|
|
;*** Start embedded assembler ***
|
|
|
|
#line 1 "..\\..\\..\\Library\\StdDriver\\src\\wdt.c"
|
|
AREA ||.rev16_text||, CODE
|
|
THUMB
|
|
EXPORT |__asm___5_wdt_c_WDT_Open____REV16|
|
|
#line 388 "..\\..\\..\\Library\\CMSIS\\Include\\cmsis_armcc.h"
|
|
|__asm___5_wdt_c_WDT_Open____REV16| PROC
|
|
#line 389
|
|
|
|
rev16 r0, r0
|
|
bx lr
|
|
ENDP
|
|
AREA ||.revsh_text||, CODE
|
|
THUMB
|
|
EXPORT |__asm___5_wdt_c_WDT_Open____REVSH|
|
|
#line 402
|
|
|__asm___5_wdt_c_WDT_Open____REVSH| PROC
|
|
#line 403
|
|
|
|
revsh r0, r0
|
|
bx lr
|
|
ENDP
|
|
|
|
;*** End embedded assembler ***
|