📄 sleep.txt
字号:
000888 e5900034 LDR r0,[r0,#0x34]
00088c e3c00f80 BIC r0,r0,#0x200
000890 e5810034 STR r0,[r1,#0x34]
;;;330 rEINTMASK=rEINTMASK&~(BIT_EINTPEND_EINT11);
000894 e1a00001 MOV r0,r1
000898 e5900034 LDR r0,[r0,#0x34]
00089c e3c00e80 BIC r0,r0,#0x800
0008a0 e5810034 STR r0,[r1,#0x34]
;;;331 // rEINTMASK=0x7ffff;
;;;332
;;;333 #endif
;;;334
;;;335 #if USE_RTC_ALARM
;;;336 SetAlarmWakeUp(5);
;;;337 #endif
;;;338 rADCCON|=(1<<2);// To reduce ADC power consumption
0008a4 e2810740 ADD r0,r1,#0x1000000
0008a8 e5900000 LDR r0,[r0,#0]
0008ac e3800004 ORR r0,r0,#4
0008b0 e2811740 ADD r1,r1,#0x1000000
0008b4 e5810000 STR r0,[r1,#0]
;;;339
;;;340 Uart_Printf("AC97Codec is going to LP mode, now.\n");
0008b8 e28f0f62 ADR r0,|L1.2632|
0008bc ebfffffe BL _printf
;;;341 AC97_Init();
0008c0 ebfffffe BL AC97_Init
;;;342 AC97_Codec_Init(22050);
0008c4 e59f0078 LDR r0,|L1.2372|
0008c8 ebfffffe BL AC97_Codec_Init
;;;343 AC97_Codec_Cmd(0, 0x26, 0x1000); // AC97CODEC is going to LP mode.
0008cc e3a02d40 MOV r2,#0x1000
0008d0 e3a01026 MOV r1,#0x26
0008d4 e3a00000 MOV r0,#0
0008d8 ebfffffe BL AC97_Codec_Cmd
;;;344 rAC_GLBCTRL&=~(1<<2);
0008dc e3a00445 MOV r0,#0x45000000
0008e0 e5900000 LDR r0,[r0,#0]
0008e4 e3c00004 BIC r0,r0,#4
0008e8 e3a01445 MOV r1,#0x45000000
0008ec e5810000 STR r0,[r1,#0]
;;;345
;;;346 Uart_Printf("\nNow, SMDK24A0 is entering SLEEP mode.\n");
0008f0 e28f0f5e ADR r0,|L1.2672|
0008f4 ebfffffe BL _printf
;;;347 Uart_TxEmpty(0); //Wait until UART0 Tx buffer empty.
0008f8 e3a00000 MOV r0,#0
0008fc ebfffffe BL Uart_TxEmpty
;;;348
;;;349 //SRAMKey_Run = xxx;// Change if you want..
;;;350
;;;351 //***Enter SLEEP mode
;;;352 rPWRMAN &= ~(0xffff);
000900 e3a00440 MOV r0,#0x40000000
000904 e5900030 LDR r0,[r0,#0x30]
000908 e1a00820 MOV r0,r0,LSR #16
00090c e1a00800 MOV r0,r0,LSL #16
000910 e3a01440 MOV r1,#0x40000000
000914 ea00005f B |L1.2712|
|L1.2328|
000918 37394341 DCB "AC97"
00091c 65646f43 DCB "Code"
000920 73692063 DCB "c is"
000924 696f6720 DCB " goi"
000928 7420676e DCB "ng t"
00092c 6f4e206f DCB "o No"
000930 6c616d72 DCB "rmal"
000934 646f6d20 DCB " mod"
000938 6e202c65 DCB "e, n"
00093c 0a2e776f DCB "ow.\n"
000940 00000000 DCB "\0\0\0\0"
|L1.2372|
000944 00005622 DCD 0x00005622
|L1.2376|
000948 656b6157 DCB "Wake"
00094c 2070752d DCB "-up "
000950 6d6f7266 DCB "from"
000954 454c5320 DCB " SLE"
000958 6d205045 DCB "EP m"
00095c 0a65646f DCB "ode\n"
000960 00000000 DCB "\0\0\0\0"
|L1.2404|
000964 414c410a DCB "\nALA"
000968 66204d52 DCB "RM f"
00096c 5320726f DCB "or S"
000970 5045454c DCB "LEEP"
000974 646f6d20 DCB " mod"
000978 61772065 DCB "e wa"
00097c 752d656b DCB "ke-u"
000980 0a0a2e70 DCB "p.\n\n"
000984 00000000 DCB "\0\0\0\0"
|L1.2440|
000988 45454c53 DCB "SLEE"
00098c 6f6d2050 DCB "P mo"
000990 74206564 DCB "de t"
000994 20747365 DCB "est "
000998 64207369 DCB "is d"
00099c 0a656e6f DCB "one\n"
0009a0 00000000 DCB "\0\0\0\0"
|L1.2468|
0009a4 454c535b DCB "[SLE"
0009a8 4d205045 DCB "EP M"
0009ac 2065646f DCB "ode "
0009b0 74736554 DCB "Test"
0009b4 00000a5d DCB "]\n\0\0"
|L1.2488|
0009b8 5441426e DCB "nBAT"
0009bc 4c465f54 DCB "T_FL"
0009c0 69702054 DCB "T pi"
0009c4 6873206e DCB "n sh"
0009c8 646c756f DCB "ould"
0009cc 20656220 DCB " be "
0009d0 74736574 DCB "test"
0009d4 0a2e6465 DCB "ed.\n"
0009d8 00000000 DCB "\0\0\0\0"
|L1.2524|
0009dc 65746e45 DCB "Ente"
0009e0 676e6972 DCB "ring"
0009e4 746e6920 DCB " int"
0009e8 4c53206f DCB "o SL"
0009ec 20504545 DCB "EEP "
0009f0 65646f6d DCB "mode"
0009f4 0000000a DCB "\n\0\0\0"
|L1.2552|
0009f8 32433353 DCB "S3C2"
0009fc 20304134 DCB "4A0 "
000a00 6c6c6977 DCB "will"
000a04 6b617720 DCB " wak"
000a08 70752065 DCB "e up"
000a0c 20796220 DCB " by "
000a10 544e4945 DCB "EINT"
000a14 2f312f30 DCB "0/1/"
000a18 726f2039 DCB "9 or"
000a1c 43545220 DCB " RTC"
000a20 616c6120 DCB " ala"
000a24 0a2e6d72 DCB "rm.\n"
000a28 00000000 DCB "\0\0\0\0"
|L1.2604|
000a2c 00000222 DCD 0x00000222
|L1.2608|
000a30 02222222 DCD 0x02222222
|L1.2612|
000a34 00000000 DCD EintInt
|L1.2616|
000a38 13fff000 DCD 0x13fff000
|L1.2620|
000a3c 00000000 DCD AlarmInt
|L1.2624|
000a40 00000000 DCD Eint9Int
|L1.2628|
000a44 00000000 DCD Eint11Int
|L1.2632|
000a48 37394341 DCB "AC97"
000a4c 65646f43 DCB "Code"
000a50 73692063 DCB "c is"
000a54 696f6720 DCB " goi"
000a58 7420676e DCB "ng t"
000a5c 504c206f DCB "o LP"
000a60 646f6d20 DCB " mod"
000a64 6e202c65 DCB "e, n"
000a68 0a2e776f DCB "ow.\n"
000a6c 00000000 DCB "\0\0\0\0"
|L1.2672|
000a70 776f4e0a DCB "\nNow"
000a74 4d53202c DCB ", SM"
000a78 34324b44 DCB "DK24"
000a7c 69203041 DCB "A0 i"
000a80 6e652073 DCB "s en"
000a84 69726574 DCB "teri"
000a88 5320676e DCB "ng S"
000a8c 5045454c DCB "LEEP"
000a90 646f6d20 DCB " mod"
000a94 000a2e65 DCB "e.\n\0"
|L1.2712|
000a98 e5810030 STR r0,[r1,#0x30]
;;;353 rPWRMAN |= ((1<<12)|(0xa3)); // WFI & SLEEP
000a9c e3a00440 MOV r0,#0x40000000
000aa0 e5900030 LDR r0,[r0,#0x30]
000aa4 e3800d40 ORR r0,r0,#0x1000
000aa8 e38000a3 ORR r0,r0,#0xa3
000aac e3a01440 MOV r1,#0x40000000
000ab0 e5810030 STR r0,[r1,#0x30]
;;;354 MMU_WaitForInterrupt(); // After WFI, the S3C24A0 enters sleep mode
000ab4 ebfffffe BL MMU_WaitForInterrupt
;;;355 }
;;;356 }
|L1.2744|
000ab8 e8bd8008 LDMFD sp!,{r3,pc}
ENDP
Test_WarmReset PROC
;;;359 void Test_WarmReset(void)
;;;360 {
000abc e92d4008 STMFD sp!,{r3,lr}
;;;361 //Return from WarmReset
;;;362 if(rALIVECON & 1<<4)
000ac0 e51f0a1c LDR r0,|L1.172|
000ac4 e5900044 LDR r0,[r0,#0x44]
000ac8 e3100010 TST r0,#0x10
000acc 0a000008 BEQ |L1.2804|
;;;363 {
;;;364 Uart_Printf("[WarmReset Test]\n");
000ad0 e28f0044 ADR r0,|L1.2844|
000ad4 ebfffffe BL _printf
;;;365
;;;366 #if CHECK_SDRAM_SELFREFRESH
;;;367 Test_CheckSDRAM(_NONCACHE_STARTADDRESS,0x400000); //Check NONCACHEABLE AREA
000ad8 e3a01840 MOV r1,#0x400000
000adc e3a00544 MOV r0,#0x11000000
000ae0 ebfffffe BL Test_CheckSDRAM
;;;368 #endif
;;;369
;;;370 Clear_SleepKey();
000ae4 ebfffffe BL Clear_SleepKey
;;;371 Uart_Printf("\n[Warm Reset] Test is Done!!!\n");
000ae8 e28f0040 ADR r0,|L1.2864|
000aec ebfffffe BL _printf
000af0 ea000008 B |L1.2840|
;;;372 }
;;;373 //WarmReset Ready
;;;374 else
;;;375 {
;;;376 Uart_Printf("[WarmReset Test]\n");
|L1.2804|
000af4 e28f0020 ADR r0,|L1.2844|
000af8 ebfffffe BL _printf
;;;377
;;;378 #if CHECK_SDRAM_SELFREFRESH
;;;379 Test_InitSDRAM(_NONCACHE_STARTADDRESS,0x400000); //Write test data into NONCACHEABLE AREA
000afc e3a01840 MOV r1,#0x400000
000b00 e3a00544 MOV r0,#0x11000000
000b04 ebfffffe BL Test_InitSDRAM
;;;380 #endif
;;;381 //SRAMKey_Run = xxx;// Change if you want..
;;;382
;;;383 //Push Warm Reset Botton
;;;384 Uart_Printf("Now, Push Warm Reset Botton. \n");
000b08 e28f0040 ADR r0,|L1.2896|
000b0c ebfffffe BL _printf
;;;385 while(1);
000b10 e1a00000 NOP
|L1.2836|
000b14 eafffffe B |L1.2836|
;;;386 }
;;;387 }
|L1.2840|
000b18 e8bd8008 LDMFD sp!,{r3,pc}
|L1.2844|
000b1c 7261575b DCB "[War"
000b20 7365526d DCB "mRes"
000b24 54207465 DCB "et T"
000b28 5d747365 DCB "est]"
000b2c 0000000a DCB "\n\0\0\0"
|L1.2864|
000b30 61575b0a DCB "\n[Wa"
000b34 52206d72 DCB "rm R"
000b38 74657365 DCB "eset"
000b3c 6554205d DCB "] Te"
000b40 69207473 DCB "st i"
000b44 6f442073 DCB "s Do"
000b48 2121656e DCB "ne!!"
000b4c 00000a21 DCB "!\n\0\0"
|L1.2896|
000b50 2c776f4e DCB "Now,"
000b54 73755020 DCB " Pus"
000b58 61572068 DCB "h Wa"
000b5c 52206d72 DCB "rm R"
000b60 74657365 DCB "eset"
000b64 746f4220 DCB " Bot"
000b68 2e6e6f74 DCB "ton."
000b6c 00000a20 DCB " \n\0\0"
ENDP
Test_SoftReset PROC
;;;390 void Test_SoftReset(void)
;;;391 {
000b70 e92d4008 STMFD sp!,{r3,lr}
;;;392 //Return from SoftReset
;;;393 if(rALIVECON & 1<<6)
000b74 e51f0ad0 LDR r0,|L1.172|
000b78 e5900044 LDR r0,[r0,#0x44]
000b7c e3100040 TST r0,#0x40
000b80 0a000008 BEQ |L1.2984|
;;;394 {
;;;395 Uart_Printf("[SoftReset Test]\n");
000b84 e28f0050 ADR r0,|L1.3036|
000b88 ebfffffe BL _printf
;;;396
;;;397 #if CHECK_SDRAM_SELFREFRESH
;;;398 Test_CheckSDRAM(_NONCACHE_STARTADDRESS,0x400000); //Check NONCACHEABLE AREA
000b8c e3a01840 MOV r1,#0x400000
000b90 e3a00544 MOV r0,#0x11000000
000b94 ebfffffe BL Test_CheckSDRAM
;;;399 #endif
;;;400
;;;401 Clear_SleepKey();
000b98 ebfffffe BL Clear_SleepKey
;;;402 Uart_Printf("\n[SoftReset] Test is Done!!!\n");
000b9c e28f004c ADR r0,|L1.3056|
000ba0 ebfffffe BL _printf
000ba4 ea00000b B |L1.3032|
;;;403 }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -