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

📄 pll.txt

📁 支持三星原产的S3C24A0开发板
💻 TXT
📖 第 1 页 / 共 2 页
字号:
;;;123        Uart_Printf("Now change PLL value\n");
000354  e28f0f70          ADR      r0,|L1.1308|
000358  ebfffffe          BL       _printf
;;;124        Uart_TxEmpty(0);
00035c  e3a00000          MOV      r0,#0
000360  ebfffffe          BL       Uart_TxEmpty
;;;125    
;;;126        PreChangeSdramParameter();
000364  ebfffffe          BL       PreChangeSdramParameter
;;;127        if((HCLKdiv==0)&&(PCLKdiv==0))
000368  e1940006          ORRS     r0,r4,r6
00036c  1a000007          BNE      |L1.912|
;;;128        {
;;;129    	ChangeMPllValue(mdiv,pdiv,sdiv);	//Set MPS first
000370  e1a02009          MOV      r2,r9
000374  e1a01007          MOV      r1,r7
000378  e1a00008          MOV      r0,r8
00037c  ebfffffe          BL       ChangeMPllValue
;;;130    	ChangeClockDivider(0,0);		//And then set divider  
000380  e3a01000          MOV      r1,#0
000384  e3a00000          MOV      r0,#0
000388  ebfffffe          BL       ChangeClockDivider
00038c  ea000006          B        |L1.940|
;;;131        }
;;;132        else
;;;133        {
;;;134    	ChangeClockDivider(HCLKdiv,PCLKdiv); 
                  |L1.912|
000390  e1a01006          MOV      r1,r6
000394  e1a00004          MOV      r0,r4
000398  ebfffffe          BL       ChangeClockDivider
;;;135    	ChangeMPllValue(mdiv,pdiv,sdiv);
00039c  e1a02009          MOV      r2,r9
0003a0  e1a01007          MOV      r1,r7
0003a4  e1a00008          MOV      r0,r8
0003a8  ebfffffe          BL       ChangeMPllValue
;;;136        }
;;;137    
;;;138        ChangeSdramParameter( fclk*1000000/(HCLKdiv+1) );
                  |L1.940|
0003ac  e59f212c          LDR      r2,|L1.1248|
0003b0  e0010592          MUL      r1,r2,r5
0003b4  e2840001          ADD      r0,r4,#1
0003b8  ebfffffe          BL       __rt_sdiv
0003bc  e1a0a000          MOV      r10,r0
0003c0  ebfffffe          BL       ChangeSdramParameter
;;;139        Uart_Init((fclk*1000000/(HCLKdiv+1))/(PCLKdiv+1),115200); //PCLK, Baud Rate
0003c4  e59f2114          LDR      r2,|L1.1248|
0003c8  e0010592          MUL      r1,r2,r5
0003cc  e2840001          ADD      r0,r4,#1
0003d0  ebfffffe          BL       __rt_sdiv
0003d4  e1a0b000          MOV      r11,r0
0003d8  e1a01000          MOV      r1,r0
0003dc  e2860001          ADD      r0,r6,#1
0003e0  ebfffffe          BL       __rt_sdiv
0003e4  e1a0a000          MOV      r10,r0
0003e8  e51f1154          LDR      r1,|L1.668|
0003ec  ebfffffe          BL       Uart_Init
;;;140        Uart_Printf("FCLK=%dMHz,HCLK=%dMHz,PCLK=%dMHz\n",fclk,(fclk/(HCLKdiv+1)),(fclk/(HCLKdiv+1))/(PCLKdiv+1));
0003f0  e1a01005          MOV      r1,r5
0003f4  e2840001          ADD      r0,r4,#1
0003f8  ebfffffe          BL       __rt_sdiv
0003fc  e1a0b000          MOV      r11,r0
000400  e1a01000          MOV      r1,r0
000404  e2860001          ADD      r0,r6,#1
000408  ebfffffe          BL       __rt_sdiv
00040c  e1a01005          MOV      r1,r5
000410  e58d0008          STR      r0,[sp,#8]
000414  e2840001          ADD      r0,r4,#1
000418  ebfffffe          BL       __rt_sdiv
00041c  e1a0a000          MOV      r10,r0
000420  e1a02000          MOV      r2,r0
000424  e1a01005          MOV      r1,r5
000428  e28f0f41          ADR      r0,|L1.1332|
00042c  e59d3008          LDR      r3,[sp,#8]
000430  ebfffffe          BL       _printf
;;;141        Uart_Printf("...I'm running in changed FCLK...\n");
000434  e24f0f67          ADR      r0,|L1.672|
000438  ebfffffe          BL       _printf
;;;142        dhrystone21();
00043c  ebfffffe          BL       dhrystone21
;;;143     }
000440  e8bd8ffe          LDMFD    sp!,{r1-r11,pc}
                  |L1.1092|
000444  6e75525b          DCB      "[Run"
000448  676e696e          DCB      "ning"
00044c  61686320          DCB      " cha"
000450  2065676e          DCB      "nge "
000454  74736574          DCB      "test"
000458  20666f20          DCB      " of "
00045c  2f502f4d          DCB      "M/P/"
000460  61762053          DCB      "S va"
000464  5d65756c          DCB      "lue]"
000468  0000000a          DCB      "\n\0\0\0"
                  |L1.1132|
00046c  75706e49          DCB      "Inpu"
000470  43462074          DCB      "t FC"
000474  76204b4c          DCB      "LK v"
000478  6575616c          DCB      "laue"
00047c  0000000a          DCB      "\n\0\0\0"
                  |L1.1152|
000480  75706e49          DCB      "Inpu"
000484  204d2074          DCB      "t M "
000488  75616c76          DCB      "vlau"
00048c  00000a65          DCB      "e\n\0\0"
                  |L1.1168|
000490  75706e49          DCB      "Inpu"
000494  20502074          DCB      "t P "
000498  75616c76          DCB      "vlau"
00049c  00000a65          DCB      "e\n\0\0"
                  |L1.1184|
0004a0  75706e49          DCB      "Inpu"
0004a4  20532074          DCB      "t S "
0004a8  75616c76          DCB      "vlau"
0004ac  00000a65          DCB      "e\n\0\0"
                  |L1.1200|
0004b0  75706e49          DCB      "Inpu"
0004b4  43482074          DCB      "t HC"
0004b8  69644b4c          DCB      "LKdi"
0004bc  20302876          DCB      "v(0 "
0004c0  3120726f          DCB      "or 1"
0004c4  00000a29          DCB      ")\n\0\0"
                  |L1.1224|
0004c8  75706e49          DCB      "Inpu"
0004cc  43502074          DCB      "t PC"
0004d0  69644b4c          DCB      "LKdi"
0004d4  20302876          DCB      "v(0 "
0004d8  3120726f          DCB      "or 1"
0004dc  00000a29          DCB      ")\n\0\0"
                  |L1.1248|
0004e0  000f4240          DCD      0x000f4240
                  |L1.1252|
0004e4  6b6c6366          DCB      "fclk"
0004e8  2c64253d          DCB      "=%d,"
0004ec  7669644d          DCB      "Mdiv"
0004f0  2c64253d          DCB      "=%d,"
0004f4  76696450          DCB      "Pdiv"
0004f8  2c64253d          DCB      "=%d,"
0004fc  76696453          DCB      "Sdiv"
000500  2c64253d          DCB      "=%d,"
000504  4b4c4348          DCB      "HCLK"
000508  3d766964          DCB      "div="
00050c  502c6425          DCB      "%d,P"
000510  644b4c43          DCB      "CLKd"
000514  253d7669          DCB      "iv=%"
000518  00000a64          DCB      "d\n\0\0"
                  |L1.1308|
00051c  20776f4e          DCB      "Now "
000520  6e616863          DCB      "chan"
000524  50206567          DCB      "ge P"
000528  76204c4c          DCB      "LL v"
00052c  65756c61          DCB      "alue"
000530  0000000a          DCB      "\n\0\0\0"
                  |L1.1332|
000534  4b4c4346          DCB      "FCLK"
000538  4d64253d          DCB      "=%dM"
00053c  482c7a48          DCB      "Hz,H"
000540  3d4b4c43          DCB      "CLK="
000544  484d6425          DCB      "%dMH"
000548  43502c7a          DCB      "z,PC"
00054c  253d4b4c          DCB      "LK=%"
000550  7a484d64          DCB      "dMHz"
000554  0000000a          DCB      "\n\0\0\0"
                          ENDP

                  Test_PllOnOff PROC
;;;146    void Test_PllOnOff(void)
;;;147    {
000558  e92d4070          STMFD    sp!,{r4-r6,lr}
;;;148        int i,j,k;
;;;149        unsigned int saveLCD,saveREFRESH;
;;;150    
;;;151        rLOCKTIME=(3602<<16)|(3602<<0); // 3602 is about 300us at 12Mhz
00055c  e59f00a0          LDR      r0,|L1.1540|
000560  e3a01440          MOV      r1,#0x40000000
000564  e5810000          STR      r0,[r1,#0]
;;;152        Uart_Printf("[PLL On/Off test]\n");
000568  e28f0098          ADR      r0,|L1.1544|
00056c  ebfffffe          BL       _printf
;;;153        Uart_TxEmpty(0);	//To avoid being crushed the character
000570  e3a00000          MOV      r0,#0
000574  ebfffffe          BL       Uart_TxEmpty
;;;154        LcdEnvidOnOff(0);
000578  e3a00000          MOV      r0,#0
00057c  ebfffffe          BL       LcdEnvidOnOff
;;;155    
;;;156        for(j=0;j<1000;j++)
000580  e3a05000          MOV      r5,#0
                  |L1.1412|
000584  e3550ffa          CMP      r5,#0x3e8
000588  aa00001c          BGE      |L1.1536|
00058c  ea000001          B        |L1.1432|
                  |L1.1424|
000590  e2855001          ADD      r5,r5,#1
000594  eafffffa          B        |L1.1412|
;;;157        {
;;;158    	rCLKSRC=(0<<8)|(0<<7)|(1<<5)|(1<<4)|(0); // OnOSC_EN disable,U_PLL on,M_PLL off,External clk,Divider=0
                  |L1.1432|
000598  e3a00030          MOV      r0,#0x30
00059c  e3a01440          MOV      r1,#0x40000000
0005a0  e5810024          STR      r0,[r1,#0x24]
;;;159    	/* For safety
;;;160    	rCLKSRC= (0<<8)|(0<<7)|(0<<5)|(0<<4)|(0); 
;;;161    	rCLKSRC=(0<<8)|(0<<7)|(0<<5)|(1<<4)|(0); 
;;;162    	rCLKSRC=(0<<8)|(0<<7)|(1<<5)|(1<<4)|(0); 
;;;163    	*/
;;;164    	saveREFRESH=rSDRAM_REFRESH;
0005a4  e28108c4          ADD      r0,r1,#0xc40000
0005a8  e5906008          LDR      r6,[r0,#8]
;;;165    	rSDRAM_REFRESH=7.8*(FIN/1000000); // Period= 7.8us
0005ac  e3a0005d          MOV      r0,#0x5d
0005b0  e28118c4          ADD      r1,r1,#0xc40000
0005b4  e5810008          STR      r0,[r1,#8]
;;;166    	//The other memory control register should be optimized for SLOW mode.
;;;167    	//saveLCD=rLCDCON1;
;;;168    	//rLCDCON1=rLCDCON1&~(0x3ff<<8)|(1<<8); // Change LCD CLKVAL
;;;169    	rCLKSRC=(0<<8)|(0<<7)|(0<<5)|(1<<4)|(0); // OnOSC_EN disable,U_PLL on,M_PLL on,External clk,Divider=0
0005b8  e3a00010          MOV      r0,#0x10
0005bc  e3a01440          MOV      r1,#0x40000000
0005c0  e5810024          STR      r0,[r1,#0x24]
;;;170    	for(i=0;i<2048;i++); //S/W MPLL lock-time
0005c4  e3a04000          MOV      r4,#0
                  |L1.1480|
0005c8  e3540e80          CMP      r4,#0x800
0005cc  aa000001          BGE      |L1.1496|
0005d0  e2844001          ADD      r4,r4,#1
0005d4  eafffffb          B        |L1.1480|
;;;171    	//rLCDCON1=saveLCD;
;;;172    	rSDRAM_REFRESH=saveREFRESH;
                  |L1.1496|
0005d8  e59f003c          LDR      r0,|L1.1564|
0005dc  e5806008          STR      r6,[r0,#8]
;;;173    	rCLKSRC=(0<<8)|(0<<7)|(0<<5)|(0<<4)|(0); // OnOSC_EN disable,U_PLL on,M_PLL on,MPLL_clk,Divider=0
0005e0  e3a00000          MOV      r0,#0
0005e4  e3a01440          MOV      r1,#0x40000000
0005e8  e5810024          STR      r0,[r1,#0x24]
;;;174        	Uart_Printf(".");
0005ec  e28f002c          ADR      r0,|L1.1568|
0005f0  ebfffffe          BL       _printf
;;;175    	Uart_TxEmpty(0);	//To avoid being crushed the character    	
0005f4  e3a00000          MOV      r0,#0
0005f8  ebfffffe          BL       Uart_TxEmpty
;;;176        }
0005fc  eaffffe3          B        |L1.1424|
;;;177    }
                  |L1.1536|
000600  e8bd8070          LDMFD    sp!,{r4-r6,pc}
                  |L1.1540|
000604  0e120e12          DCD      0x0e120e12
                  |L1.1544|
000608  4c4c505b          DCB      "[PLL"
00060c  2f6e4f20          DCB      " On/"
000610  2066664f          DCB      "Off "
000614  74736574          DCB      "test"
000618  00000a5d          DCB      "]\n\0\0"
                  |L1.1564|
00061c  40c40000          DCD      0x40c40000
                  |L1.1568|
000620  0000002e          DCB      ".\0\0\0"
                          ENDP



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

                  ||.constdata$1||
                          DCD      0x02faf080
                          DCD      0x0000002a
                          DCD      0x00000001
                          DCD      0x00000002
                          DCD      0x00000000
                          DCD      0x00000000
                          DCD      0x03567e00
                          DCD      0x00000030
                          DCD      0x00000001
                          DCD      0x00000002
                          DCD      0x00000000
                          DCD      0x00000000
                          DCD      0x03fe56c0
                          DCD      0x0000003b
                          DCD      0x00000001
                          DCD      0x00000002
                          DCD      0x00000000
                          DCD      0x00000000
                          DCD      0x04b571c0
                          DCD      0x00000047
                          DCD      0x00000004
                          DCD      0x00000001
                          DCD      0x00000000
                          DCD      0x00000000
                          DCD      0x0501bd00
                          DCD      0x0000004c
                          DCD      0x00000004
                          DCD      0x00000001
                          DCD      0x00000000
                          DCD      0x00000001
                          DCD      0x055d4a80
                          DCD      0x00000052
                          DCD      0x00000004
                          DCD      0x00000001
                          DCD      0x00000000
                          DCD      0x00000001
                          DCD      0x05b8d800
                          DCD      0x00000038
                          DCD      0x00000002
                          DCD      0x00000001
                          DCD      0x00000000
                          DCD      0x00000001
                          DCD      0x06052340
                          DCD      0x0000005d
                          DCD      0x00000004
                          DCD      0x00000001
                          DCD      0x00000000
                          DCD      0x00000001
                          DCD      0x06bc3e40
                          DCD      0x00000069
                          DCD      0x00000004
                          DCD      0x00000001
                          DCD      0x00000000
                          DCD      0x00000001
                          DCD      0x07088980
                          DCD      0x00000033
                          DCD      0x00000001
                          DCD      0x00000001
                          DCD      0x00000000
                          DCD      0x00000001
                          DCD      0x07641700
                          DCD      0x00000036
                          DCD      0x00000001
                          DCD      0x00000001
                          DCD      0x00000000
                          DCD      0x00000001
                          DCD      0x080befc0
                          DCD      0x00000052
                          DCD      0x00000002
                          DCD      0x00000001
                          DCD      0x00000000
                          DCD      0x00000001


        END

⌨️ 快捷键说明

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