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

📄 rtc.txt

📁 SMDK2442所有设备的驱动测试程序。运行monitor程序
💻 TXT
📖 第 1 页 / 共 4 页
字号:
0008cc  65746641          DCB      "Afte"
0008d0  20392072          DCB      "r 9 "
0008d4  2c636573          DCB      "sec,"
0008d8  616c6120          DCB      " ala"
0008dc  69206d72          DCB      "rm i"
0008e0  7265746e          DCB      "nter"
0008e4  74707572          DCB      "rupt"
0008e8  6c697720          DCB      " wil"
0008ec  636f206c          DCB      "l oc"
0008f0  2e727563          DCB      "cur."
0008f4  000a202e          DCB      ". \n\0"
                  |L1.2296|
0008f8  00000000          DCD      Rtc_Int
                  |L1.2300|
0008fc  31fff000          DCD      0x31fff000
                          ENDP

                  Rtc_Tick PROC
;;;262    void __irq Rtc_Tick(void)
;;;263    {
000900  e92d500f          STMFD    sp!,{r0-r3,r12,lr}
;;;264        rSRCPND = BIT_TICK;   
000904  e3a00f40          MOV      r0,#0x100
000908  e3a0144a          MOV      r1,#0x4a000000
00090c  e5810000          STR      r0,[r1,#0]
;;;265        rINTPND = BIT_TICK;
000910  e3a00f40          MOV      r0,#0x100
000914  e3a0144a          MOV      r1,#0x4a000000
000918  e5810010          STR      r0,[r1,#0x10]
;;;266        rINTPND;
00091c  e3a0044a          MOV      r0,#0x4a000000
000920  e5900010          LDR      r0,[r0,#0x10]
;;;267    
;;;268        Uart_Printf("\b\b\b\b\b\b\b%03d sec",sec_tick++);
000924  e59f0024          LDR      r0,|L1.2384|
000928  e5900000          LDR      r0,[r0,#0]  ; sec_tick
00092c  e2803001          ADD      r3,r0,#1
000930  e59f0018          LDR      r0,|L1.2384|
000934  e5902000          LDR      r2,[r0,#0]  ; sec_tick
000938  e5803000          STR      r3,[r0,#0]  ; sec_tick
00093c  e1a01002          MOV      r1,r2
000940  e28f000c          ADR      r0,|L1.2388|
000944  ebfffffe          BL       Uart_Printf
;;;269    }
000948  e8bd500f          LDMFD    sp!,{r0-r3,r12,lr}
00094c  e25ef004          SUBS     pc,lr,#4
                  |L1.2384|
000950  00000004          DCD      ||.bss$2|| + 4
                  |L1.2388|
000954  08080808          DCB      "\b\b\b\b"
000958  25080808          DCB      "\b\b\b%"
00095c  20643330          DCB      "03d "
000960  00636573          DCB      "sec\0"
                          ENDP

                  Test_Rtc_Tick PROC
;;;220    void Test_Rtc_Tick(void)
;;;221    {
000964  e92d4008          STMFD    sp!,{r3,lr}
;;;222        Uart_Printf("[ RTC Tick interrupt(1 sec) test for S3C2442 ]\n");
000968  e28f007c          ADR      r0,|L1.2540|
00096c  ebfffffe          BL       Uart_Printf
;;;223        Uart_Printf("Press any key to exit.\n"); 
000970  e28f00a4          ADR      r0,|L1.2588|
000974  ebfffffe          BL       Uart_Printf
;;;224        Uart_Printf("\n");  
000978  e24f0f6a          ADR      r0,|L1.2008|
00097c  ebfffffe          BL       Uart_Printf
;;;225        Uart_Printf("\n");      
000980  e24f0f6c          ADR      r0,|L1.2008|
000984  ebfffffe          BL       Uart_Printf
;;;226        Uart_Printf("   ");    
000988  e28f00a4          ADR      r0,|L1.2612|
00098c  ebfffffe          BL       Uart_Printf
;;;227            
;;;228        pISR_TICK = (unsigned)Rtc_Tick;
000990  e59f00a0          LDR      r0,|L1.2616|
000994  e51f10a0          LDR      r1,|L1.2300|
000998  e5810f40          STR      r0,[r1,#0xf40]
;;;229        sec_tick  = 1;
00099c  e3a00001          MOV      r0,#1
0009a0  e51f1058          LDR      r1,|L1.2384|
0009a4  e5810000          STR      r0,[r1,#0]  ; sec_tick
;;;230        rINTMSK   = ~(BIT_TICK); 
0009a8  e3e00f40          MVN      r0,#0x100
0009ac  e3a0144a          MOV      r1,#0x4a000000
0009b0  e5810008          STR      r0,[r1,#8]
;;;231        rRTCCON   = 0x0;            //No reset[3], Merge BCD counters[2], BCD clock select XTAL[1], RTC Control disable[0]
0009b4  e3a00000          MOV      r0,#0
0009b8  e3a01457          MOV      r1,#0x57000000
0009bc  e5c10040          STRB     r0,[r1,#0x40]
;;;232        rTICNT    = (1<<7) + 127;   //Tick time interrupt enable, Tick time count value 127
0009c0  e3a000ff          MOV      r0,#0xff
0009c4  e3a01457          MOV      r1,#0x57000000
0009c8  e5c10044          STRB     r0,[r1,#0x44]
;;;233                                    //Period = (n + 1) / 128 second    n:Tick time count value(1~127)
;;;234        Uart_Getch();
0009cc  ebfffffe          BL       Uart_Getch
;;;235        
;;;236        rINTMSK   = BIT_ALLMSK;
0009d0  e3e00000          MVN      r0,#0
0009d4  e3a0144a          MOV      r1,#0x4a000000
0009d8  e5810008          STR      r0,[r1,#8]
;;;237        rRTCCON   = 0x0;            //No reset[3], Merge BCD counters[2], BCD clock select XTAL[1], RTC Control disable[0]
0009dc  e3a00000          MOV      r0,#0
0009e0  e3a01457          MOV      r1,#0x57000000
0009e4  e5c10040          STRB     r0,[r1,#0x40]
;;;238    }
0009e8  e8bd8008          LDMFD    sp!,{r3,pc}
                  |L1.2540|
0009ec  5452205b          DCB      "[ RT"
0009f0  69542043          DCB      "C Ti"
0009f4  69206b63          DCB      "ck i"
0009f8  7265746e          DCB      "nter"
0009fc  74707572          DCB      "rupt"
000a00  73203128          DCB      "(1 s"
000a04  20296365          DCB      "ec) "
000a08  74736574          DCB      "test"
000a0c  726f6620          DCB      " for"
000a10  43335320          DCB      " S3C"
000a14  32343432          DCB      "2442"
000a18  000a5d20          DCB      " ]\n\0"
                  |L1.2588|
000a1c  73657250          DCB      "Pres"
000a20  6e612073          DCB      "s an"
000a24  656b2079          DCB      "y ke"
000a28  6f742079          DCB      "y to"
000a2c  69786520          DCB      " exi"
000a30  000a2e74          DCB      "t.\n\0"
                  |L1.2612|
000a34  00202020          DCB      "   \0"
                  |L1.2616|
000a38  00000000          DCD      Rtc_Tick
                          ENDP

                  EINT0_int PROC
;;;241    void __irq EINT0_int(void)
;;;242    {
000a3c  e92d0003          STMFD    sp!,{r0,r1}
;;;243        rSRCPND = BIT_EINT0;   
000a40  e3a00001          MOV      r0,#1
000a44  e3a0144a          MOV      r1,#0x4a000000
000a48  e5810000          STR      r0,[r1,#0]
;;;244        rINTPND = BIT_EINT0;
000a4c  e3a00001          MOV      r0,#1
000a50  e3a0144a          MOV      r1,#0x4a000000
000a54  e5810010          STR      r0,[r1,#0x10]
;;;245        rINTPND;
000a58  e3a0044a          MOV      r0,#0x4a000000
000a5c  e5900010          LDR      r0,[r0,#0x10]
;;;246    
;;;247        rRTCRST = (1<<3) | 3;   //Round second reset enable, over than 30 sec
000a60  e3a0000b          MOV      r0,#0xb
000a64  e3a01457          MOV      r1,#0x57000000
000a68  e5c1006c          STRB     r0,[r1,#0x6c]
;;;248    }
000a6c  e8bd0003          LDMFD    sp!,{r0,r1}
000a70  e25ef004          SUBS     pc,lr,#4
                          ENDP



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

                  ||.data$0||
                  ||day||
                          DCD      ||.constdata$1||
                          DCD      ||.constdata$1||+0x2
                          DCD      ||.constdata$1||+0x9
                          DCD      ||.constdata$1||+0x10
                          DCD      ||.constdata$1||+0x18
                          DCD      ||.constdata$1||+0x22
                          DCD      ||.constdata$1||+0x2b
                          DCD      ||.constdata$1||+0x32
                  isInit
                          DCD      0x00000002
                  func_rtc_test
                          DCD      Test_Rtc_Alarm
                          DCD      ||.constdata$1||+0x3b
                          DCD      Display_Rtc
                          DCD      ||.constdata$1||+0x4b
                          DCD      Test_Rtc_Tick
                          DCD      ||.constdata$1||+0x5b
                          DCD      0x00000000
                          DCD      0x00000000


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

                  ||.constdata$1||
                          DCB      0x20,0x00
                          DCB      0x53,0x75,0x6e,0x64
                          DCB      0x61,0x79,0x00
                          DCB      0x4d,0x6f,0x6e,0x64
                          DCB      0x61,0x79,0x00
                          DCB      0x54,0x75,0x65,0x73
                          DCB      0x64,0x61,0x79,0x00
                          DCB      0x57,0x65,0x64,0x6e
                          DCB      0x65,0x73,0x64,0x61
                          DCB      0x79,0x00
                          DCB      0x54,0x68,0x75,0x72
                          DCB      0x73,0x64,0x61,0x79
                          DCB      0x00
                          DCB      0x46,0x72,0x69,0x64
                          DCB      0x61,0x79,0x00
                          DCB      0x53,0x61,0x74,0x75
                          DCB      0x72,0x64,0x61,0x79
                          DCB      0x00
                          DCB      0x52,0x54,0x43,0x20
                          DCB      0x41,0x6c,0x61,0x72
                          DCB      0x6d,0x20,0x20,0x20
                          DCB      0x20,0x20,0x20,0x00
                          DCB      0x52,0x54,0x43,0x20
                          DCB      0x44,0x69,0x73,0x70
                          DCB      0x6c,0x61,0x79,0x20
                          DCB      0x20,0x20,0x20,0x00
                          DCB      0x52,0x54,0x43,0x20
                          DCB      0x54,0x69,0x63,0x6b
                          DCB      0x20,0x20,0x20,0x20
                          DCB      0x20,0x20,0x20,0x00
                          DCB      0x00
                          DCB      0x0a,0x31,0x3a,0x53
                          DCB      0x75,0x6e,0x64,0x61
                          DCB      0x79,0x20,0x20,0x32
                          DCB      0x3a,0x4d,0x6f,0x6e
                          DCB      0x64,0x61,0x79,0x20
                          DCB      0x20,0x33,0x3a,0x54
                          DCB      0x68,0x65,0x73,0x64
                          DCB      0x61,0x79,0x20,0x20
                          DCB      0x34,0x3a,0x57,0x65
                          DCB      0x64,0x6e,0x65,0x73
                          DCB      0x64,0x61,0x79,0x20
                          DCB      0x20,0x35,0x3a,0x54
                          DCB      0x68,0x75,0x72,0x73
                          DCB      0x64,0x61,0x79,0x20
                          DCB      0x20,0x36,0x3a,0x46
                          DCB      0x72,0x69,0x64,0x61
                          DCB      0x79,0x20,0x20,0x37
                          DCB      0x3a,0x53,0x61,0x74
                          DCB      0x75,0x72,0x64,0x61
                          DCB      0x79,0x0a,0x00
                          DCB      0x00
                          DCB      0x30,0x2e,0x20,0x52
                          DCB      0x54,0x43,0x20,0x49
                          DCB      0x6e,0x69,0x74,0x69
                          DCB      0x61,0x6c,0x69,0x7a
                          DCB      0x65,0x20,0x20,0x20
                          DCB      0x20,0x20,0x31,0x2e
                          DCB      0x20,0x52,0x54,0x43
                          DCB      0x20,0x54,0x69,0x6d
                          DCB      0x65,0x20,0x53,0x65
                          DCB      0x74,0x74,0x69,0x6e
                          DCB      0x67,0x20,0x20,0x20
                          DCB      0x20,0x32,0x2e,0x20
                          DCB      0x4f,0x6e,0x6c,0x79
                          DCB      0x20,0x52,0x54,0x43
                          DCB      0x20,0x44,0x69,0x73
                          DCB      0x70,0x6c,0x61,0x79
                          DCB      0x0a,0x0a,0x00
                          DCB      0x00


                          AREA ||.bss||, NOINIT, ALIGN=2

                  isRtcInt
                  ||.bss$2||
                          % 4
                  sec_tick
                          % 4


        END

⌨️ 快捷键说明

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