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

📄 rtc_test.txt

📁 s3c24a0固件测试代码 ? ? ? ? ?啊 
💻 TXT
📖 第 1 页 / 共 4 页
字号:
000328  64657a69          DCB      "ized"
00032c  2e2e2e20          DCB      " ..."
000330  0000000a          DCB      "\n\0\0\0"
                  |L1.820|
000334  72616559          DCB      "Year"
000338  77542820          DCB      " (Tw"
00033c  6964206f          DCB      "o di"
000340  20746967          DCB      "git "
000344  20656874          DCB      "the "
000348  6574616c          DCB      "late"
00034c  5b297473          DCB      "st)["
000350  3f3f7830          DCB      "0x??"
000354  203a205d          DCB      "] : "
000358  00000000          DCB      "\0\0\0\0"
                  |L1.860|
00035c  746e6f4d          DCB      "Mont"
000360  20202068          DCB      "h   "
000364  20202020          DCB      "    "
000368  20202020          DCB      "    "
00036c  20202020          DCB      "    "
000370  20202020          DCB      "    "
000374  5b202020          DCB      "   ["
000378  3f3f7830          DCB      "0x??"
00037c  203a205d          DCB      "] : "
000380  00000000          DCB      "\0\0\0\0"
                  |L1.900|
000384  00000084          DCD      ||.constdata$1|| + 132
                  |L1.904|
000388  20796144          DCB      "Day "
00038c  7420666f          DCB      "of t"
000390  77206568          DCB      "he w"
000394  206b6565          DCB      "eek "
000398  20202020          DCB      "    "
00039c  20202020          DCB      "    "
0003a0  20202020          DCB      "    "
0003a4  20202020          DCB      "    "
0003a8  203a2020          DCB      "  : "
0003ac  00000000          DCB      "\0\0\0\0"
                  |L1.944|
0003b0  65746144          DCB      "Date"
0003b4  20202020          DCB      "    "
0003b8  20202020          DCB      "    "
0003bc  20202020          DCB      "    "
0003c0  20202020          DCB      "    "
0003c4  20202020          DCB      "    "
0003c8  305b2020          DCB      "  [0"
0003cc  5d3f3f78          DCB      "x??]"
0003d0  00203a20          DCB      " : \0"
                  |L1.980|
0003d4  72756f48          DCB      "Hour"
0003d8  20202020          DCB      "    "
0003dc  20202020          DCB      "    "
0003e0  20202020          DCB      "    "
0003e4  20202020          DCB      "    "
0003e8  20202020          DCB      "    "
0003ec  5b202020          DCB      "   ["
0003f0  3f3f7830          DCB      "0x??"
0003f4  203a205d          DCB      "] : "
0003f8  00000000          DCB      "\0\0\0\0"
                  |L1.1020|
0003fc  756e694d          DCB      "Minu"
000400  20206574          DCB      "te  "
000404  20202020          DCB      "    "
000408  20202020          DCB      "    "
00040c  20202020          DCB      "    "
000410  20202020          DCB      "    "
000414  5b202020          DCB      "   ["
000418  3f3f7830          DCB      "0x??"
00041c  203a205d          DCB      "] : "
000420  00000000          DCB      "\0\0\0\0"
                  |L1.1060|
000424  6f636553          DCB      "Seco"
000428  2020646e          DCB      "nd  "
00042c  20202020          DCB      "    "
000430  20202020          DCB      "    "
000434  20202020          DCB      "    "
000438  20202020          DCB      "    "
00043c  5b202020          DCB      "   ["
000440  3f3f7830          DCB      "0x??"
000444  203a205d          DCB      "] : "
000448  00000000          DCB      "\0\0\0\0"
                          ENDP

                  Display_Rtc PROC
;;;83     void Display_Rtc(void)
;;;84     {
00044c  e92d4ff0          STMFD    sp!,{r4-r11,lr}
000450  e24dd014          SUB      sp,sp,#0x14
;;;85     //    int year,tmp;
;;;86         	int year,tmp,key;                   
;;;87         	int month,date,weekday,hour,min,sec;
;;;88     
;;;89         	Uart_Printf("[ Display RTC Test ]\n");
000454  e28f0f4e          ADR      r0,|L1.1428|
000458  ebfffffe          BL       _printf
;;;90         	Uart_Printf("0. RTC Initialize     1. RTC Time Setting    2. Only RTC Display\n\n");
00045c  e59f0148          LDR      r0,|L1.1452|
000460  ebfffffe          BL       _printf
;;;91         	Uart_Printf("Selet : ");
000464  e28f0f51          ADR      r0,|L1.1456|
000468  ebfffffe          BL       _printf
;;;92         	key = Uart_GetIntNum();
00046c  ebfffffe          BL       Uart_GetIntNum
000470  e58d0010          STR      r0,[sp,#0x10]
;;;93         	Uart_Printf("\n\n");
000474  e28f0f50          ADR      r0,|L1.1468|
000478  ebfffffe          BL       _printf
;;;94         
;;;95         	isInit = key;
00047c  e59f013c          LDR      r0,|L1.1472|
000480  e59d1010          LDR      r1,[sp,#0x10]
000484  e5801000          STR      r1,[r0,#0]  ; isInit
;;;96     
;;;97         	if(isInit == 0)
000488  e59f0130          LDR      r0,|L1.1472|
00048c  e5900000          LDR      r0,[r0,#0]  ; isInit
000490  e3500000          CMP      r0,#0
000494  1a000004          BNE      |L1.1196|
;;;98         	{
;;;99             	Rtc_Init();
000498  ebfffffe          BL       Rtc_Init
;;;100            	isInit = 2;
00049c  e3a00002          MOV      r0,#2
0004a0  e59f1118          LDR      r1,|L1.1472|
0004a4  e5810000          STR      r0,[r1,#0]  ; isInit
0004a8  ea000007          B        |L1.1228|
;;;101        	}
;;;102        
;;;103        	else if(isInit == 1)
                  |L1.1196|
0004ac  e59f010c          LDR      r0,|L1.1472|
0004b0  e5900000          LDR      r0,[r0,#0]  ; isInit
0004b4  e3500001          CMP      r0,#1
0004b8  1a000003          BNE      |L1.1228|
;;;104        	{
;;;105            	Rtc_TimeSet();
0004bc  ebfffffe          BL       Rtc_TimeSet
;;;106            	isInit = 2;        
0004c0  e3a00002          MOV      r0,#2
0004c4  e59f10f4          LDR      r1,|L1.1472|
0004c8  e5810000          STR      r0,[r1,#0]  ; isInit
;;;107        	}
;;;108    
;;;109        	rRTCCON = 0x01;    //No reset, Merge BCD counters, 1/32768, RTC Control enable
                  |L1.1228|
0004cc  e3a00001          MOV      r0,#1
0004d0  e51f11dc          LDR      r1,|L1.764|
0004d4  e5c10040          STRB     r0,[r1,#0x40]
;;;110    	  Uart_Printf("rtcrst = %08x\n",rRTCRST);
0004d8  e1c10000          BIC      r0,r1,r0
0004dc  e5d0006c          LDRB     r0,[r0,#0x6c]
0004e0  e1a01000          MOV      r1,r0
0004e4  e28f00d8          ADR      r0,|L1.1476|
0004e8  ebfffffe          BL       _printf
;;;111    
;;;112    
;;;113    	
;;;114        	while(!Uart_GetKey())
0004ec  e1a00000          NOP      
                  |L1.1264|
0004f0  ebfffffe          BL       Uart_GetKey
0004f4  e3500000          CMP      r0,#0
0004f8  1a000020          BNE      |L1.1408|
;;;115        	{    
;;;116            	while(1)
0004fc  e1a00000          NOP      
                  |L1.1280|
000500  e1a00000          NOP      
;;;117            	{
;;;118                		if(rBCDYEAR==0x99) 
000504  e51f0210          LDR      r0,|L1.764|
000508  e5d00088          LDRB     r0,[r0,#0x88]
00050c  e3500099          CMP      r0,#0x99
000510  1a000001          BNE      |L1.1308|
;;;119                    		year = 0x1999;
000514  e59f50b8          LDR      r5,|L1.1492|
000518  ea000002          B        |L1.1320|
;;;120                		else 
;;;121                    		year    = 0x2000 + rBCDYEAR;
                  |L1.1308|
00051c  e51f0228          LDR      r0,|L1.764|
000520  e5d00088          LDRB     r0,[r0,#0x88]
000524  e2805d80          ADD      r5,r0,#0x2000
;;;122                			month   = rBCDMON;
                  |L1.1320|
000528  e51f0234          LDR      r0,|L1.764|
00052c  e5d08084          LDRB     r8,[r0,#0x84]
;;;123                			weekday = rBCDDAY;
000530  e5d07080          LDRB     r7,[r0,#0x80]
;;;124                			date    = rBCDDATE;
000534  e5d0907c          LDRB     r9,[r0,#0x7c]
;;;125                			hour    = rBCDHOUR;
000538  e5d0a078          LDRB     r10,[r0,#0x78]
;;;126                			min     = rBCDMIN;
00053c  e5d0b074          LDRB     r11,[r0,#0x74]
;;;127                			sec     = rBCDSEC;
000540  e5d04070          LDRB     r4,[r0,#0x70]
;;;128                
;;;129                			if(sec!=tmp)                //Same time is not display
000544  e1540006          CMP      r4,r6
000548  0a000001          BEQ      |L1.1364|
;;;130                			{
;;;131                    			tmp = sec;
00054c  e1a06004          MOV      r6,r4
;;;132                    		break;
000550  ea000000          B        |L1.1368|
;;;133                			}         
;;;134    
;;;135            	}
                  |L1.1364|
000554  eaffffe9          B        |L1.1280|
;;;136          	Uart_Printf("%2x : %2x : %2x  %10s,  %2x/%2x/%4x\n",hour,min,sec,day[weekday],month,date,year);
                  |L1.1368|
000558  e59f0078          LDR      r0,|L1.1496|
00055c  e7900107          LDR      r0,[r0,r7,LSL #2]
000560  e1a03004          MOV      r3,r4
000564  e1a0200b          MOV      r2,r11
000568  e1a0100a          MOV      r1,r10
00056c  e88d0301          STMIA    sp,{r0,r8,r9}
000570  e28f0064          ADR      r0,|L1.1500|
000574  e58d500c          STR      r5,[sp,#0xc]
000578  ebfffffe          BL       _printf
;;;137            //Uart_Printf("%2x : %2x : %2x  %9s,  %2x/%2x/%4x     rBCDDATE = %x, weekday= %x\n",hour,min,sec,day[weekday],month,date,year,rBCDDATE,weekday);        
;;;138        	}
00057c  eaffffdb          B        |L1.1264|
;;;139        	rRTCCON = 0x0; //No reset, Merge BCD counters, 1/32768, RTC Control disable(for power consumption)
                  |L1.1408|
000580  e3a00000          MOV      r0,#0
000584  e51f1290          LDR      r1,|L1.764|
000588  e5c10040          STRB     r0,[r1,#0x40]
;;;140    }
00058c  e28dd014          ADD      sp,sp,#0x14
000590  e8bd8ff0          LDMFD    sp!,{r4-r11,pc}
                  |L1.1428|
000594  6944205b          DCB      "[ Di"
000598  616c7073          DCB      "spla"
00059c  54522079          DCB      "y RT"
0005a0  65542043          DCB      "C Te"
0005a4  5d207473          DCB      "st ]"
0005a8  0000000a          DCB      "\n\0\0\0"
                  |L1.1452|
0005ac  000000d4          DCD      ||.constdata$1|| + 212
                  |L1.1456|
0005b0  656c6553          DCB      "Sele"
0005b4  203a2074          DCB      "t : "
0005b8  00000000          DCB      "\0\0\0\0"
                  |L1.1468|
0005bc  00000a0a          DCB      "\n\n\0\0"
                  |L1.1472|
0005c0  00000000          DCD      isInit
                  |L1.1476|
0005c4  72637472          DCB      "rtcr"
0005c8  3d207473          DCB      "st ="
0005cc  38302520          DCB      " %08"
0005d0  00000a78          DCB      "x\n\0\0"
                  |L1.1492|
0005d4  00001999          DCD      0x00001999
                  |L1.1496|
0005d8  00000000          DCD      ||day||
                  |L1.1500|
0005dc  20783225          DCB      "%2x "
0005e0  3225203a          DCB      ": %2"
0005e4  203a2078          DCB      "x : "
0005e8  20783225          DCB      "%2x "
0005ec  30312520          DCB      " %10"
0005f0  20202c73          DCB      "s,  "
0005f4  2f783225          DCB      "%2x/"
0005f8  2f783225          DCB      "%2x/"
0005fc  0a783425          DCB      "%4x\n"
000600  00000000          DCB      "\0\0\0\0"
                          ENDP

                  EINT0_int PROC
;;;337    void __irq EINT0_int(void)
;;;338    {
000604  e92d500f          STMFD    sp!,{r0-r3,r12,lr}
;;;339        	rEINTMASK=rEINTMASK|(BIT_EINTPEND_EINT0);
000608  e59f0068          LDR      r0,|L1.1656|
00060c  e5900034          LDR      r0,[r0,#0x34]
000610  e3800001          ORR      r0,r0,#1
000614  e59f105c          LDR      r1,|L1.1656|
000618  e5810034          STR      r0,[r1,#0x34]
;;;340        	rINTMSK=rINTMSK|(BIT_EINT0_2);
00061c  e2410646          SUB      r0,r1,#0x4600000
000620  e5900008          LDR      r0,[r0,#8]
000624  e3800001          ORR      r0,r0,#1
000628  e2411646          SUB      r1,r1,#0x4600000
00062c  e5810008          STR      r0,[r1,#8]
;;;341        	ClearPending(BIT_EINT0_2);
000630  e3a00001          MOV      r0,#1
000634  e1c11000          BIC      r1,r1,r0
000638  e5810000          STR      r0,[r1,#0]
00063c  e1c10000          BIC      r0,r1,r0
000640  e5900010          LDR      r0,[r0,#0x10]
000644  e5810010          STR      r0,[r1,#0x10]
000648  e1a00001          MOV      r0,r1
00064c  e5900010          LDR      r0,[r0,#0x10]
;;;342        	rEINTPEND=BIT_EINTPEND_EINT0;
000650  e3a00001          MOV      r0,#1
000654  e2811646          ADD      r1,r1,#0x4600000
000658  e5810038          STR      r0,[r1,#0x38]
;;;343        	Uart_Printf("EINT0 interrupt is requested for RTC round RESET !\n");
00065c  e28f0018          ADR      r0,|L1.1660|
000660  ebfffffe          BL       _printf
;;;344    
;;;345    	 rRTCRST = (1<<3) | 3;   //Round second reset enable, over than 30 sec
000664  e3a0000b          MOV      r0,#0xb
000668  e51f1374          LDR      r1,|L1.764|
00066c  e5c1006c          STRB     r0,[r1,#0x6c]
;;;346    
;;;347    
;;;348    }
000670  e8bd500f          LDMFD    sp!,{r0-r3,r12,lr}
000674  e25ef004          SUBS     pc,lr,#4
                  |L1.1656|
000678  44800000          DCD      0x44800000
                  |L1.1660|
00067c  544e4945          DCB      "EINT"
000680  6e692030          DCB      "0 in"
000684  72726574          DCB      "terr"
000688  20747075          DCB      "upt "
00068c  72207369          DCB      "is r"
000690  65757165          DCB      "eque"
000694  64657473          DCB      "sted"
000698  726f6620          DCB      " for"
00069c  43545220          DCB      " RTC"
0006a0  756f7220          DCB      " rou"
0006a4  5220646e          DCB      "nd R"
0006a8  54455345          DCB      "ESET"
0006ac  000a2120          DCB      " !\n\0"
                          ENDP

                  RndRst_Rtc PROC

⌨️ 快捷键说明

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