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

📄 stop.txt

📁 s3c24a0固件测试代码 ? ? ? ? ?啊 
💻 TXT
📖 第 1 页 / 共 5 页
字号:
;;;301    #if USE_RTC_ALARM   
;;;302        SetAlarmWakeUp(10);
0008e8  e3a0000a          MOV      r0,#0xa
0008ec  ebfffffe          BL       SetAlarmWakeUp
;;;303    #endif
;;;304        SetTouchWakeUp();
0008f0  ebfffffe          BL       SetTouchWakeUp
;;;305        SetModemWakeUp();
0008f4  ebfffffe          BL       SetModemWakeUp
;;;306    
;;;307        Uart_Printf("AC97Codec is going to LP mode, now.\n");
0008f8  e28f0f41          ADR      r0,|L1.2564|
0008fc  ebfffffe          BL       _printf
;;;308        AC97_Init();
000900  ebfffffe          BL       AC97_Init
;;;309        AC97_Codec_Init(22050);
000904  e59f0120          LDR      r0,|L1.2604|
000908  ebfffffe          BL       AC97_Codec_Init
;;;310        AC97_Codec_Cmd(0, 0x26, 0x1000); // AC97CODEC is going to LP mode.
00090c  e3a02d40          MOV      r2,#0x1000
000910  e3a01026          MOV      r1,#0x26
000914  e3a00000          MOV      r0,#0
000918  ebfffffe          BL       AC97_Codec_Cmd
;;;311        rAC_GLBCTRL&=~(1<<2);
00091c  e3a00445          MOV      r0,#0x45000000
000920  e5900000          LDR      r0,[r0,#0]
000924  e3c00004          BIC      r0,r0,#4
000928  e3a01445          MOV      r1,#0x45000000
00092c  e5810000          STR      r0,[r1,#0]
;;;312    
;;;313        rADCCON|=(1<<2);
000930  e2810880          ADD      r0,r1,#0x800000
000934  e5900000          LDR      r0,[r0,#0]
000938  e3800004          ORR      r0,r0,#4
00093c  e2811880          ADD      r1,r1,#0x800000
000940  e5810000          STR      r0,[r1,#0]
;;;314        //There is no USB port control bit in S3C24A0x. Well.....
;;;315    
;;;316        LcdEnvidOnOff(0); //Before entering STOP mode, LCD must be off    
000944  e3a00000          MOV      r0,#0
000948  ebfffffe          BL       LcdEnvidOnOff
;;;317        Uart_Printf("\nNow, SMDK24A0 is entering STOP mode.\n");
00094c  e28f00dc          ADR      r0,|L1.2608|
000950  ebfffffe          BL       _printf
;;;318        Uart_TxEmpty(0);	//Wait until UART0 Tx buffer empty.
000954  e3a00000          MOV      r0,#0
000958  ebfffffe          BL       Uart_TxEmpty
;;;319    
;;;320        MMU_DisableICache();
00095c  ebfffffe          BL       MMU_DisableICache
;;;321        MMU_InvalidateICache();
000960  ebfffffe          BL       MMU_InvalidateICache
;;;322    
;;;323        //***Enter STOP mode
;;;324        //rPWRMAN |= (1<<12);
;;;325        rPWRMAN = 0x0;
000964  e3a00000          MOV      r0,#0
000968  e3a01440          MOV      r1,#0x40000000
00096c  e5810030          STR      r0,[r1,#0x30]
;;;326        rCLKCON= ( rCLKCON&~(1<<0) ) | (1<<0);  //Transition to STOP mode 
000970  e3a00440          MOV      r0,#0x40000000
000974  e5900020          LDR      r0,[r0,#0x20]
000978  e3800001          ORR      r0,r0,#1
00097c  e3a01440          MOV      r1,#0x40000000
000980  e5810020          STR      r0,[r1,#0x20]
;;;327       // MMU_WaitForInterrupt();
;;;328        //EnterStopMode();
;;;329    /*    
;;;330        __asm
;;;331        	{
;;;332    		nop
;;;333    		nop
;;;334    		nop
;;;335    		nop
;;;336    		nop
;;;337    		nop
;;;338    		nop
;;;339        	}
;;;340    */  
;;;341        //***Exit STOP mode
;;;342        for(i=0;i<100;i++);
000984  e3a04000          MOV      r4,#0
                  |L1.2440|
000988  e3540064          CMP      r4,#0x64
00098c  aa000031          BGE      |L1.2648|
000990  e2844001          ADD      r4,r4,#1
000994  eafffffb          B        |L1.2440|
                  |L1.2456|
000998  0008000a          DCD      0x0008000a
                  |L1.2460|
00099c  9ffc5af3          DCD      0x9ffc5af3
                  |L1.2464|
0009a0  00000222          DCD      0x00000222
                  |L1.2468|
0009a4  02222222          DCD      0x02222222
                  |L1.2472|
0009a8  4f54535b          DCB      "[STO"
0009ac  6f4d2050          DCB      "P Mo"
0009b0  54206564          DCB      "de T"
0009b4  5d747365          DCB      "est]"
0009b8  0000000a          DCB      "\n\0\0\0"
                  |L1.2492|
0009bc  5441426e          DCB      "nBAT"
0009c0  4c465f54          DCB      "T_FL"
0009c4  69702054          DCB      "T pi"
0009c8  6873206e          DCB      "n sh"
0009cc  646c756f          DCB      "ould"
0009d0  20656220          DCB      " be "
0009d4  74736574          DCB      "test"
0009d8  0a2e6465          DCB      "ed.\n"
0009dc  00000000          DCB      "\0\0\0\0"
                  |L1.2528|
0009e0  00000000          DCD      ||.constdata$1||
                  |L1.2532|
0009e4  f000f000          DCD      0xf000f000
                  |L1.2536|
0009e8  00000000          DCD      EintInt
                  |L1.2540|
0009ec  13fff000          DCD      0x13fff000
                  |L1.2544|
0009f0  00000000          DCD      Eint9Int
                  |L1.2548|
0009f4  00000000          DCD      Eint11Int
                  |L1.2552|
0009f8  00000000          DCD      AlarmInt
                  |L1.2556|
0009fc  00000000          DCD      PenDownInt
                  |L1.2560|
000a00  00000000          DCD      ModemInt
                  |L1.2564|
000a04  37394341          DCB      "AC97"
000a08  65646f43          DCB      "Code"
000a0c  73692063          DCB      "c is"
000a10  696f6720          DCB      " goi"
000a14  7420676e          DCB      "ng t"
000a18  504c206f          DCB      "o LP"
000a1c  646f6d20          DCB      " mod"
000a20  6e202c65          DCB      "e, n"
000a24  0a2e776f          DCB      "ow.\n"
000a28  00000000          DCB      "\0\0\0\0"
                  |L1.2604|
000a2c  00005622          DCD      0x00005622
                  |L1.2608|
000a30  776f4e0a          DCB      "\nNow"
000a34  4d53202c          DCB      ", SM"
000a38  34324b44          DCB      "DK24"
000a3c  69203041          DCB      "A0 i"
000a40  6e652073          DCB      "s en"
000a44  69726574          DCB      "teri"
000a48  5320676e          DCB      "ng S"
000a4c  20504f54          DCB      "TOP "
000a50  65646f6d          DCB      "mode"
000a54  00000a2e          DCB      ".\n\0\0"
;;;343    
;;;344        rCLKCON&=~(1<<0);  //Clear STOP_BIT just after exiting STOP mode.
                  |L1.2648|
000a58  e3a00440          MOV      r0,#0x40000000
000a5c  e5900020          LDR      r0,[r0,#0x20]
000a60  e3c00001          BIC      r0,r0,#1
000a64  e3a01440          MOV      r1,#0x40000000
000a68  e5810020          STR      r0,[r1,#0x20]
;;;345        
;;;346        MMU_EnableICache();
000a6c  ebfffffe          BL       MMU_EnableICache
;;;347    
;;;348        Uart_Printf("AC97Codec is going to Normal mode, now.\n");
000a70  e28f0060          ADR      r0,|L1.2776|
000a74  ebfffffe          BL       _printf
;;;349        AC97_Init();
000a78  ebfffffe          BL       AC97_Init
;;;350        AC97_Codec_Init(22050);
000a7c  e51f0058          LDR      r0,|L1.2604|
000a80  ebfffffe          BL       AC97_Codec_Init
;;;351    
;;;352    #if GPIO_RESTORE
;;;353        //Restore the port configurations
;;;354        for(i=0;i<26;i++)
000a84  e3a04000          MOV      r4,#0
                  |L1.2696|
000a88  e354001a          CMP      r4,#0x1a
000a8c  aa000006          BGE      |L1.2732|
000a90  ea000001          B        |L1.2716|
                  |L1.2708|
000a94  e2844001          ADD      r4,r4,#1
000a98  eafffffa          B        |L1.2696|
;;;355    	*((U32 *)(0x44800000 +i*4))=portStatus[i];
                  |L1.2716|
000a9c  e79d0104          LDR      r0,[sp,r4,LSL #2]
000aa0  e51f19fc          LDR      r1,|L1.172|
000aa4  e7810104          STR      r0,[r1,r4,LSL #2]
000aa8  eafffff9          B        |L1.2708|
;;;356    #endif
;;;357    
;;;358        Led_Display(0xa);
                  |L1.2732|
000aac  e3a0000a          MOV      r0,#0xa
000ab0  ebfffffe          BL       Led_Display
;;;359        LcdEnvidOnOff(1); 
000ab4  e3a00001          MOV      r0,#1
000ab8  ebfffffe          BL       LcdEnvidOnOff
;;;360        
;;;361    #if 0
;;;362        //Unmask interrupt
;;;363        rINTMSK=rINTMSK&~(BIT_EINT11_14);
;;;364        rINTMSK=rINTMSK&~(BIT_EINT7_10);
;;;365        rINTMSK=rINTMSK&~(BIT_EINT0_2);
;;;366        rINTMSK=rINTMSK&~(BIT_RTC);
;;;367        rINTMSK=rINTMSK&~(BIT_MODEM); 
;;;368        rINTMSK=rINTMSK&~(BIT_ADC_PENUP_DOWN);
;;;369        
;;;370        //Unmask sub interrupt 
;;;371        //rEINTMASK=rEINTMASK&~(BIT_EINTPEND_EINT0);
;;;372        rEINTMASK=rEINTMASK&~(BIT_EINTPEND_EINT1);
;;;373        rEINTMASK=rEINTMASK&~(BIT_EINTPEND_EINT10);
;;;374        rEINTMASK=rEINTMASK&~(BIT_EINTPEND_EINT11);
;;;375        rINTSUBMSK&=~(BIT_SUB_PENDN);
;;;376        rEINTMASK=rEINTMASK&~(BIT_EINTPEND_EINT0);
;;;377        for(i=0;i<100;i++);
;;;378    #endif	     
;;;379    	
;;;380        //The Wake-up source is indicated by rSRCPND.
;;;381    
;;;382        Uart_Printf("Return to Normal Mode.\n");    
000abc  e28f0040          ADR      r0,|L1.2820|
000ac0  ebfffffe          BL       _printf
;;;383        
;;;384    #if CHECK_SDRAM_SELFREFRESH	
;;;385        Test_CheckSDRAM(_NONCACHE_STARTADDRESS,0x400000);
000ac4  e3a01840          MOV      r1,#0x400000
000ac8  e3a00544          MOV      r0,#0x11000000
000acc  ebfffffe          BL       Test_CheckSDRAM
;;;386    #endif
;;;387    }
000ad0  e28dd068          ADD      sp,sp,#0x68
000ad4  e8bd8010          LDMFD    sp!,{r4,pc}
                  |L1.2776|
000ad8  37394341          DCB      "AC97"
000adc  65646f43          DCB      "Code"
000ae0  73692063          DCB      "c is"
000ae4  696f6720          DCB      " goi"
000ae8  7420676e          DCB      "ng t"
000aec  6f4e206f          DCB      "o No"
000af0  6c616d72          DCB      "rmal"
000af4  646f6d20          DCB      " mod"
000af8  6e202c65          DCB      "e, n"
000afc  0a2e776f          DCB      "ow.\n"
000b00  00000000          DCB      "\0\0\0\0"
                  |L1.2820|
000b04  75746552          DCB      "Retu"
000b08  74206e72          DCB      "rn t"
000b0c  6f4e206f          DCB      "o No"
000b10  6c616d72          DCB      "rmal"
000b14  646f4d20          DCB      " Mod"
000b18  000a2e65          DCB      "e.\n\0"
                          ENDP

                  Test_StopModeHard PROC
;;;389    void Test_StopModeHard(void)
;;;390    {
000b1c  e92d4030          STMFD    sp!,{r4,r5,lr}
000b20  e24dd06c          SUB      sp,sp,#0x6c
;;;391        int i, j;
;;;392        U32 portStatus[26];
;;;393        Uart_Printf("[STOP Mode Test]\n");
000b24  e24f0f61          ADR      r0,|L1.2472|
000b28  ebfffffe          BL       _printf
;;;394        Uart_Printf("nBATT_FLT pin should be tested.\n");
000b2c  e24f0f5e          ADR      r0,|L1.2492|
000b30  ebfffffe          BL       _printf
;;;395        Uart_Printf("S3C24A0 will wake up by EINT9 at its falling edge.\n");
000b34  e28f0f7d          ADR      r0,|L1.3376|
000b38  ebfffffe          BL       _printf
;;;396    
;;;397        rLOCKTIME=(3602<<16)|(3602<<0); // 3602 is about 300us at 12Mhz
000b3c  e59f0220          LDR      r0,|L1.3428|
000b40  e3a01440          MOV      r1,#0x40000000
000b44  e5810000          STR      r0,[r1,#0]
;;;398    
;;;399        // Save the port configurations
;;;400    #if GPIO_RESTORE
;;;401        for(i=0;i<26;i++)
000b48  e3a04000          MOV      r4,#0
                  |L1.2892|
000b4c  e354001a          CMP      r4,#0x1a
000b50  aa000007          BGE      |L1.2932|
000b54  ea000001          B        |L1.2912|
                  |L1.2904|
000b58  e2844001          ADD      r4,r4,#1
000b5c  eafffffa          B        |L1.2892|
;;;402    	portStatus[i]=*( (volatile U32 *)(0x44800000 + i*4));
                  |L1.2912|
000b60  e51f0abc          LDR      r0,|L1.172|
000b64  e7900104          LDR      r0,[r0,r4,LSL #2]
000b68  e28d1004          ADD      r1,sp,#4
000b6c  e7810104          STR      r0,[r1,r4,LSL #2]
000b70  eafffff8          B        |L1.2904|
;;;403    #endif
;;;404       
;;;405        ConfigStopGPIO(); 
                  |L1.2932|
000b74  ebfffffe          BL       ConfigStopGPIO
;;;406    
;;;407    #if XTAL_ENABLE_STOPMODE
;;;408        rALIVECON&=~(1<<0);
;;;409        rCLKSRC=rCLKSRC&~(1<<8)|(1<<8); //X-Tal oscillator is always enabled even S3C24A0 is in the STOP mode

⌨️ 快捷键说明

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