; generated by ARM C/C++ Compiler, 4.1 [Build 894]
; commandline ArmCC [--c99 --list --split_sections --debug -c --asm --interleave -o.\obj\main.o --asm_dir=.\lst\ --list_dir=.\lst\ --depend=.\obj\main.d --cpu=Cortex-M0 --apcs=interwork -I..\inc -I..\drv -I..\bsp -I..\bsp\Cmsis -I..\bsp\Driver -I..\bsp\system -I..\lib -I..\lib\libtk -IC:\Keil\ARM\RV31\Inc -IC:\Keil\ARM\CMSIS\Include -D__MICROLIB -D__LCDDISPLAY_BTL001_H --omf_browse=.\obj\main.crf ..\src\main.c]
                          THUMB

                          AREA ||i.RTC_AlarmHandle||, CODE, READONLY, ALIGN=2

                          REQUIRE _printf_percent
                          REQUIRE _printf_d
                          REQUIRE _printf_int_dec
                  RTC_AlarmHandle PROC
;;;57     /*---------------------------------------------------------------------------------------------------------*/
;;;58     void RTC_AlarmHandle(void)
000000  b510              PUSH     {r4,lr}
;;;59     {
;;;60     	S_DRVRTC_TIME_DATA_T sCurTime;	
;;;61     	
;;;62     	printf("Alarm %d!!!\n",g_bAlarm);
000002  4c0c              LDR      r4,|L1.52|
000004  b08a              SUB      sp,sp,#0x28           ;59
000006  6861              LDR      r1,[r4,#4]  ; g_bAlarm
000008  a00b              ADR      r0,|L1.56|
00000a  f7fffffe          BL       __2printf
;;;63     	
;;;64     	/* Get the currnet time */
;;;65     	RTC_Read(&sCurTime);
00000e  4668              MOV      r0,sp
000010  f7fffffe          BL       RTC_Read
;;;66     	
;;;67     	/* The alarm time setting */	
;;;68     	sCurTime.u32cSecond = sCurTime.u32cSecond + 5; 	
000014  9801              LDR      r0,[sp,#4]
000016  1d40              ADDS     r0,r0,#5
;;;69     	
;;;70     	/* Set the alarm time (Install the call back function and enable the alarm interrupt)*/
;;;71     	RTC_WriteAlarm(&sCurTime);
000018  9001              STR      r0,[sp,#4]
00001a  4668              MOV      r0,sp
00001c  f7fffffe          BL       RTC_WriteAlarm
;;;72     
;;;73     	if(g_bAlarm == false) 
000020  6860              LDR      r0,[r4,#4]  ; g_bAlarm
000022  2800              CMP      r0,#0
000024  d003              BEQ      |L1.46|
;;;74     	{	g_bAlarm = true;}
;;;75     	else
;;;76     	{	g_bAlarm = false;}
000026  2000              MOVS     r0,#0
                  |L1.40|
000028  6060              STR      r0,[r4,#4]            ;74  ; g_bAlarm
;;;77     }
00002a  b00a              ADD      sp,sp,#0x28
00002c  bd10              POP      {r4,pc}
                  |L1.46|
00002e  2001              MOVS     r0,#1                 ;74
000030  e7fa              B        |L1.40|
;;;78     
                          ENDP

000032  0000              DCW      0x0000
                  |L1.52|
                          DCD      ||.data||
                  |L1.56|
000038  416c6172          DCB      "Alarm %d!!!\n",0
00003c  6d202564
000040  2121210a
000044  00      
000045  00                DCB      0
000046  00                DCB      0
000047  00                DCB      0

                          AREA ||i.RTC_TickHandle||, CODE, READONLY, ALIGN=2

                          REQUIRE _printf_pre_padding
                          REQUIRE _printf_percent
                          REQUIRE _printf_flags
                          REQUIRE _printf_widthprec
                          REQUIRE _printf_d
                          REQUIRE _printf_int_dec
                  RTC_TickHandle PROC
;;;31     /*---------------------------------------------------------------------------------------------------------*/
;;;32     void RTC_TickHandle(void)
000000  b500              PUSH     {lr}
;;;33     {
000002  b08d              SUB      sp,sp,#0x34
;;;34     	S_DRVRTC_TIME_DATA_T sCurTime;
;;;35     	
;;;36     	/* Get the currnet time */
;;;37     	RTC_Read(&sCurTime);
000004  a803              ADD      r0,sp,#0xc
000006  f7fffffe          BL       RTC_Read
;;;38     
;;;39     	g_u32TICK++;
00000a  4817              LDR      r0,|L2.104|
00000c  6801              LDR      r1,[r0,#0]  ; g_u32TICK
00000e  1c49              ADDS     r1,r1,#1
000010  6001              STR      r1,[r0,#0]  ; g_u32TICK
;;;40     	
;;;41     	if((g_u32TICK%2)==0)
000012  6800              LDR      r0,[r0,#0]  ; g_u32TICK
;;;42     	{
;;;43     		GPIOE->PMD |= 0x1000;GPIOE->DOUT |= 0x0040;	//for LED
000014  4916              LDR      r1,|L2.112|
000016  07c2              LSLS     r2,r0,#31             ;41
000018  4814              LDR      r0,|L2.108|
00001a  d012              BEQ      |L2.66|
;;;44     		printf("%d-%02d-%02d %02d:%02d:%02d\r",sCurTime.u32Year,sCurTime.u32cMonth,sCurTime.u32cDay,sCurTime.u32cHour,sCurTime.u32cMinute,sCurTime.u32cSecond);				
;;;45     	
;;;46     	}
;;;47     	else
;;;48     	{
;;;49     		GPIOE->PMD = 0x1000;GPIOE->DOUT &= 0xFFBF;//for LED
00001c  6001              STR      r1,[r0,#0]
00001e  6881              LDR      r1,[r0,#8]
000020  4a14              LDR      r2,|L2.116|
000022  4011              ANDS     r1,r1,r2
000024  6081              STR      r1,[r0,#8]
;;;50     		printf("%d-%02d-%02d %02d %02d %02d\r",sCurTime.u32Year,sCurTime.u32cMonth,sCurTime.u32cDay,sCurTime.u32cHour,sCurTime.u32cMinute,sCurTime.u32cSecond);				
000026  9906              LDR      r1,[sp,#0x18]
000028  9805              LDR      r0,[sp,#0x14]
00002a  9a04              LDR      r2,[sp,#0x10]
00002c  9202              STR      r2,[sp,#8]
00002e  9100              STR      r1,[sp,#0]
000030  9001              STR      r0,[sp,#4]
000032  a011              ADR      r0,|L2.120|
000034  9b08              LDR      r3,[sp,#0x20]
000036  9a09              LDR      r2,[sp,#0x24]
000038  990a              LDR      r1,[sp,#0x28]
                  |L2.58|
00003a  f7fffffe          BL       __2printf
;;;51     	
;;;52     	}
;;;53     }
00003e  b00d              ADD      sp,sp,#0x34
000040  bd00              POP      {pc}
                  |L2.66|
000042  6802              LDR      r2,[r0,#0]            ;43
000044  430a              ORRS     r2,r2,r1              ;43
000046  6002              STR      r2,[r0,#0]            ;43
000048  6881              LDR      r1,[r0,#8]            ;43
00004a  2240              MOVS     r2,#0x40              ;43
00004c  4311              ORRS     r1,r1,r2              ;43
00004e  6081              STR      r1,[r0,#8]            ;43
000050  9906              LDR      r1,[sp,#0x18]         ;44
000052  9805              LDR      r0,[sp,#0x14]         ;44
000054  9a04              LDR      r2,[sp,#0x10]         ;44
000056  9202              STR      r2,[sp,#8]            ;44
000058  9100              STR      r1,[sp,#0]            ;44
00005a  9001              STR      r0,[sp,#4]            ;44
00005c  a00e              ADR      r0,|L2.152|
00005e  9b08              LDR      r3,[sp,#0x20]         ;44
000060  9a09              LDR      r2,[sp,#0x24]         ;44
000062  990a              LDR      r1,[sp,#0x28]         ;44
000064  e7e9              B        |L2.58|
;;;54     
                          ENDP

000066  0000              DCW      0x0000
                  |L2.104|
                          DCD      ||.data||
                  |L2.108|
                          DCD      0x50004100
                  |L2.112|
                          DCD      0x00001000
                  |L2.116|
                          DCD      0x0000ffbf
                  |L2.120|
000078  25642d25          DCB      "%d-%02d-%02d %02d %02d %02d\r",0
00007c  3032642d
000080  25303264
000084  20253032
000088  64202530
00008c  32642025
000090  3032640d
000094  00      
000095  00                DCB      0
000096  00                DCB      0
000097  00                DCB      0
                  |L2.152|
000098  25642d25          DCB      "%d-%02d-%02d %02d:%02d:%02d\r",0
00009c  3032642d
0000a0  25303264
0000a4  20253032
0000a8  643a2530
0000ac  32643a25
0000b0  3032640d
0000b4  00      
0000b5  00                DCB      0
0000b6  00                DCB      0
0000b7  00                DCB      0

                          AREA ||i.SYS_SelectIPClockSource_1||, CODE, READONLY, ALIGN=2

                  SYS_SelectIPClockSource_1 PROC
;;;325      */
;;;326    static __INLINE void SYS_SelectIPClockSource_1(uint32_t u32ClkMask, uint32_t u32ClkSrc)
000000  4a02              LDR      r2,|L3.12|
;;;327    {
;;;328     	CLK->CLKSEL1 = (CLK->CLKSEL1 & (~u32ClkMask)) | u32ClkSrc;
000002  6953              LDR      r3,[r2,#0x14]
000004  4383              BICS     r3,r3,r0
000006  430b              ORRS     r3,r3,r1
000008  6153              STR      r3,[r2,#0x14]
;;;329    }
00000a  4770              BX       lr
;;;330    
                          ENDP

                  |L3.12|
                          DCD      0x50000200

                          AREA ||i.Test_GPIO||, CODE, READONLY, ALIGN=2

                  Test_GPIO PROC
;;;87     
;;;88     void Test_GPIO(void)
000000  2100              MOVS     r1,#0
;;;89     {
;;;90     	volatile unsigned int i;
;;;91     	int toggle = 0;
;;;92     
;;;93     	GCR->PA_H_MFP = 0;
000002  2005              MOVS     r0,#5
000004  0700              LSLS     r0,r0,#28
000006  6341              STR      r1,[r0,#0x34]
;;;94     	GCR->PA_L_MFP = 0;
000008  6301              STR      r1,[r0,#0x30]
;;;95     	GCR->PB_H_MFP = 0;
00000a  63c1              STR      r1,[r0,#0x3c]
;;;96     	GCR->PB_L_MFP = 0;
00000c  6381              STR      r1,[r0,#0x38]
;;;97     	GCR->PC_H_MFP = 0;
00000e  4826              LDR      r0,|L4.168|
000010  6041              STR      r1,[r0,#4]
;;;98     	GCR->PC_L_MFP = 0;
000012  6001              STR      r1,[r0,#0]
;;;99     	GCR->PD_H_MFP = 0;
000014  60c1              STR      r1,[r0,#0xc]
;;;100    	GCR->PD_L_MFP = 0;
000016  6081              STR      r1,[r0,#8]
;;;101    	GCR->PE_H_MFP = 0;
000018  6141              STR      r1,[r0,#0x14]
;;;102    	GCR->PE_L_MFP = 0;
00001a  6101              STR      r1,[r0,#0x10]
;;;103    	GCR->PF_L_MFP_BITS.PF0 = 0;
00001c  6981              LDR      r1,[r0,#0x18]
00001e  08c9              LSRS     r1,r1,#3
000020  00c9              LSLS     r1,r1,#3
000022  6181              STR      r1,[r0,#0x18]
;;;104    	GCR->PF_L_MFP_BITS.PF1 = 0;
000024  6981              LDR      r1,[r0,#0x18]
000026  2270              MOVS     r2,#0x70
000028  4391              BICS     r1,r1,r2
00002a  6181              STR      r1,[r0,#0x18]
;;;105    	GCR->PF_L_MFP_BITS.PF4 = 0;
00002c  6981              LDR      r1,[r0,#0x18]
00002e  0312              LSLS     r2,r2,#12
000030  4391              BICS     r1,r1,r2
000032  6181              STR      r1,[r0,#0x18]
;;;106    	GCR->PF_L_MFP_BITS.PF5 = 0;
000034  6981              LDR      r1,[r0,#0x18]
000036  0112              LSLS     r2,r2,#4
000038  4391              BICS     r1,r1,r2
00003a  6181              STR      r1,[r0,#0x18]
;;;107    
;;;108    	/* Tiny 128-pin */
;;;109    	GPIOA->PMD = 0x55555555;
00003c  4a1c              LDR      r2,|L4.176|
00003e  481b              LDR      r0,|L4.172|
000040  6010              STR      r0,[r2,#0]
;;;110    	GPIOB->PMD = 0x55555555;
000042  4b1b              LDR      r3,|L4.176|
000044  3340              ADDS     r3,r3,#0x40
000046  6018              STR      r0,[r3,#0]
;;;111    	GPIOC->PMD = 0x55555555;
000048  4c19              LDR      r4,|L4.176|
00004a  3480              ADDS     r4,r4,#0x80
00004c  6020              STR      r0,[r4,#0]
;;;112    	GPIOD->PMD = 0x55555555;
00004e  4d18              LDR      r5,|L4.176|
000050  35c0              ADDS     r5,r5,#0xc0
000052  6028              STR      r0,[r5,#0]
;;;113    	GPIOE->PMD = 0x55555555;
000054  4e17              LDR      r6,|L4.180|
000056  6030              STR      r0,[r6,#0]
;;;114    	GPIOF->PMD = 0x505;
000058  4f16              LDR      r7,|L4.180|
00005a  4817              LDR      r0,|L4.184|
00005c  3740              ADDS     r7,r7,#0x40
00005e  6038              STR      r0,[r7,#0]
;;;115    
;;;116    	while(1)
000060  e00f              B        |L4.130|
                  |L4.98|
;;;117    	{
;;;118    		if (toggle)
000062  2900              CMP      r1,#0
000064  d00d              BEQ      |L4.130|
;;;119    		{
;;;120    			GPIOA->DOUT = 0x5555;
000066  4815              LDR      r0,|L4.188|
000068  6090              STR      r0,[r2,#8]
;;;121    			GPIOB->DOUT = 0xDAA5;
00006a  4815              LDR      r0,|L4.192|
00006c  6098              STR      r0,[r3,#8]
;;;122    			GPIOC->DOUT = 0x85AA;
00006e  4815              LDR      r0,|L4.196|
000070  60a0              STR      r0,[r4,#8]
;;;123    			GPIOD->DOUT = 0x6A5A;
000072  4815              LDR      r0,|L4.200|
000074  60a8              STR      r0,[r5,#8]
;;;124    			GPIOE->DOUT = 0x8D4D;
000076  4815              LDR      r0,|L4.204|
000078  60b0              STR      r0,[r6,#8]
;;;125    			GPIOF->DOUT = 0x0020;
00007a  2020              MOVS     r0,#0x20
00007c  60b8              STR      r0,[r7,#8]
;;;126    			toggle = 0;
00007e  2100              MOVS     r1,#0
000080  e00d              B        |L4.158|
                  |L4.130|
;;;127    		}
;;;128    		else
;;;129    		{
;;;130    			GPIOA->DOUT = 0xAAAA;
000082  4813              LDR      r0,|L4.208|
000084  6090              STR      r0,[r2,#8]
;;;131    			GPIOB->DOUT = 0x255A;
000086  4813              LDR      r0,|L4.212|
000088  6098              STR      r0,[r3,#8]
;;;132    			GPIOC->DOUT = 0x6A55;
00008a  480f              LDR      r0,|L4.200|
00008c  1f40              SUBS     r0,r0,#5
00008e  60a0              STR      r0,[r4,#8]
;;;133    			GPIOD->DOUT = 0x95A5;
000090  4811              LDR      r0,|L4.216|
000092  60a8              STR      r0,[r5,#8]
;;;134    			GPIOE->DOUT = 0x72B2;
000094  4811              LDR      r0,|L4.220|
000096  60b0              STR      r0,[r6,#8]
;;;135    			GPIOF->DOUT = 0x0010;
000098  2010              MOVS     r0,#0x10
00009a  60b8              STR      r0,[r7,#8]
;;;136    			toggle = 1;
00009c  2101              MOVS     r1,#1
                  |L4.158|
;;;137    		}
;;;138    		for (i=0x300000; i>0; i--);
00009e  2003              MOVS     r0,#3
0000a0  0500              LSLS     r0,r0,#20
                  |L4.162|
0000a2  1e40              SUBS     r0,r0,#1
0000a4  d1fd              BNE      |L4.162|
0000a6  e7dc              B        |L4.98|
;;;139    	}
;;;140    
;;;141    
;;;142    }
;;;143    
                          ENDP

                  |L4.168|
                          DCD      0x50000040
                  |L4.172|
                          DCD      0x55555555
                  |L4.176|
                          DCD      0x50004000
                  |L4.180|
                          DCD      0x50004100
                  |L4.184|
                          DCD      0x00000505
                  |L4.188|
                          DCD      0x00005555
                  |L4.192|
                          DCD      0x0000daa5
                  |L4.196|
                          DCD      0x000085aa
                  |L4.200|
                          DCD      0x00006a5a
                  |L4.204|
                          DCD      0x00008d4d
                  |L4.208|
                          DCD      0x0000aaaa
                  |L4.212|
                          DCD      0x0000255a
                  |L4.216|
                          DCD      0x000095a5
                  |L4.220|
                          DCD      0x000072b2

                          AREA ||i.Test_LCD||, CODE, READONLY, ALIGN=2

                  Test_LCD PROC
;;;158    
;;;159    void Test_LCD(void)
000000  b570              PUSH     {r4-r6,lr}
;;;160    {
;;;161    	int32_t i;
;;;162    
;;;163    	//0
;;;164    	LCD_EnableSegment(2, 37);//P0
000002  2125              MOVS     r1,#0x25
000004  2002              MOVS     r0,#2
000006  f7fffffe          BL       LCD_EnableSegment
;;;165    	LCD_EnableSegment(0, 38);//MINUS
00000a  2126              MOVS     r1,#0x26
00000c  2000              MOVS     r0,#0
00000e  f7fffffe          BL       LCD_EnableSegment
;;;166    	LCD_DisableSegment(3, 38);//PLUS
000012  2126              MOVS     r1,#0x26
000014  2003              MOVS     r0,#3
000016  f7fffffe          BL       LCD_DisableSegment
;;;167    	LCD_EnableSegment(0, 35);//LOGO
00001a  2123              MOVS     r1,#0x23
00001c  2000              MOVS     r0,#0
00001e  f7fffffe          BL       LCD_EnableSegment
;;;168    	LCD_DisableSegment(3, 22);//Welcome
000022  2116              MOVS     r1,#0x16
000024  2003              MOVS     r0,#3
000026  f7fffffe          BL       LCD_DisableSegment
;;;169    	LCD_EnableSegment(3, 34);//B0
00002a  2122              MOVS     r1,#0x22
00002c  2003              MOVS     r0,#3
00002e  f7fffffe          BL       LCD_EnableSegment
;;;170    	LCD_Number(1111);
000032  48d4              LDR      r0,|L5.900|
000034  2100              MOVS     r1,#0
000036  f7fffffe          BL       LCD_Number
;;;171    	LCD_Write("1111111");SYS_Delay(335000);SYS_Delay(335000);
00003a  a0d3              ADR      r0,|L5.904|
00003c  f7fffffe          BL       LCD_Write
000040  4dd3              LDR      r5,|L5.912|
000042  4628              MOV      r0,r5
000044  f7fffffe          BL       SYS_Delay
000048  4628              MOV      r0,r5
00004a  f7fffffe          BL       SYS_Delay
;;;172    	//1
;;;173    	LCD_EnableSegment(1, 37);//P1
00004e  2125              MOVS     r1,#0x25
000050  2001              MOVS     r0,#1
000052  f7fffffe          BL       LCD_EnableSegment
;;;174    	LCD_DisableSegment(0, 38);//MINUS
000056  2126              MOVS     r1,#0x26
000058  2000              MOVS     r0,#0
00005a  f7fffffe          BL       LCD_DisableSegment
;;;175    	LCD_EnableSegment(3, 38);//PLUS
00005e  2126              MOVS     r1,#0x26
000060  2003              MOVS     r0,#3
000062  f7fffffe          BL       LCD_EnableSegment
;;;176    	LCD_DisableSegment(0, 35);//LOGO
000066  2123              MOVS     r1,#0x23
000068  2000              MOVS     r0,#0
00006a  f7fffffe          BL       LCD_DisableSegment
;;;177    	LCD_EnableSegment(3, 22);//Welcome
00006e  2116              MOVS     r1,#0x16
000070  2003              MOVS     r0,#3
000072  f7fffffe          BL       LCD_EnableSegment
;;;178    	LCD_EnableSegment(2, 34);//B1
000076  2122              MOVS     r1,#0x22
000078  2002              MOVS     r0,#2
00007a  f7fffffe          BL       LCD_EnableSegment
;;;179    	LCD_Number(2222);	
00007e  48c5              LDR      r0,|L5.916|
000080  2100              MOVS     r1,#0
000082  f7fffffe          BL       LCD_Number
;;;180    	LCD_Write("2222222");SYS_Delay(335000);SYS_Delay(335000);
000086  a0c4              ADR      r0,|L5.920|
000088  f7fffffe          BL       LCD_Write
00008c  4628              MOV      r0,r5
00008e  f7fffffe          BL       SYS_Delay
000092  4628              MOV      r0,r5
000094  f7fffffe          BL       SYS_Delay
;;;181    	//2
;;;182    	LCD_EnableSegment(0, 37);//P2
000098  2125              MOVS     r1,#0x25
00009a  2000              MOVS     r0,#0
00009c  f7fffffe          BL       LCD_EnableSegment
;;;183    	LCD_EnableSegment(0, 38);//MINUS
0000a0  2126              MOVS     r1,#0x26
0000a2  2000              MOVS     r0,#0
0000a4  f7fffffe          BL       LCD_EnableSegment
;;;184    	LCD_DisableSegment(3, 38);//PLUS
0000a8  2126              MOVS     r1,#0x26
0000aa  2003              MOVS     r0,#3
0000ac  f7fffffe          BL       LCD_DisableSegment
;;;185    	LCD_EnableSegment(0, 35);//LOGO
0000b0  2123              MOVS     r1,#0x23
0000b2  2000              MOVS     r0,#0
0000b4  f7fffffe          BL       LCD_EnableSegment
;;;186    	LCD_DisableSegment(3, 22);//Welcome
0000b8  2116              MOVS     r1,#0x16
0000ba  2003              MOVS     r0,#3
0000bc  f7fffffe          BL       LCD_DisableSegment
;;;187    	LCD_EnableSegment(1, 34);//B2
0000c0  2122              MOVS     r1,#0x22
0000c2  2001              MOVS     r0,#1
0000c4  f7fffffe          BL       LCD_EnableSegment
;;;188    	LCD_Number(3333);	
0000c8  48b5              LDR      r0,|L5.928|
0000ca  2100              MOVS     r1,#0
0000cc  f7fffffe          BL       LCD_Number
;;;189    	LCD_Write("3333333");SYS_Delay(335000);SYS_Delay(335000);
0000d0  a0b4              ADR      r0,|L5.932|
0000d2  f7fffffe          BL       LCD_Write
0000d6  4628              MOV      r0,r5
0000d8  f7fffffe          BL       SYS_Delay
0000dc  4628              MOV      r0,r5
0000de  f7fffffe          BL       SYS_Delay
;;;190    	//3
;;;191    	LCD_EnableSegment(0, 36);//P3
0000e2  2124              MOVS     r1,#0x24
0000e4  2000              MOVS     r0,#0
0000e6  f7fffffe          BL       LCD_EnableSegment
;;;192    	LCD_DisableSegment(0, 38);//MINUS
0000ea  2126              MOVS     r1,#0x26
0000ec  2000              MOVS     r0,#0
0000ee  f7fffffe          BL       LCD_DisableSegment
;;;193    	LCD_EnableSegment(3, 38);//PLUS
0000f2  2126              MOVS     r1,#0x26
0000f4  2003              MOVS     r0,#3
0000f6  f7fffffe          BL       LCD_EnableSegment
;;;194    	LCD_DisableSegment(0, 35);//LOGO
0000fa  2123              MOVS     r1,#0x23
0000fc  2000              MOVS     r0,#0
0000fe  f7fffffe          BL       LCD_DisableSegment
;;;195    	LCD_EnableSegment(3, 22);//Welcome
000102  2116              MOVS     r1,#0x16
000104  2003              MOVS     r0,#3
000106  f7fffffe          BL       LCD_EnableSegment
;;;196    	LCD_EnableSegment(0, 34);//BRBL	
00010a  2122              MOVS     r1,#0x22
00010c  2000              MOVS     r0,#0
00010e  f7fffffe          BL       LCD_EnableSegment
;;;197    	LCD_Number(4444); 
000112  48a6              LDR      r0,|L5.940|
000114  2100              MOVS     r1,#0
000116  f7fffffe          BL       LCD_Number
;;;198    	LCD_Write("4444444");SYS_Delay(335000);SYS_Delay(335000);
00011a  a0a5              ADR      r0,|L5.944|
00011c  f7fffffe          BL       LCD_Write
000120  4628              MOV      r0,r5
000122  f7fffffe          BL       SYS_Delay
000126  4628              MOV      r0,r5
000128  f7fffffe          BL       SYS_Delay
;;;199    	//4
;;;200    	LCD_EnableSegment(1, 36);//P4
00012c  2124              MOVS     r1,#0x24
00012e  2001              MOVS     r0,#1
000130  f7fffffe          BL       LCD_EnableSegment
;;;201    	LCD_EnableSegment(0, 38);//MINUS
000134  2126              MOVS     r1,#0x26
000136  2000              MOVS     r0,#0
000138  f7fffffe          BL       LCD_EnableSegment
;;;202    	LCD_DisableSegment(3, 38);//PLUS
00013c  2126              MOVS     r1,#0x26
00013e  2003              MOVS     r0,#3
000140  f7fffffe          BL       LCD_DisableSegment
;;;203    	LCD_EnableSegment(0, 35);//LOGO
000144  2123              MOVS     r1,#0x23
000146  2000              MOVS     r0,#0
000148  f7fffffe          BL       LCD_EnableSegment
;;;204    	LCD_DisableSegment(3, 22);//Welcome
00014c  2116              MOVS     r1,#0x16
00014e  2003              MOVS     r0,#3
000150  f7fffffe          BL       LCD_DisableSegment
;;;205    	LCD_DisableSegment(0, 34);//BRBL
000154  2122              MOVS     r1,#0x22
000156  2000              MOVS     r0,#0
000158  f7fffffe          BL       LCD_DisableSegment
;;;206    	LCD_Number(5555); 	
00015c  4896              LDR      r0,|L5.952|
00015e  2100              MOVS     r1,#0
000160  f7fffffe          BL       LCD_Number
;;;207    	LCD_Write("5555555");SYS_Delay(335000);SYS_Delay(335000);
000164  a095              ADR      r0,|L5.956|
000166  f7fffffe          BL       LCD_Write
00016a  4628              MOV      r0,r5
00016c  f7fffffe          BL       SYS_Delay
000170  4628              MOV      r0,r5
000172  f7fffffe          BL       SYS_Delay
;;;208    	//5
;;;209    	LCD_EnableSegment(2, 36);//P5
000176  2124              MOVS     r1,#0x24
000178  2002              MOVS     r0,#2
00017a  f7fffffe          BL       LCD_EnableSegment
;;;210    	LCD_DisableSegment(0, 38);//MINUS
00017e  2126              MOVS     r1,#0x26
000180  2000              MOVS     r0,#0
000182  f7fffffe          BL       LCD_DisableSegment
;;;211    	LCD_EnableSegment(3, 38);//PLUS
000186  2126              MOVS     r1,#0x26
000188  2003              MOVS     r0,#3
00018a  f7fffffe          BL       LCD_EnableSegment
;;;212    	LCD_DisableSegment(0, 35);//LOGO
00018e  2123              MOVS     r1,#0x23
000190  2000              MOVS     r0,#0
000192  f7fffffe          BL       LCD_DisableSegment
;;;213    	LCD_EnableSegment(3, 22);//Welcome
000196  2116              MOVS     r1,#0x16
000198  2003              MOVS     r0,#3
00019a  f7fffffe          BL       LCD_EnableSegment
;;;214    	LCD_DisableSegment(1, 34);//B2
00019e  2122              MOVS     r1,#0x22
0001a0  2001              MOVS     r0,#1
0001a2  f7fffffe          BL       LCD_DisableSegment
;;;215    	LCD_Number(6666);	
0001a6  4887              LDR      r0,|L5.964|
0001a8  2100              MOVS     r1,#0
0001aa  f7fffffe          BL       LCD_Number
;;;216    	LCD_Write("NNNNNNN");SYS_Delay(335000);SYS_Delay(335000);
0001ae  a086              ADR      r0,|L5.968|
0001b0  f7fffffe          BL       LCD_Write
0001b4  4628              MOV      r0,r5
0001b6  f7fffffe          BL       SYS_Delay
0001ba  4628              MOV      r0,r5
0001bc  f7fffffe          BL       SYS_Delay
;;;217    	//6
;;;218    	LCD_EnableSegment(3, 36);//P6
0001c0  2124              MOVS     r1,#0x24
0001c2  2003              MOVS     r0,#3
0001c4  f7fffffe          BL       LCD_EnableSegment
;;;219    	LCD_EnableSegment(0, 38);//MINUS
0001c8  2126              MOVS     r1,#0x26
0001ca  2000              MOVS     r0,#0
0001cc  f7fffffe          BL       LCD_EnableSegment
;;;220    	LCD_DisableSegment(3, 38);//PLUS
0001d0  2126              MOVS     r1,#0x26
0001d2  2003              MOVS     r0,#3
0001d4  f7fffffe          BL       LCD_DisableSegment
;;;221    	LCD_EnableSegment(0, 35);//LOGO
0001d8  2123              MOVS     r1,#0x23
0001da  2000              MOVS     r0,#0
0001dc  f7fffffe          BL       LCD_EnableSegment
;;;222    	LCD_DisableSegment(3, 22);//Welcome
0001e0  2116              MOVS     r1,#0x16
0001e2  2003              MOVS     r0,#3
0001e4  f7fffffe          BL       LCD_DisableSegment
;;;223    	LCD_DisableSegment(2, 34);//B1
0001e8  2122              MOVS     r1,#0x22
0001ea  2002              MOVS     r0,#2
0001ec  f7fffffe          BL       LCD_DisableSegment
;;;224    	LCD_Number(7777); 
0001f0  4877              LDR      r0,|L5.976|
0001f2  2100              MOVS     r1,#0
0001f4  f7fffffe          BL       LCD_Number
;;;225    	LCD_Write("ZZZZZZZ");SYS_Delay(335000);SYS_Delay(335000);
0001f8  a076              ADR      r0,|L5.980|
0001fa  f7fffffe          BL       LCD_Write
0001fe  4628              MOV      r0,r5
000200  f7fffffe          BL       SYS_Delay
000204  4628              MOV      r0,r5
000206  f7fffffe          BL       SYS_Delay
;;;226    	//7
;;;227    	LCD_EnableSegment(3, 35);//P7
00020a  2123              MOVS     r1,#0x23
00020c  2003              MOVS     r0,#3
00020e  f7fffffe          BL       LCD_EnableSegment
;;;228    	LCD_DisableSegment(0, 38);//MINUS
000212  2126              MOVS     r1,#0x26
000214  2000              MOVS     r0,#0
000216  f7fffffe          BL       LCD_DisableSegment
;;;229    	LCD_EnableSegment(3, 38);//PLUS
00021a  2126              MOVS     r1,#0x26
00021c  2003              MOVS     r0,#3
00021e  f7fffffe          BL       LCD_EnableSegment
;;;230    	LCD_DisableSegment(0, 35);//LOGO
000222  2123              MOVS     r1,#0x23
000224  2000              MOVS     r0,#0
000226  f7fffffe          BL       LCD_DisableSegment
;;;231    	LCD_EnableSegment(3, 22);//Welcome
00022a  2116              MOVS     r1,#0x16
00022c  2003              MOVS     r0,#3
00022e  f7fffffe          BL       LCD_EnableSegment
;;;232    	LCD_DisableSegment(3, 34);//B0
000232  2122              MOVS     r1,#0x22
000234  2003              MOVS     r0,#3
000236  f7fffffe          BL       LCD_DisableSegment
;;;233    	LCD_Number(8888);	
00023a  4868              LDR      r0,|L5.988|
00023c  2100              MOVS     r1,#0
00023e  f7fffffe          BL       LCD_Number
;;;234    	LCD_Write("-------");SYS_Delay(335000);SYS_Delay(335000);
000242  a067              ADR      r0,|L5.992|
000244  f7fffffe          BL       LCD_Write
000248  4628              MOV      r0,r5
00024a  f7fffffe          BL       SYS_Delay
00024e  4628              MOV      r0,r5
000250  f7fffffe          BL       SYS_Delay
;;;235    	//8
;;;236    	LCD_EnableSegment(2, 35);//P8
000254  2123              MOVS     r1,#0x23
000256  2002              MOVS     r0,#2
000258  f7fffffe          BL       LCD_EnableSegment
;;;237    	LCD_EnableSegment(0, 38);//MINUS
00025c  2126              MOVS     r1,#0x26
00025e  2000              MOVS     r0,#0
000260  f7fffffe          BL       LCD_EnableSegment
;;;238    	LCD_DisableSegment(3, 38);//PLUS
000264  2126              MOVS     r1,#0x26
000266  2003              MOVS     r0,#3
000268  f7fffffe          BL       LCD_DisableSegment
;;;239    	LCD_EnableSegment(0, 35);//LOGO
00026c  2123              MOVS     r1,#0x23
00026e  2000              MOVS     r0,#0
000270  f7fffffe          BL       LCD_EnableSegment
;;;240    	LCD_DisableSegment(3, 22);//Welcome
000274  2116              MOVS     r1,#0x16
000276  2003              MOVS     r0,#3
000278  f7fffffe          BL       LCD_DisableSegment
;;;241    	LCD_Number(9999);
00027c  485a              LDR      r0,|L5.1000|
00027e  2100              MOVS     r1,#0
000280  f7fffffe          BL       LCD_Number
;;;242    	LCD_Write("+++++++");SYS_Delay(335000);SYS_Delay(335000);
000284  a059              ADR      r0,|L5.1004|
000286  f7fffffe          BL       LCD_Write
00028a  4628              MOV      r0,r5
00028c  f7fffffe          BL       SYS_Delay
000290  4628              MOV      r0,r5
000292  f7fffffe          BL       SYS_Delay
;;;243    	//9
;;;244    	LCD_EnableSegment(1, 35);//P9
000296  2123              MOVS     r1,#0x23
000298  2001              MOVS     r0,#1
00029a  f7fffffe          BL       LCD_EnableSegment
;;;245    	LCD_DisableSegment(0, 38);//MINUS
00029e  2126              MOVS     r1,#0x26
0002a0  2000              MOVS     r0,#0
0002a2  f7fffffe          BL       LCD_DisableSegment
;;;246    	LCD_EnableSegment(3, 38);//PLUS
0002a6  2126              MOVS     r1,#0x26
0002a8  2003              MOVS     r0,#3
0002aa  f7fffffe          BL       LCD_EnableSegment
;;;247    	LCD_DisableSegment(0, 35);//LOGO
0002ae  2123              MOVS     r1,#0x23
0002b0  2000              MOVS     r0,#0
0002b2  f7fffffe          BL       LCD_DisableSegment
;;;248    	LCD_EnableSegment(3, 22);//Welcome
0002b6  2116              MOVS     r1,#0x16
0002b8  2003              MOVS     r0,#3
0002ba  f7fffffe          BL       LCD_EnableSegment
;;;249    	LCD_Number(0000);
0002be  2000              MOVS     r0,#0
0002c0  4601              MOV      r1,r0
0002c2  f7fffffe          BL       LCD_Number
;;;250    	LCD_Write("*******");SYS_Delay(335000);SYS_Delay(335000);
0002c6  a04b              ADR      r0,|L5.1012|
0002c8  f7fffffe          BL       LCD_Write
0002cc  4628              MOV      r0,r5
0002ce  f7fffffe          BL       SYS_Delay
0002d2  4628              MOV      r0,r5
0002d4  f7fffffe          BL       SYS_Delay
;;;251    
;;;252    	for(i=1;i<5;i++)
0002d8  2401              MOVS     r4,#1
                  |L5.730|
;;;253    	{
;;;254    		Test_LCD_ONOFF(i); 
0002da  b260              SXTB     r0,r4
0002dc  f7fffffe          BL       Test_LCD_ONOFF
;;;255    		SYS_Delay(335000);SYS_Delay(335000);
0002e0  4628              MOV      r0,r5
0002e2  f7fffffe          BL       SYS_Delay
0002e6  4628              MOV      r0,r5
0002e8  f7fffffe          BL       SYS_Delay
0002ec  1c64              ADDS     r4,r4,#1              ;252
0002ee  2c05              CMP      r4,#5                 ;252
0002f0  dbf3              BLT      |L5.730|
;;;256    	}
;;;257    	
;;;258    	LCD_EnableSegment(0,  2);LCD_EnableSegment(0,  6);LCD_EnableSegment(0, 10);//1DP,2DP,3DP
0002f2  2102              MOVS     r1,#2
0002f4  2000              MOVS     r0,#0
0002f6  f7fffffe          BL       LCD_EnableSegment
0002fa  2106              MOVS     r1,#6
0002fc  2000              MOVS     r0,#0
0002fe  f7fffffe          BL       LCD_EnableSegment
000302  210a              MOVS     r1,#0xa
000304  2000              MOVS     r0,#0
000306  f7fffffe          BL       LCD_EnableSegment
;;;259    	LCD_EnableSegment(0, 14);LCD_EnableSegment(0, 18);LCD_EnableSegment(0, 22);//4DP,5DP,6DP
00030a  210e              MOVS     r1,#0xe
00030c  2000              MOVS     r0,#0
00030e  f7fffffe          BL       LCD_EnableSegment
000312  2112              MOVS     r1,#0x12
000314  2000              MOVS     r0,#0
000316  f7fffffe          BL       LCD_EnableSegment
00031a  2116              MOVS     r1,#0x16
00031c  2000              MOVS     r0,#0
00031e  f7fffffe          BL       LCD_EnableSegment
;;;260    	LCD_EnableSegment(3, 32);LCD_EnableSegment(3, 30);LCD_EnableSegment(3, 27);//8DP,10DP,11DP
000322  2120              MOVS     r1,#0x20
000324  2003              MOVS     r0,#3
000326  f7fffffe          BL       LCD_EnableSegment
00032a  211e              MOVS     r1,#0x1e
00032c  2003              MOVS     r0,#3
00032e  f7fffffe          BL       LCD_EnableSegment
000332  211b              MOVS     r1,#0x1b
000334  2003              MOVS     r0,#3
000336  f7fffffe          BL       LCD_EnableSegment
;;;261    	SYS_Delay(335000);SYS_Delay(335000);
00033a  4628              MOV      r0,r5
00033c  f7fffffe          BL       SYS_Delay
000340  4628              MOV      r0,r5
000342  f7fffffe          BL       SYS_Delay
;;;262    
;;;263    	LCD_EnableSegment(3,  2);LCD_EnableSegment(3,  6);LCD_EnableSegment(3, 10);//2COL,3COL,4COL
000346  2102              MOVS     r1,#2
000348  2003              MOVS     r0,#3
00034a  f7fffffe          BL       LCD_EnableSegment
00034e  2106              MOVS     r1,#6
000350  2003              MOVS     r0,#3
000352  f7fffffe          BL       LCD_EnableSegment
000356  210a              MOVS     r1,#0xa
000358  2003              MOVS     r0,#3
00035a  f7fffffe          BL       LCD_EnableSegment
;;;264    	LCD_EnableSegment(3, 14);LCD_EnableSegment(3, 18);LCD_EnableSegment(3, 29);//5COL,6COL,10COL
00035e  210e              MOVS     r1,#0xe
000360  2003              MOVS     r0,#3
000362  f7fffffe          BL       LCD_EnableSegment
000366  2112              MOVS     r1,#0x12
000368  2003              MOVS     r0,#3
00036a  f7fffffe          BL       LCD_EnableSegment
00036e  211d              MOVS     r1,#0x1d
000370  2003              MOVS     r0,#3
000372  f7fffffe          BL       LCD_EnableSegment
;;;265    	SYS_Delay(335000);SYS_Delay(335000);
000376  4628              MOV      r0,r5
000378  f7fffffe          BL       SYS_Delay
00037c  4628              MOV      r0,r5
00037e  f7fffffe          BL       SYS_Delay
;;;266    }
000382  bd70              POP      {r4-r6,pc}
;;;267    
                          ENDP

                  |L5.900|
                          DCD      0x00000457
                  |L5.904|
000388  31313131          DCB      "1111111",0
00038c  31313100
                  |L5.912|
                          DCD      0x00051c98
                  |L5.916|
                          DCD      0x000008ae
                  |L5.920|
000398  32323232          DCB      "2222222",0
00039c  32323200
                  |L5.928|
                          DCD      0x00000d05
                  |L5.932|
0003a4  33333333          DCB      "3333333",0
0003a8  33333300
                  |L5.940|
                          DCD      0x0000115c
                  |L5.944|
0003b0  34343434          DCB      "4444444",0
0003b4  34343400
                  |L5.952|
                          DCD      0x000015b3
                  |L5.956|
0003bc  35353535          DCB      "5555555",0
0003c0  35353500
                  |L5.964|
                          DCD      0x00001a0a
                  |L5.968|
0003c8  4e4e4e4e          DCB      "NNNNNNN",0
0003cc  4e4e4e00
                  |L5.976|
                          DCD      0x00001e61
                  |L5.980|
0003d4  5a5a5a5a          DCB      "ZZZZZZZ",0
0003d8  5a5a5a00
                  |L5.988|
                          DCD      0x000022b8
                  |L5.992|
0003e0  2d2d2d2d          DCB      "-------",0
0003e4  2d2d2d00
                  |L5.1000|
                          DCD      0x0000270f
                  |L5.1004|
0003ec  2b2b2b2b          DCB      "+++++++",0
0003f0  2b2b2b00
                  |L5.1012|
0003f4  2a2a2a2a          DCB      "*******",0
0003f8  2a2a2a00

                          AREA ||i.Test_LCD_ONOFF||, CODE, READONLY, ALIGN=1

                  Test_LCD_ONOFF PROC
;;;143    
;;;144    void Test_LCD_ONOFF(int8_t onoff)
000000  b570              PUSH     {r4-r6,lr}
;;;145    {
000002  4606              MOV      r6,r0
;;;146    	int32_t i,j;
;;;147    	
;;;148    	for(i=0;i<4;i++)
000004  2500              MOVS     r5,#0
                  |L6.6|
;;;149    	{
;;;150    		for(j=0;j<40;j++)
000006  2400              MOVS     r4,#0
                  |L6.8|
;;;151    		{
;;;152    			if(onoff&0x1) 	{	LCD_EnableSegment(i, j);}
000008  07f0              LSLS     r0,r6,#31
;;;153    			else			{	LCD_DisableSegment(i, j);}
00000a  4621              MOV      r1,r4
00000c  4628              MOV      r0,r5
00000e  d002              BEQ      |L6.22|
000010  f7fffffe          BL       LCD_EnableSegment
000014  e001              B        |L6.26|
                  |L6.22|
000016  f7fffffe          BL       LCD_DisableSegment
                  |L6.26|
00001a  1c64              ADDS     r4,r4,#1              ;150
00001c  2c28              CMP      r4,#0x28              ;150
00001e  dbf3              BLT      |L6.8|
000020  1c6d              ADDS     r5,r5,#1              ;148
000022  2d04              CMP      r5,#4                 ;148
000024  dbef              BLT      |L6.6|
;;;154    //			SYS_Delay(10000);
;;;155    		}
;;;156    	}
;;;157    }
000026  bd70              POP      {r4-r6,pc}
;;;158    
                          ENDP


                          AREA ||i.main||, CODE, READONLY, ALIGN=2

                          REQUIRE _printf_pre_padding
                          REQUIRE _printf_percent
                          REQUIRE _printf_flags
                          REQUIRE _printf_widthprec
                          REQUIRE _printf_d
                          REQUIRE _printf_int_dec
                  main PROC
;;;267    
;;;268    int main(void)							   
000000  b5f0              PUSH     {r4-r7,lr}
000002  4874              LDR      r0,|L7.468|
;;;269    {
000004  b0a1              SUB      sp,sp,#0x84
000006  6802              LDR      r2,[r0,#0]
;;;270    	S_LCD_INIT lcdinit;
;;;271    	STR_UART_T param;
;;;272    	S_DRVRTC_TIME_DATA_T  sInitTime, sCurTime;
;;;273    
;;;274    	/* Enable HXT and LXT */
;;;275    	SYS_SetChipClockSrc((CLK_PWRCTL_HXT_EN | CLK_PWRCTL_LXT_EN), 1);
000008  2103              MOVS     r1,#3
00000a  07d2              LSLS     r2,r2,#31
00000c  17d3              ASRS     r3,r2,#31
00000e  4a72              LDR      r2,|L7.472|
000010  1c5b              ADDS     r3,r3,#1
000012  6093              STR      r3,[r2,#8]  ; lock_sts
000014  6893              LDR      r3,[r2,#8]  ; lock_sts
000016  2b00              CMP      r3,#0
000018  d005              BEQ      |L7.38|
00001a  2359              MOVS     r3,#0x59
00001c  6003              STR      r3,[r0,#0]
00001e  2316              MOVS     r3,#0x16
000020  6003              STR      r3,[r0,#0]
000022  2388              MOVS     r3,#0x88
000024  6003              STR      r3,[r0,#0]
                  |L7.38|
000026  4c6d              LDR      r4,|L7.476|
000028  6823              LDR      r3,[r4,#0]
00002a  430b              ORRS     r3,r3,r1
00002c  6023              STR      r3,[r4,#0]
00002e  6891              LDR      r1,[r2,#8]  ; lock_sts
000030  2500              MOVS     r5,#0
000032  2900              CMP      r1,#0
000034  d000              BEQ      |L7.56|
000036  6005              STR      r5,[r0,#0]
                  |L7.56|
000038  68e1              LDR      r1,[r4,#0xc]
;;;276    
;;;277    	// Wait HXT and LXT stable
;;;278    	while(SYS_CheckChipClockSrc(CLK_CLKSTATUS_LXT_STB | CLK_CLKSTATUS_HXT_STB) != 0) ;
00003a  2003              MOVS     r0,#3
00003c  4388              BICS     r0,r0,r1
00003e  d1fb              BNE      |L7.56|
;;;279    
;;;280    	/* Output a message on Hyperterminal using printf function */
;;;281    	printf("\n\r\n\r");
000040  a067              ADR      r0,|L7.480|
000042  f7fffffe          BL       __2printf
;;;282    	printf("*** 9G-NANO130 V1.00 Build by yuanxihua@21cn.com on ("__DATE__ " - " __TIME__ ")\n\r");
000046  4868              LDR      r0,|L7.488|
000048  f7fffffe          BL       __2printf
;;;283    	printf("*** 9G-NANO130 V1.00 Rebooting ...\n\r\n\r");
00004c  a067              ADR      r0,|L7.492|
00004e  f7fffffe          BL       __2printf
;;;284    
;;;285    	/* KEY Initialize */
;;;286    	GCR->PC_H_MFP = 0;
000052  4860              LDR      r0,|L7.468|
000054  38c0              SUBS     r0,r0,#0xc0
000056  6045              STR      r5,[r0,#4]
;;;287    	GPIOC->PUEN |= (1 << 12);
000058  486e              LDR      r0,|L7.532|
00005a  6a41              LDR      r1,[r0,#0x24]
00005c  2201              MOVS     r2,#1
00005e  0312              LSLS     r2,r2,#12
000060  4311              ORRS     r1,r1,r2
000062  6241              STR      r1,[r0,#0x24]
;;;288    	
;;;289    	if(GPIOC->PIN & (1 << 12))
000064  6900              LDR      r0,[r0,#0x10]
000066  04c0              LSLS     r0,r0,#19
000068  d501              BPL      |L7.110|
;;;290    	{
;;;291    		Test_GPIO();
00006a  f7fffffe          BL       Test_GPIO
                  |L7.110|
;;;292    	}
;;;293    	else
;;;294    	{
;;;295    		SYS_SelectIPClockSource_1(CLK_CLKSEL1_UART_MASK, CLK_CLKSEL1_UART_HXT);
00006e  2100              MOVS     r1,#0
000070  2003              MOVS     r0,#3
000072  f7fffffe          BL       SYS_SelectIPClockSource_1
;;;296    
;;;297    		/* UART Initialize */
;;;298    		MFP_UART0_TO_PORTA();
000076  2705              MOVS     r7,#5
000078  073f              LSLS     r7,r7,#28
00007a  6b79              LDR      r1,[r7,#0x34]
00007c  2077              MOVS     r0,#0x77
00007e  0600              LSLS     r0,r0,#24
000080  4381              BICS     r1,r1,r0
000082  2033              MOVS     r0,#0x33
000084  0640              LSLS     r0,r0,#25
000086  1808              ADDS     r0,r1,r0
000088  6378              STR      r0,[r7,#0x34]
;;;299    
;;;300    		param.u32BaudRate         = 115200;
00008a  20e1              MOVS     r0,#0xe1
00008c  0240              LSLS     r0,r0,#9
;;;301    		param.u32cDataBits        = DRVUART_DATABITS_8;
00008e  901b              STR      r0,[sp,#0x6c]
000090  2003              MOVS     r0,#3
;;;302    		param.u32cStopBits        = DRVUART_STOPBITS_1;
;;;303    		param.u32cParity          = DRVUART_PARITY_NONE;
;;;304    		param.u32cRxTriggerLevel  = DRVUART_FIFO_1BYTES;
;;;305    		param.u8TimeOut        	  = 0;
000092  901c              STR      r0,[sp,#0x70]
000094  951d              STR      r5,[sp,#0x74]         ;303
000096  951e              STR      r5,[sp,#0x78]         ;304
000098  951f              STR      r5,[sp,#0x7c]
00009a  a820              ADD      r0,sp,#0x80
00009c  7005              STRB     r5,[r0,#0]
;;;306    		UART_Init(UART0, &param);
00009e  a91b              ADD      r1,sp,#0x6c
0000a0  485d              LDR      r0,|L7.536|
0000a2  f7fffffe          BL       UART_Init
;;;307    		
;;;308    		/* RTC Initialize */
;;;309    		RTC_Init();	
0000a6  f7fffffe          BL       RTC_Init
;;;310    
;;;311    		/* Time Setting */
;;;312    		sInitTime.u32Year 		= 2012;
0000aa  485c              LDR      r0,|L7.540|
;;;313    		sInitTime.u32cMonth 	= 11;
0000ac  900a              STR      r0,[sp,#0x28]
0000ae  200b              MOVS     r0,#0xb
;;;314    		sInitTime.u32cDay 		= 1;
;;;315    		sInitTime.u32cHour 		= 12;
0000b0  9009              STR      r0,[sp,#0x24]
0000b2  200c              MOVS     r0,#0xc
;;;316    		sInitTime.u32cMinute 	= 21;
0000b4  9006              STR      r0,[sp,#0x18]
0000b6  2015              MOVS     r0,#0x15
;;;317    		sInitTime.u32cSecond 	= 0;
;;;318    		sInitTime.u32cDayOfWeek = DRVRTC_TUESDAY;
0000b8  9005              STR      r0,[sp,#0x14]
0000ba  2002              MOVS     r0,#2
0000bc  2601              MOVS     r6,#1                 ;314
;;;319    		sInitTime.u8cClockDisplay = DRVRTC_CLOCK_24;
0000be  9007              STR      r0,[sp,#0x1c]
0000c0  9608              STR      r6,[sp,#0x20]         ;315
0000c2  9504              STR      r5,[sp,#0x10]         ;318
0000c4  4668              MOV      r0,sp
0000c6  7306              STRB     r6,[r0,#0xc]
;;;320    
;;;321    		/* Initialization the RTC timer */
;;;322    		if(RTC_Open(&sInitTime) !=E_SUCCESS)
0000c8  a803              ADD      r0,sp,#0xc
0000ca  f7fffffe          BL       RTC_Open
0000ce  2800              CMP      r0,#0
0000d0  d005              BEQ      |L7.222|
;;;323    		{
;;;324    			printf("RTC Open Fail!!\n");
0000d2  a053              ADR      r0,|L7.544|
0000d4  f7fffffe          BL       __2printf
;;;325    			return false;
0000d8  2000              MOVS     r0,#0
                  |L7.218|
;;;326    		}
;;;327    		
;;;328    		/* LCD Initialize */
;;;329    		
;;;330    		/* Select LCD Clock Source From 32KHz */
;;;331    		SYS_SelectIPClockSource_1(CLK_CLKSEL1_LCD_MASK, CLK_CLKSEL1_LCD_LXT);
;;;332    
;;;333    		/* Select LCD Clock Source From 10KHz */
;;;334    		//SYS_SelectIPClockSource_1(CLK_CLKSEL1_LCD_MASK, CLK_CLKSEL1_LCD_LIRC);
;;;335    
;;;336    		/* Select LCD COMs, SEGs, V1 ~ V3, DH1, DH2 */
;;;337    		MFP_LCD_TYPEA();
;;;338    
;;;339    		/* LCD Initialize */
;;;340    		lcdinit.cpump_enable = true;
;;;341    		lcdinit.internal_bias = false;
;;;342    		lcdinit.cpump_freqdiv = LCD_CPUMP_DIV1;
;;;343    		lcdinit.cpump_voltage = LCD_CPVOl_3V;
;;;344    		lcdinit.bias = LCD_BIAS_THIRD;
;;;345    		lcdinit.mux = LCD_MUX_ONE_FOURTH;
;;;346    		lcdinit.freqdiv = LCD_FREQ_DIV64;
;;;347    		LCD_Init(&lcdinit);
;;;348    
;;;349    		RTC_Read(&sCurTime);
;;;350    				
;;;351    		printf("%d-%02d-%02d %02d:%02d:%02d\r",sCurTime.u32Year,sCurTime.u32cMonth,sCurTime.u32cDay,sCurTime.u32cHour,sCurTime.u32cMinute,sCurTime.u32cSecond);
;;;352    				
;;;353    		showTime(sCurTime.u32cHour, sCurTime.u32cMinute); 	//ʾʱ
;;;354    		LCD_EnableSegment(3, 38);//PLUS
;;;355    		LCD_Write("PM9GZY+");
;;;356    		SYS_Delay(335000);SYS_Delay(335000);SYS_Delay(335000);SYS_Delay(335000);SYS_Delay(335000);SYS_Delay(335000);
;;;357    
;;;358    		// 1 second
;;;359    		/* Set Tick setting */
;;;360    		RTC_SetTickMode(DRVRTC_TICK_1_SEC);
;;;361    
;;;362    		/* Enable RTC Tick Interrupt */
;;;363    		RTC_EnableInt(RTC_RIER_TIER);
;;;364    
;;;365    		/* The alarm time setting */	
;;;366    		sCurTime.u32cSecond = sCurTime.u32cSecond + 5; 
;;;367    					
;;;368    		RTC_WriteAlarm(&sCurTime);
;;;369    							
;;;370    		/* Enable RTC Alarm Interrupt */
;;;371    		RTC_EnableInt(RTC_RIER_AIER);
;;;372    		
;;;373    		SYS_SetClockDivider_0(CLK_CLKDIV0_USB_MASK, USB_CLK_DIVIDER(1));
;;;374    
;;;375    		/* Execute HID process */
;;;376    		HID_MainProcess();
;;;377    	}
;;;378    	return true;
;;;379    }
0000da  b021              ADD      sp,sp,#0x84
0000dc  bdf0              POP      {r4-r7,pc}
                  |L7.222|
0000de  2001              MOVS     r0,#1                 ;331
0000e0  2100              MOVS     r1,#0                 ;331
0000e2  0480              LSLS     r0,r0,#18             ;331
0000e4  f7fffffe          BL       SYS_SelectIPClockSource_1
0000e8  6b38              LDR      r0,[r7,#0x30]         ;337
0000ea  4b52              LDR      r3,|L7.564|
0000ec  4318              ORRS     r0,r0,r3              ;337
0000ee  6338              STR      r0,[r7,#0x30]         ;337
0000f0  6b78              LDR      r0,[r7,#0x34]         ;337
0000f2  1419              ASRS     r1,r3,#16             ;337
0000f4  4308              ORRS     r0,r0,r1              ;337
0000f6  6378              STR      r0,[r7,#0x34]         ;337
0000f8  494f              LDR      r1,|L7.568|
0000fa  63b9              STR      r1,[r7,#0x38]         ;337
0000fc  63f9              STR      r1,[r7,#0x3c]         ;337
0000fe  4835              LDR      r0,|L7.468|
000100  38c0              SUBS     r0,r0,#0xc0           ;337
000102  6802              LDR      r2,[r0,#0]            ;337
000104  120f              ASRS     r7,r1,#8              ;337
000106  433a              ORRS     r2,r2,r7              ;337
000108  6002              STR      r2,[r0,#0]            ;337
00010a  6842              LDR      r2,[r0,#4]            ;337
00010c  060f              LSLS     r7,r1,#24             ;337
00010e  433a              ORRS     r2,r2,r7              ;337
000110  6042              STR      r2,[r0,#4]            ;337
000112  6882              LDR      r2,[r0,#8]            ;337
000114  431a              ORRS     r2,r2,r3              ;337
000116  6082              STR      r2,[r0,#8]            ;337
000118  60c1              STR      r1,[r0,#0xc]          ;337
00011a  6901              LDR      r1,[r0,#0x10]         ;337
00011c  031a              LSLS     r2,r3,#12             ;337
00011e  4311              ORRS     r1,r1,r2              ;337
000120  6101              STR      r1,[r0,#0x10]         ;337
000122  6941              LDR      r1,[r0,#0x14]         ;337
000124  4a45              LDR      r2,|L7.572|
000126  4311              ORRS     r1,r1,r2              ;337
000128  6141              STR      r1,[r0,#0x14]         ;337
00012a  a808              ADD      r0,sp,#0x20           ;340
00012c  7406              STRB     r6,[r0,#0x10]         ;340
00012e  7445              STRB     r5,[r0,#0x11]         ;341
000130  2001              MOVS     r0,#1                 ;343
000132  0280              LSLS     r0,r0,#10             ;343
000134  9011              STR      r0,[sp,#0x44]         ;344
000136  2004              MOVS     r0,#4                 ;344
000138  900e              STR      r0,[sp,#0x38]         ;345
00013a  9510              STR      r5,[sp,#0x40]         ;344
00013c  2006              MOVS     r0,#6                 ;345
00013e  2510              MOVS     r5,#0x10              ;346
000140  900d              STR      r0,[sp,#0x34]         ;347
000142  950f              STR      r5,[sp,#0x3c]         ;347
000144  a80c              ADD      r0,sp,#0x30           ;347
000146  f7fffffe          BL       LCD_Init
00014a  a812              ADD      r0,sp,#0x48           ;349
00014c  f7fffffe          BL       RTC_Read
000150  9915              LDR      r1,[sp,#0x54]         ;351
000152  9814              LDR      r0,[sp,#0x50]         ;351
000154  9a13              LDR      r2,[sp,#0x4c]         ;351
000156  9202              STR      r2,[sp,#8]            ;351
000158  9100              STR      r1,[sp,#0]            ;351
00015a  9001              STR      r0,[sp,#4]            ;351
00015c  a038              ADR      r0,|L7.576|
00015e  9b17              LDR      r3,[sp,#0x5c]         ;351
000160  9a18              LDR      r2,[sp,#0x60]         ;351
000162  9919              LDR      r1,[sp,#0x64]         ;351
000164  f7fffffe          BL       __2printf
000168  9914              LDR      r1,[sp,#0x50]         ;353
00016a  9815              LDR      r0,[sp,#0x54]         ;353
00016c  f7fffffe          BL       showTime
000170  2126              MOVS     r1,#0x26              ;354
000172  2003              MOVS     r0,#3                 ;354
000174  f7fffffe          BL       LCD_EnableSegment
000178  a039              ADR      r0,|L7.608|
00017a  f7fffffe          BL       LCD_Write
00017e  4e3a              LDR      r6,|L7.616|
000180  4630              MOV      r0,r6                 ;356
000182  f7fffffe          BL       SYS_Delay
000186  4630              MOV      r0,r6                 ;356
000188  f7fffffe          BL       SYS_Delay
00018c  4630              MOV      r0,r6                 ;356
00018e  f7fffffe          BL       SYS_Delay
000192  4630              MOV      r0,r6                 ;356
000194  f7fffffe          BL       SYS_Delay
000198  4630              MOV      r0,r6                 ;356
00019a  f7fffffe          BL       SYS_Delay
00019e  4630              MOV      r0,r6                 ;356
0001a0  f7fffffe          BL       SYS_Delay
0001a4  2000              MOVS     r0,#0                 ;360
0001a6  f7fffffe          BL       RTC_SetTickMode
0001aa  2002              MOVS     r0,#2                 ;363
0001ac  f7fffffe          BL       RTC_EnableInt
0001b0  9813              LDR      r0,[sp,#0x4c]         ;366
0001b2  1d40              ADDS     r0,r0,#5              ;366
0001b4  9013              STR      r0,[sp,#0x4c]         ;368
0001b6  a812              ADD      r0,sp,#0x48           ;368
0001b8  f7fffffe          BL       RTC_WriteAlarm
0001bc  2001              MOVS     r0,#1                 ;371
0001be  f7fffffe          BL       RTC_EnableInt
0001c2  69e1              LDR      r1,[r4,#0x1c]         ;371
0001c4  20f0              MOVS     r0,#0xf0              ;373
0001c6  4381              BICS     r1,r1,r0              ;373
0001c8  4329              ORRS     r1,r1,r5              ;373
0001ca  61e1              STR      r1,[r4,#0x1c]         ;373
0001cc  f7fffffe          BL       HID_MainProcess
0001d0  2001              MOVS     r0,#1                 ;378
0001d2  e782              B        |L7.218|
;;;380    
                          ENDP

                  |L7.468|
                          DCD      0x50000100
                  |L7.472|
                          DCD      ||.data||
                  |L7.476|
                          DCD      0x50000200
                  |L7.480|
0001e0  0a0d0a0d          DCB      "\n\r\n\r",0
0001e4  00      
0001e5  00                DCB      0
0001e6  00                DCB      0
0001e7  00                DCB      0
                  |L7.488|
                          DCD      ||.constdata||
                  |L7.492|
0001ec  2a2a2a20          DCB      "*** 9G-NANO130 V1.00 Rebooting ...\n\r\n\r",0
0001f0  39472d4e
0001f4  414e4f31
0001f8  33302056
0001fc  312e3030
000200  20526562
000204  6f6f7469
000208  6e67202e
00020c  2e2e0a0d
000210  0a0d00  
000213  00                DCB      0
                  |L7.532|
                          DCD      0x50004080
                  |L7.536|
                          DCD      0x40050000
                  |L7.540|
                          DCD      0x000007dc
                  |L7.544|
000220  52544320          DCB      "RTC Open Fail!!\n",0
000224  4f70656e
000228  20466169
00022c  6c21210a
000230  00      
000231  00                DCB      0
000232  00                DCB      0
000233  00                DCB      0
                  |L7.564|
                          DCD      0x77770000
                  |L7.568|
                          DCD      0x77777777
                  |L7.572|
                          DCD      0x77700007
                  |L7.576|
000240  25642d25          DCB      "%d-%02d-%02d %02d:%02d:%02d\r",0
000244  3032642d
000248  25303264
00024c  20253032
000250  643a2530
000254  32643a25
000258  3032640d
00025c  00      
00025d  00                DCB      0
00025e  00                DCB      0
00025f  00                DCB      0
                  |L7.608|
000260  504d3947          DCB      "PM9GZY+",0
000264  5a592b00
                  |L7.616|
                          DCD      0x00051c98

                          AREA ||i.showTime||, CODE, READONLY, ALIGN=1

                  showTime PROC
;;;78     
;;;79     void showTime(uint32_t hour, uint32_t minute)
000000  2264              MOVS     r2,#0x64
;;;80     {
;;;81     	long long time;
;;;82     	time = hour * 100 + minute;
000002  4350              MULS     r0,r2,r0
000004  b510              PUSH     {r4,lr}               ;80
000006  1840              ADDS     r0,r0,r1
000008  2100              MOVS     r1,#0
;;;83     
;;;84     	LCD_Number(time);
00000a  f7fffffe          BL       LCD_Number
;;;85     	LCD_EnableSegment(3, 29);
00000e  211d              MOVS     r1,#0x1d
000010  2003              MOVS     r0,#3
000012  f7fffffe          BL       LCD_EnableSegment
;;;86     }
000016  bd10              POP      {r4,pc}
;;;87     
                          ENDP


                          AREA ||.constdata||, DATA, READONLY, ALIGN=2

000000  2a2a2a20          DCB      0x2a,0x2a,0x2a,0x20
000004  39472d4e          DCB      0x39,0x47,0x2d,0x4e
000008  414e4f31          DCB      0x41,0x4e,0x4f,0x31
00000c  33302056          DCB      0x33,0x30,0x20,0x56
000010  312e3030          DCB      0x31,0x2e,0x30,0x30
000014  20427569          DCB      0x20,0x42,0x75,0x69
000018  6c642062          DCB      0x6c,0x64,0x20,0x62
00001c  79207975          DCB      0x79,0x20,0x79,0x75
000020  616e7869          DCB      0x61,0x6e,0x78,0x69
000024  68756140          DCB      0x68,0x75,0x61,0x40
000028  3231636e          DCB      0x32,0x31,0x63,0x6e
00002c  2e636f6d          DCB      0x2e,0x63,0x6f,0x6d
000030  206f6e20          DCB      0x20,0x6f,0x6e,0x20
000034  284e6f76          DCB      0x28,0x4e,0x6f,0x76
000038  20203120          DCB      0x20,0x20,0x31,0x20
00003c  32303132          DCB      0x32,0x30,0x31,0x32
000040  202d2032          DCB      0x20,0x2d,0x20,0x32
000044  333a3237          DCB      0x33,0x3a,0x32,0x37
000048  3a333729          DCB      0x3a,0x33,0x37,0x29
00004c  0a0d00            DCB      0x0a,0x0d,0x00

                          AREA ||.data||, DATA, ALIGN=2

                  g_u32TICK
                          DCD      0x00000000
                  g_bAlarm
                          DCD      0x00000000
                  lock_sts
                          DCD      0x00000000

;*** Start embedded assembler ***

#line 1 "..\\src\\main.c"
	AREA ||.rev16_text||, CODE, READONLY
	THUMB
	EXPORT |__asm___6_main_c_b42cd2a4____REV16|
#line 115 "C:\\Keil\\ARM\\CMSIS\\Include\\core_cmInstr.h"
|__asm___6_main_c_b42cd2a4____REV16| PROC
#line 116

 rev16 r0, r0
 bx lr
	ENDP
	AREA ||.revsh_text||, CODE, READONLY
	THUMB
	EXPORT |__asm___6_main_c_b42cd2a4____REVSH|
#line 130
|__asm___6_main_c_b42cd2a4____REVSH| PROC
#line 131

 revsh r0, r0
 bx lr
	ENDP

;*** End   embedded assembler ***

                  __ARM_use_no_argv EQU 0
