📄 pll.txt
字号:
000470 69644b4c DCB "LKdi"
000474 20302876 DCB "v(0 "
000478 3120726f DCB "or 1"
00047c 00000a29 DCB ")\n\0\0"
|L1.1152|
000480 75706e49 DCB "Inpu"
000484 43502074 DCB "t PC"
000488 69644b4c DCB "LKdi"
00048c 20302876 DCB "v(0 "
000490 3120726f DCB "or 1"
000494 00000a29 DCB ")\n\0\0"
|L1.1176|
000498 000f4240 DCD 0x000f4240
|L1.1180|
00049c 6b6c6366 DCB "fclk"
0004a0 2c64253d DCB "=%d,"
0004a4 7669644d DCB "Mdiv"
0004a8 2c64253d DCB "=%d,"
0004ac 76696450 DCB "Pdiv"
0004b0 2c64253d DCB "=%d,"
0004b4 76696453 DCB "Sdiv"
0004b8 2c64253d DCB "=%d,"
0004bc 4b4c4348 DCB "HCLK"
0004c0 3d766964 DCB "div="
0004c4 502c6425 DCB "%d,P"
0004c8 644b4c43 DCB "CLKd"
0004cc 253d7669 DCB "iv=%"
0004d0 00000a64 DCB "d\n\0\0"
|L1.1236|
0004d4 20776f4e DCB "Now "
0004d8 6e616863 DCB "chan"
0004dc 50206567 DCB "ge P"
0004e0 76204c4c DCB "LL v"
0004e4 65756c61 DCB "alue"
0004e8 0000000a DCB "\n\0\0\0"
|L1.1260|
0004ec 4b4c4346 DCB "FCLK"
0004f0 4d64253d DCB "=%dM"
0004f4 482c7a48 DCB "Hz,H"
0004f8 3d4b4c43 DCB "CLK="
0004fc 484d6425 DCB "%dMH"
000500 43502c7a DCB "z,PC"
000504 253d4b4c DCB "LK=%"
000508 7a484d64 DCB "dMHz"
00050c 0000000a DCB "\n\0\0\0"
|L1.1296|
000510 492e2e2e DCB "...I"
000514 72206d27 DCB "\'m r"
000518 696e6e75 DCB "unni"
00051c 6920676e DCB "ng i"
000520 6863206e DCB "n ch"
000524 65676e61 DCB "ange"
000528 43462064 DCB "d FC"
00052c 2e2e4b4c DCB "LK.."
000530 00000a2e DCB ".\n\0\0"
ENDP
Test_PllOnOff PROC
;;;190 void Test_PllOnOff(void)
;;;191 {
000534 e92d4070 STMFD sp!,{r4-r6,lr}
;;;192 int i,j,k;
;;;193 unsigned int saveLCD,saveREFRESH;
;;;194
;;;195 rLOCKTIME=(3602<<16)|(3602<<0); // 3602 is about 300us at 12Mhz
000538 e59f00a0 LDR r0,|L1.1504|
00053c e3a01440 MOV r1,#0x40000000
000540 e5810000 STR r0,[r1,#0]
;;;196 Uart_Printf("[PLL On/Off test]\n");
000544 e28f0098 ADR r0,|L1.1508|
000548 ebfffffe BL _printf
;;;197 Uart_TxEmpty(0); //To avoid being crushed the character
00054c e3a00000 MOV r0,#0
000550 ebfffffe BL Uart_TxEmpty
;;;198 LcdEnvidOnOff(0);
000554 e3a00000 MOV r0,#0
000558 ebfffffe BL LcdEnvidOnOff
;;;199
;;;200 for(j=0;j<1000;j++)
00055c e3a05000 MOV r5,#0
|L1.1376|
000560 e3550ffa CMP r5,#0x3e8
000564 aa00001c BGE |L1.1500|
000568 ea000001 B |L1.1396|
|L1.1388|
00056c e2855001 ADD r5,r5,#1
000570 eafffffa B |L1.1376|
;;;201 {
;;;202 rCLKSRC=(0<<8)|(0<<7)|(1<<5)|(1<<4)|(0); // OnOSC_EN disable,U_PLL on,M_PLL off,External clk,Divider=0
|L1.1396|
000574 e3a00030 MOV r0,#0x30
000578 e3a01440 MOV r1,#0x40000000
00057c e5810024 STR r0,[r1,#0x24]
;;;203 /* For safety
;;;204 rCLKSRC= (0<<8)|(0<<7)|(0<<5)|(0<<4)|(0);
;;;205 rCLKSRC=(0<<8)|(0<<7)|(0<<5)|(1<<4)|(0);
;;;206 rCLKSRC=(0<<8)|(0<<7)|(1<<5)|(1<<4)|(0);
;;;207 */
;;;208 saveREFRESH=rSDRAM_REFRESH;
000580 e28108c4 ADD r0,r1,#0xc40000
000584 e5906008 LDR r6,[r0,#8]
;;;209 rSDRAM_REFRESH=7.8*(FIN/1000000); // Period= 7.8us
000588 e3a0005d MOV r0,#0x5d
00058c e28118c4 ADD r1,r1,#0xc40000
000590 e5810008 STR r0,[r1,#8]
;;;210 //The other memory control register should be optimized for SLOW mode.
;;;211 //saveLCD=rLCDCON1;
;;;212 //rLCDCON1=rLCDCON1&~(0x3ff<<8)|(1<<8); // Change LCD CLKVAL
;;;213 rCLKSRC=(0<<8)|(0<<7)|(0<<5)|(1<<4)|(0); // OnOSC_EN disable,U_PLL on,M_PLL on,External clk,Divider=0
000594 e3a00010 MOV r0,#0x10
000598 e3a01440 MOV r1,#0x40000000
00059c e5810024 STR r0,[r1,#0x24]
;;;214 for(i=0;i<2048;i++); //S/W MPLL lock-time
0005a0 e3a04000 MOV r4,#0
|L1.1444|
0005a4 e3540e80 CMP r4,#0x800
0005a8 aa000001 BGE |L1.1460|
0005ac e2844001 ADD r4,r4,#1
0005b0 eafffffb B |L1.1444|
;;;215 //rLCDCON1=saveLCD;
;;;216 rSDRAM_REFRESH=saveREFRESH;
|L1.1460|
0005b4 e59f003c LDR r0,|L1.1528|
0005b8 e5806008 STR r6,[r0,#8]
;;;217 rCLKSRC=(0<<8)|(0<<7)|(0<<5)|(0<<4)|(0); // OnOSC_EN disable,U_PLL on,M_PLL on,MPLL_clk,Divider=0
0005bc e3a00000 MOV r0,#0
0005c0 e3a01440 MOV r1,#0x40000000
0005c4 e5810024 STR r0,[r1,#0x24]
;;;218 Uart_Printf(".");
0005c8 e28f002c ADR r0,|L1.1532|
0005cc ebfffffe BL _printf
;;;219 Uart_TxEmpty(0); //To avoid being crushed the character
0005d0 e3a00000 MOV r0,#0
0005d4 ebfffffe BL Uart_TxEmpty
;;;220 }
0005d8 eaffffe3 B |L1.1388|
;;;221 }
|L1.1500|
0005dc e8bd8070 LDMFD sp!,{r4-r6,pc}
|L1.1504|
0005e0 0e120e12 DCD 0x0e120e12
|L1.1508|
0005e4 4c4c505b DCB "[PLL"
0005e8 2f6e4f20 DCB " On/"
0005ec 2066664f DCB "Off "
0005f0 74736574 DCB "test"
0005f4 00000a5d DCB "]\n\0\0"
|L1.1528|
0005f8 40c40000 DCD 0x40c40000
|L1.1532|
0005fc 0000002e DCB ".\0\0\0"
ENDP
AREA ||.constdata||, DATA, READONLY, ALIGN=2
||.constdata$1||
DCD 0x090f5600
DCD 0x0000001e
DCD 0x00000001
DCD 0x00000000
DCD 0x00000001
DCD 0x00000000
DCD 0x094c5f00
DCD 0x0000001f
DCD 0x00000001
DCD 0x00000000
DCD 0x00000001
DCD 0x00000000
DCD 0x09896800
DCD 0x00000020
DCD 0x00000001
DCD 0x00000000
DCD 0x00000001
DCD 0x00000001
DCD 0x09c67100
DCD 0x00000021
DCD 0x00000001
DCD 0x00000000
DCD 0x00000001
DCD 0x00000001
DCD 0x0a037a00
DCD 0x00000022
DCD 0x00000001
DCD 0x00000000
DCD 0x00000001
DCD 0x00000000
DCD 0x0a408300
DCD 0x00000023
DCD 0x00000001
DCD 0x00000000
DCD 0x00000001
DCD 0x00000000
DCD 0x0a7d8c00
DCD 0x00000024
DCD 0x00000001
DCD 0x00000000
DCD 0x00000001
DCD 0x00000000
DCD 0x0aba9500
DCD 0x00000025
DCD 0x00000001
DCD 0x00000000
DCD 0x00000001
DCD 0x00000000
DCD 0x0af79e00
DCD 0x00000026
DCD 0x00000001
DCD 0x00000000
DCD 0x00000001
DCD 0x00000000
DCD 0x0b34a700
DCD 0x00000027
DCD 0x00000001
DCD 0x00000000
DCD 0x00000001
DCD 0x00000000
DCD 0x0b71b000
DCD 0x00000028
DCD 0x00000001
DCD 0x00000000
DCD 0x00000001
DCD 0x00000000
DCD 0x0baeb900
DCD 0x00000029
DCD 0x00000001
DCD 0x00000000
DCD 0x00000001
DCD 0x00000000
DCD 0x0bebc200
DCD 0x0000002a
DCD 0x00000001
DCD 0x00000000
DCD 0x00000001
DCD 0x00000000
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -