; generated by Component: ARM Compiler 5.05 update 2 (build 169) Tool: ArmCC [4d0f38]
; commandline ArmCC [--list --debug -c --asm --interleave -o.\obj\board.o --asm_dir=.\lst\ --list_dir=.\lst\ --depend=.\obj\board.d --cpu=Cortex-M4.fp --apcs=interwork -O0 --diag_suppress=9931 -I..\..\..\Library\CMSIS\Include -I..\..\..\Library\Device\Nuvoton\M451Series\Include -I..\..\..\Library\StdDriver\inc -I..\Bsp -I..\User -I..\lcd_driver -I..\exti_driver -I..\led_driver -I..\touch -I..\dotmatix_lcd -I..\KH -ID:\\A\LCD\͹ϵ_VKL\VKL\VKL060_TESTCODE\project\VKL060_FUNC\Keil\RTE -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.3.0\CMSIS\Include -D__UVISION_VERSION=515 -D_RTE_ --omf_browse=.\obj\board.crf ..\Bsp\board.c]
                          THUMB

                          AREA ||.text||, CODE, READONLY, ALIGN=2

                  SYS_Init PROC
;;;31     *******************************************************************************/
;;;32     void SYS_Init(void)
000000  b510              PUSH     {r4,lr}
;;;33     {
;;;34     	/*---------------------------------------------------------------------------------------------------------*/
;;;35     	/* Init System Clock                                                                                       */
;;;36     	/*---------------------------------------------------------------------------------------------------------*/
;;;37     
;;;38     	/* Enable HIRC clock (Internal RC 22.1184MHz) */
;;;39     	CLK_EnableXtalRC(CLK_PWRCTL_HIRCEN_Msk);
000002  2004              MOVS     r0,#4
000004  f7fffffe          BL       CLK_EnableXtalRC
;;;40     
;;;41     	/* Wait for HIRC clock ready */
;;;42     	CLK_WaitClockReady(CLK_STATUS_HIRCSTB_Msk);
000008  2010              MOVS     r0,#0x10
00000a  f7fffffe          BL       CLK_WaitClockReady
;;;43     
;;;44     	/* Select HCLK clock source as HIRC and and HCLK source divider as 1 */
;;;45     	CLK_SetHCLK(CLK_CLKSEL0_HCLKSEL_HIRC, CLK_CLKDIV0_HCLK(1));
00000e  2100              MOVS     r1,#0
000010  2007              MOVS     r0,#7
000012  f7fffffe          BL       CLK_SetHCLK
;;;46     
;;;47     	/* Enable HXT clock (external XTAL 12MHz) */
;;;48     	CLK_EnableXtalRC(CLK_PWRCTL_HXTEN_Msk);
000016  2001              MOVS     r0,#1
000018  f7fffffe          BL       CLK_EnableXtalRC
;;;49     
;;;50     	/* Wait for HXT clock ready */
;;;51     	CLK_WaitClockReady(CLK_STATUS_HXTSTB_Msk);
00001c  2001              MOVS     r0,#1
00001e  f7fffffe          BL       CLK_WaitClockReady
;;;52     
;;;53     	/* Set core clock as PLL_CLOCK from PLL */
;;;54     	CLK_SetCoreClock(PLL_CLOCK);
000022  4818              LDR      r0,|L1.132|
000024  f7fffffe          BL       CLK_SetCoreClock
;;;55     
;;;56       /* Enable PWM1 module clock */
;;;57       CLK_EnableModuleClock(PWM1_MODULE);
000028  4817              LDR      r0,|L1.136|
00002a  f7fffffe          BL       CLK_EnableModuleClock
;;;58     	
;;;59         /* Enable I2C0 module clock */
;;;60         CLK_EnableModuleClock(I2C0_MODULE);
00002e  4817              LDR      r0,|L1.140|
000030  f7fffffe          BL       CLK_EnableModuleClock
;;;61     	/*---------------------------------------------------------------------------------------------------------*/
;;;62     	/* Init I/O Multi-function                                                                                 */
;;;63     	/*---------------------------------------------------------------------------------------------------------*/
;;;64     	/* PWM clock frequency is set equal to HCLK: select PWM module clock source as PCLK */
;;;65     	CLK_SetModuleClock(PWM1_MODULE, CLK_CLKSEL2_PWM1SEL_PCLK1, NULL);
000034  2200              MOVS     r2,#0
000036  2102              MOVS     r1,#2
000038  4813              LDR      r0,|L1.136|
00003a  f7fffffe          BL       CLK_SetModuleClock
;;;66     
;;;67     	/* Reset PWM1 module */
;;;68     	SYS_ResetModule(PWM1_RST);
00003e  4814              LDR      r0,|L1.144|
000040  f7fffffe          BL       SYS_ResetModule
;;;69     	
;;;70     	/* Set PC15 multi-function pins for PWM1 Channel0 */
;;;71     	SYS->GPC_MFPH = (SYS->GPC_MFPH & (~SYS_GPC_MFPH_PC15MFP_Msk));
000044  f04f4080          MOV      r0,#0x40000000
000048  6c40              LDR      r0,[r0,#0x44]
00004a  f0204070          BIC      r0,r0,#0xf0000000
00004e  f04f4180          MOV      r1,#0x40000000
000052  6448              STR      r0,[r1,#0x44]
;;;72     	SYS->GPC_MFPH |= SYS_GPC_MFPH_PC15MFP_PWM1_CH0;		
000054  4608              MOV      r0,r1
000056  6c40              LDR      r0,[r0,#0x44]
000058  f04040c0          ORR      r0,r0,#0x60000000
00005c  6448              STR      r0,[r1,#0x44]
;;;73     	
;;;74     	/* Set I2C PD multi-function pins */
;;;75     	SYS->GPD_MFPL &= ~(SYS_GPD_MFPL_PD4MFP_Msk | SYS_GPD_MFPL_PD5MFP_Msk);
00005e  4608              MOV      r0,r1
000060  6c80              LDR      r0,[r0,#0x48]
000062  f420007f          BIC      r0,r0,#0xff0000
000066  6488              STR      r0,[r1,#0x48]
;;;76     	SYS->GPD_MFPL |= (SYS_GPD_MFPL_PD4MFP_I2C0_SDA | SYS_GPD_MFPL_PD5MFP_I2C0_SCL);
000068  4608              MOV      r0,r1
00006a  6c80              LDR      r0,[r0,#0x48]
00006c  f440104c          ORR      r0,r0,#0x330000
000070  6488              STR      r0,[r1,#0x48]
;;;77     
;;;78     	/* I2C pins enable schmitt trigger */
;;;79     	PD->SMTEN |= (GPIO_SMTEN_SMTEN2_Msk | GPIO_SMTEN_SMTEN3_Msk);
000072  4808              LDR      r0,|L1.148|
000074  6800              LDR      r0,[r0,#0]
000076  f040000c          ORR      r0,r0,#0xc
00007a  f04f2140          MOV      r1,#0x40004000
00007e  f8c100e4          STR      r0,[r1,#0xe4]
;;;80     }
000082  bd10              POP      {r4,pc}
;;;81     
                          ENDP

                  |L1.132|
                          DCD      0x044aa200
                  |L1.136|
                          DCD      0xa2100011
                  |L1.140|
                          DCD      0x40000008
                  |L1.144|
                          DCD      0x08000011
                  |L1.148|
                          DCD      0x400040e4

;*** Start embedded assembler ***

#line 1 "..\\Bsp\\board.c"
	AREA ||.rev16_text||, CODE
	THUMB
	EXPORT |__asm___7_board_c_SYS_Init____REV16|
#line 114 "..\\..\\..\\Library\\CMSIS\\Include\\core_cmInstr.h"
|__asm___7_board_c_SYS_Init____REV16| PROC
#line 115

 rev16 r0, r0
 bx lr
	ENDP
	AREA ||.revsh_text||, CODE
	THUMB
	EXPORT |__asm___7_board_c_SYS_Init____REVSH|
#line 128
|__asm___7_board_c_SYS_Init____REVSH| PROC
#line 129

 revsh r0, r0
 bx lr
	ENDP

;*** End   embedded assembler ***
