📄 sleep.txt
字号:
;;;233 rGPFUP = 0xf5;//0xf5;
0005b4 e3a000f5 MOV r0,#0xf5
0005b8 e3a01456 MOV r1,#0x56000000
0005bc e5810058 STR r0,[r1,#0x58]
;;;234 //rGPFUP = 0xf1;//0xf1;
;;;235 Uart_Printf("rGPFCON=%x rGPFDAT=%x rGPFUP=%x\n", rGPFCON, rGPFDAT, rGPFUP);
0005c0 e3a00456 MOV r0,#0x56000000
0005c4 e5900058 LDR r0,[r0,#0x58]
0005c8 e1a03000 MOV r3,r0
0005cc e3a00456 MOV r0,#0x56000000
0005d0 e5900054 LDR r0,[r0,#0x54]
0005d4 e1a02000 MOV r2,r0
0005d8 e3a00456 MOV r0,#0x56000000
0005dc e5900050 LDR r0,[r0,#0x50]
0005e0 e1a01000 MOV r1,r0
0005e4 e28f0f78 ADR r0,|L1.1996|
0005e8 ebfffffe BL Uart_Printf
;;;236
;;;237 #if 1 // If CPU Board is rev0.19, The EINT20 is used for USB control signal(Changed to output low, pu-disable)
;;;238 //*** PORT G GROUP
;;;239 // [15:EINT23] [14:EINT22] [13:EINT21] [12:GPIO out] [11:EINT19] [10:nCD_SD] [9:DMAMODE] [8:DMASTART]
;;;240 // [7:KBDSPICLK] [6:KBDSPIMOSI] [5:KBDSPIMISO] [4:LCD_PWREN] [3:EINT11] [2:nSS_SPI] [1:IRQ_LAN] [0:IRQ_PCMCIA]
;;;241 // * 5V tol. pad(GPG[13:11]) should be output L
;;;242 // * GPG[15:13]:NAND boot config, EINT19:ext pU, nCD_SD:ext pU, EINT11:ext pU
;;;243 // * The input of Maxim IC may have current sink, so the port should have configured output 'H'(GPG9)
;;;244 // * The output of Maxim IC drives 'H', so disable the pull-up(GPG10)
;;;245 rGPGDAT = 0x0f1f;
0005ec e59f01fc LDR r0,|L1.2032|
0005f0 e3a01456 MOV r1,#0x56000000
0005f4 e5810064 STR r0,[r1,#0x64]
;;;246 rGPGCON = (1<<24) +(1<<18)+(1<<14)+(1<<12)+(1<<10);//0x1045400;
0005f8 e59f01f4 LDR r0,|L1.2036|
0005fc e3a01456 MOV r1,#0x56000000
000600 e5810060 STR r0,[r1,#0x60]
;;;247 rGPGUP = (1<<12)+(0xe<<12)+(0xa<<8)+(0xe<<4)+(1<<3);//0xfae8;
000604 e59f01ec LDR r0,|L1.2040|
000608 e3a01456 MOV r1,#0x56000000
00060c e5810068 STR r0,[r1,#0x68]
;;;248 Uart_Printf("rGPGCON=%x rGPGDAT=%x rGPGUP=%x\n", rGPGCON, rGPGDAT, rGPGUP);
000610 e3a00456 MOV r0,#0x56000000
000614 e5900068 LDR r0,[r0,#0x68]
000618 e1a03000 MOV r3,r0
00061c e3a00456 MOV r0,#0x56000000
000620 e5900064 LDR r0,[r0,#0x64]
000624 e1a02000 MOV r2,r0
000628 e3a00456 MOV r0,#0x56000000
00062c e5900060 LDR r0,[r0,#0x60]
000630 e1a01000 MOV r1,r0
000634 e28f0f70 ADR r0,|L1.2044|
000638 ebfffffe BL Uart_Printf
;;;249 #else // If CPU Board is rev0.18
;;;250 //*** PORT G GROUP
;;;251 // [15:EINT23] [14:EINT22] [13:EINT21] [12:EINT20] [11:EINT19] [10:nCD_SD] [9:DMAMODE] [8:DMASTART]
;;;252 // [7:KBDSPICLK] [6:KBDSPIMOSI] [5:KBDSPIMISO] [4:LCD_PWREN] [3:EINT11] [2:nSS_SPI] [1:IRQ_LAN] [0:IRQ_PCMCIA]
;;;253 // * 5V tol. pad(GPG[13:11]) should be output L
;;;254 // * GPG[15:13]:NAND boot config, EINT19:ext pU, nCD_SD:ext pU, EINT11:ext pU
;;;255 // * The input of Maxim IC may have current sink, so the port should have configured output 'H'(GPG9)
;;;256 // * The output of Maxim IC drives 'H', so disable the pull-up(GPG10)
;;;257 //rGPGDAT = (1<<9);//0x200;
;;;258 rGPGDAT = 0x1f1f;
;;;259 rGPGCON = (1<<18)+(1<<14)+(1<<12)+(1<<10);//0x45400;
;;;260 //rGPGCON = 0x245400; //0x45400;
;;;261 //rGPGUP = (0xe<<12)+(0xe<<8)+(0xe<<4)+(1<<3);//0xeee8;
;;;262 rGPGUP = (0xe<<12)+(0xa<<8)+(0xe<<4)+(1<<3);//0xeae8;
;;;263 //rGPGUP = 0xe2e0;
;;;264 //rGPGUP = (0xf<<12)+(0xe<<8)+(0xe<<4)+(1<<3);//0xeee8;
;;;265 Uart_Printf("rGPGCON=%x rGPGDAT=%x rGPGUP=%x\n", rGPGCON, rGPGDAT, rGPGUP);
;;;266 #endif
;;;267
;;;268 //*** PORT H GROUP
;;;269 // [10:CLKOUT1] [9:CLKOUT0] [8:UCLK]
;;;270 // [7:nCTS1] [6:nRTS1] [5:RXD1] [4:TXD1] [3:RXD0] [2:TXD0] [1:nRTS0] [0:nCTS0]
;;;271 // * WP_SP:ext pU
;;;272 // * The input of Maxim IC may have current sink, so the port should have configured output 'H'(GPH4/2/1)
;;;273 // * The output of Maxim IC drives 'H', so disable the pull-up(GPH5/3/0)
;;;274 //rGPHDAT = (1<<4)+(1<<2)+(1<<1);
;;;275 rGPHDAT = 0x7d6;
00063c e59f01dc LDR r0,|L1.2080|
000640 e3a01456 MOV r1,#0x56000000
000644 e5810074 STR r0,[r1,#0x74]
;;;276 rGPHCON = (1<<8)+(1<<4)+(1<<2);//0x114;
000648 e3a00f45 MOV r0,#0x114
00064c e3a01456 MOV r1,#0x56000000
000650 e5810070 STR r0,[r1,#0x70]
;;;277 rGPHUP = (1<<8)+(1<<5)+(1<<3)+1;//0x129;
000654 e2800015 ADD r0,r0,#0x15
000658 e3a01456 MOV r1,#0x56000000
00065c e5810078 STR r0,[r1,#0x78]
;;;278 //rGPHUP = (1<<5)+(1<<3)+1;//0x29;
;;;279 //rGPHUP = (1<<8);//0x100;
;;;280 //rGPHCON = (1<<20)+(1<<18)+(1<<8)+(1<<4)+(1<<2);
;;;281 //rGPHUP = (1<<10)+(1<<9)+(1<<8)+(1<<5)+(1<<3)+1;
;;;282
;;;283 Uart_Printf("rGPHCON=%x rGPHDAT=%x rGPHUP=%x\n", rGPHCON, rGPHDAT, rGPHUP);
000660 e3a00456 MOV r0,#0x56000000
000664 e5900078 LDR r0,[r0,#0x78]
000668 e1a03000 MOV r3,r0
00066c e3a00456 MOV r0,#0x56000000
000670 e5900074 LDR r0,[r0,#0x74]
000674 e1a02000 MOV r2,r0
000678 e3a00456 MOV r0,#0x56000000
00067c e5900070 LDR r0,[r0,#0x70]
000680 e1a01000 MOV r1,r0
000684 e28f0f66 ADR r0,|L1.2084|
000688 ebfffffe BL Uart_Printf
;;;284
;;;285 //*** PORT J GROUP
;;;286 // [12:CAMRESET] [11:CAMCLKOUT] [10:CAMHREF] [9:CAMVS] [8:CAMPCLKIN]
;;;287 // [7:CAMD7] [6:CAMD6] [5:CAMD5] [4:CAMD4] [3:CAMD3] [2:CAMD2] [1:CAMD1] [0:CAMD0]
;;;288 // * The output of buffer IC drives 'H', so disable the pull-up(GPJ[10:0])
;;;289 //rGPJDAT = 0x0;
;;;290 rGPJDAT = 0x1800;
00068c e3a00d60 MOV r0,#0x1800
000690 e3a01456 MOV r1,#0x56000000
000694 e58100d4 STR r0,[r1,#0xd4]
;;;291 rGPJCON = 0x0; // all input
000698 e3a00000 MOV r0,#0
00069c e3a01456 MOV r1,#0x56000000
0006a0 e58100d0 STR r0,[r1,#0xd0]
;;;292 rGPJUP = 0x7ff;
0006a4 e59f019c LDR r0,|L1.2120|
0006a8 e3a01456 MOV r1,#0x56000000
0006ac e58100d8 STR r0,[r1,#0xd8]
;;;293
;;;294 Uart_Printf("rGPJCON=%x rGPJDAT=%x rGPJUP=%x\n\n", rGPJCON, rGPJDAT, rGPJUP);
0006b0 e3a00456 MOV r0,#0x56000000
0006b4 e59000d8 LDR r0,[r0,#0xd8]
0006b8 e1a03000 MOV r3,r0
0006bc e3a00456 MOV r0,#0x56000000
0006c0 e59000d4 LDR r0,[r0,#0xd4]
0006c4 e1a02000 MOV r2,r0
0006c8 e3a00456 MOV r0,#0x56000000
0006cc e59000d0 LDR r0,[r0,#0xd0]
0006d0 e1a01000 MOV r1,r0
0006d4 e28f0f5c ADR r0,|L1.2124|
0006d8 ebfffffe BL Uart_Printf
;;;295
;;;296 //*3
;;;297 /*
;;;298 rGPBUP = 0x0ffffffff;
;;;299 rGPCUP = 0x0ffffffff;
;;;300 rGPDUP = 0x0ffffffff;
;;;301 rGPEUP = 0x0ffffffff;
;;;302 rGPFUP = 0x0ffffffff;
;;;303 rGPGUP = 0x0ffffffff;
;;;304 rGPHUP = 0x0ffffffff;
;;;305 rGPJUP = 0x0ffffffff;
;;;306 */
;;;307
;;;308
;;;309 //External interrupt will be falling edge triggered.
;;;310 rEXTINT0 = 0x22222222; // EINT[7:0]
0006dc e59f018c LDR r0,|L1.2160|
0006e0 e3a01456 MOV r1,#0x56000000
0006e4 e5810088 STR r0,[r1,#0x88]
;;;311 rEXTINT1 = 0x22222222; // EINT[15:8]
0006e8 e3a01456 MOV r1,#0x56000000
0006ec e581008c STR r0,[r1,#0x8c]
;;;312 rEXTINT2 = 0x22222222; // EINT[23:16]
0006f0 e3a01456 MOV r1,#0x56000000
0006f4 e5810090 STR r0,[r1,#0x90]
;;;313 }
0006f8 e8bd8008 LDMFD sp!,{r3,pc}
|L1.1788|
0006fc 005effff DCD 0x005effff
|L1.1792|
000700 5047720a DCB "\nrGP"
000704 4e4f4341 DCB "ACON"
000708 0978253d DCB "=%x\t"
00070c 50477209 DCB "\trGP"
000710 54414441 DCB "ADAT"
000714 0a78253d DCB "=%x\n"
000718 00000000 DCB "\0\0\0\0"
|L1.1820|
00071c 0000029f DCD 0x0000029f
|L1.1824|
000720 00000563 DCD 0x00000563
|L1.1828|
000724 42504772 DCB "rGPB"
000728 3d4e4f43 DCB "CON="
00072c 09097825 DCB "%x\t\t"
000730 42504772 DCB "rGPB"
000734 3d544144 DCB "DAT="
000738 09097825 DCB "%x\t\t"
00073c 42504772 DCB "rGPB"
000740 253d5055 DCB "UP=%"
000744 00000a78 DCB "x\n\0\0"
|L1.1864|
000748 0000ff3f DCD 0x0000ff3f
|L1.1868|
00074c 43504772 DCB "rGPC"
000750 3d4e4f43 DCB "CON="
000754 09097825 DCB "%x\t\t"
000758 43504772 DCB "rGPC"
00075c 3d544144 DCB "DAT="
000760 09097825 DCB "%x\t\t"
000764 43504772 DCB "rGPC"
000768 253d5055 DCB "UP=%"
00076c 00000a78 DCB "x\n\0\0"
|L1.1904|
000770 0000f8fd DCD 0x0000f8fd
|L1.1908|
000774 00150001 DCD 0x00150001
|L1.1912|
000778 00000702 DCD 0x00000702
|L1.1916|
00077c 44504772 DCB "rGPD"
000780 3d4e4f43 DCB "CON="
000784 09097825 DCB "%x\t\t"
000788 44504772 DCB "rGPD"
00078c 3d544144 DCB "DAT="
000790 09097825 DCB "%x\t\t"
000794 44504772 DCB "rGPD"
000798 253d5055 DCB "UP=%"
00079c 00000a78 DCB "x\n\0\0"
|L1.1952|
0007a0 0000c7f7 DCD 0x0000c7f7
|L1.1956|
0007a4 0000ffc8 DCD 0x0000ffc8
|L1.1960|
0007a8 45504772 DCB "rGPE"
0007ac 3d4e4f43 DCB "CON="
0007b0 09097825 DCB "%x\t\t"
0007b4 45504772 DCB "rGPE"
0007b8 3d544144 DCB "DAT="
0007bc 09097825 DCB "%x\t\t"
0007c0 45504772 DCB "rGPE"
0007c4 253d5055 DCB "UP=%"
0007c8 00000a78 DCB "x\n\0\0"
|L1.1996|
0007cc 46504772 DCB "rGPF"
0007d0 3d4e4f43 DCB "CON="
0007d4 09097825 DCB "%x\t\t"
0007d8 46504772 DCB "rGPF"
0007dc 3d544144 DCB "DAT="
0007e0 09097825 DCB "%x\t\t"
0007e4 46504772 DCB "rGPF"
0007e8 253d5055 DCB "UP=%"
0007ec 00000a78 DCB "x\n\0\0"
|L1.2032|
0007f0 00000f1f DCD 0x00000f1f
|L1.2036|
0007f4 01045400 DCD 0x01045400
|L1.2040|
0007f8 0000fae8 DCD 0x0000fae8
|L1.2044|
0007fc 47504772 DCB "rGPG"
000800 3d4e4f43 DCB "CON="
000804 09097825 DCB "%x\t\t"
000808 47504772 DCB "rGPG"
00080c 3d544144 DCB "DAT="
000810 09097825 DCB "%x\t\t"
000814 47504772 DCB "rGPG"
000818 253d5055 DCB "UP=%"
00081c 00000a78 DCB "x\n\0\0"
|L1.2080|
000820 000007d6 DCD 0x000007d6
|L1.2084|
000824 48504772 DCB "rGPH"
000828 3d4e4f43 DCB "CON="
00082c 09097825 DCB "%x\t\t"
000830 48504772 DCB "rGPH"
000834 3d544144 DCB "DAT="
000838 09097825 DCB "%x\t\t"
00083c 48504772 DCB "rGPH"
000840 253d5055 DCB "UP=%"
000844 00000a78 DCB "x\n\0\0"
|L1.2120|
000848 000007ff DCD 0x000007ff
|L1.2124|
00084c 4a504772 DCB "rGPJ"
000850 3d4e4f43 DCB "CON="
000854 09097825 DCB "%x\t\t"
000858 4a504772 DCB "rGPJ"
00085c 3d544144 DCB "DAT="
000860 09097825 DCB "%x\t\t"
000864 4a504772 DCB "rGPJ"
000868 253d5055 DCB "UP=%"
00086c 000a0a78 DCB "x\n\n\0"
|L1.2160|
000870 22222222 DCD 0x22222222
ENDP
SetAlarmWakeUp PROC
;;;317 void SetAlarmWakeUp(void)
;;;318 {
000874 e3a00001 MOV r0,#1
;;;319 rRTCCON = 0x1; // R/W enable, 1/32768, Normal(merge), No reset
000878 e3a01457 MOV r1,#0x57000000
00087c e5c10040 STRB r0,[r1,#0x40]
;;;320
;;;321 rBCDYEAR = TESTYEAR;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -