📄 pll.txt
字号:
0001c8 ebfffffe BL Uart_Init
;;;134 //Uart_Printf(".");
;;;135 j++;
0001cc e2855001 ADD r5,r5,#1
;;;136 if(j==1000) {Uart_Printf("%d-th iteration!\n", k++); j=0;}
0001d0 e3550ffa CMP r5,#0x3e8
0001d4 1a000004 BNE |L1.492|
0001d8 e1a01006 MOV r1,r6
0001dc e2866001 ADD r6,r6,#1
0001e0 e28f0080 ADR r0,|L1.616|
0001e4 ebfffffe BL _printf
0001e8 e3a05000 MOV r5,#0
;;;137 //Uart_Printf("...I'm running in changed FCLK...\n");
;;;138 }
|L1.492|
0001ec eaffffab B |L1.160|
;;;139 rCLKDIVN=saveCLKDIVN;
|L1.496|
0001f0 e3a00440 MOV r0,#0x40000000
0001f4 e59d1138 LDR r1,[sp,#0x138]
0001f8 e5801028 STR r1,[r0,#0x28]
;;;140 rMPLLCON=saveMPLLCON;
0001fc e3a00440 MOV r0,#0x40000000
000200 e5807010 STR r7,[r0,#0x10]
;;;141 Uart_Init(PCLK,115200);
000204 e59f1058 LDR r1,|L1.612|
000208 e59f006c LDR r0,|L1.636|
00020c ebfffffe BL Uart_Init
;;;142 LcdEnvidOnOff(1);
000210 e3a00001 MOV r0,#1
000214 ebfffffe BL LcdEnvidOnOff
;;;143 }
000218 e28ddf4f ADD sp,sp,#0x13c
00021c e8bd8ff0 LDMFD sp!,{r4-r11,pc}
|L1.544|
000220 00000000 DCD ||.constdata$1||
|L1.548|
000224 4c4c505b DCB "[PLL"
000228 65726620 DCB " fre"
00022c 6e657571 DCB "quen"
000230 63207963 DCB "cy c"
000234 676e6168 DCB "hang"
000238 65742065 DCB "e te"
00023c 0a5d7473 DCB "st]\n"
000240 00000000 DCB "\0\0\0\0"
|L1.580|
000244 4b434f4c DCB "LOCK"
000248 454d4954 DCB "TIME"
00024c 2578303a DCB ":0x%"
000250 43202c78 DCB "x, C"
000254 4f434b4c DCB "LKCO"
000258 78303a4e DCB "N:0x"
00025c 000a7825 DCB "%x\n\0"
|L1.608|
000260 41500000 DCD 0x41500000
|L1.612|
000264 0001c200 DCD 0x0001c200
|L1.616|
000268 742d6425 DCB "%d-t"
00026c 74692068 DCB "h it"
000270 74617265 DCB "erat"
000274 216e6f69 DCB "ion!"
000278 0000000a DCB "\n\0\0\0"
|L1.636|
00027c 030a32c0 DCD 0x030a32c0
ENDP
ChangePLL PROC
;;;146 void ChangePLL(void)
;;;147 {
000280 e92d4ffe STMFD sp!,{r1-r11,lr}
;;;148 int i, pdiv, mdiv, sdiv, HCLKdiv, PCLKdiv, fclk;
;;;149
;;;150 Uart_Printf("[Running change test of M/P/S value]\n");
000284 e28f0f5c ADR r0,|L1.1020|
000288 ebfffffe BL _printf
;;;151
;;;152 Uart_Printf("Input FCLK vlaue\n");
00028c e28f0f64 ADR r0,|L1.1060|
000290 ebfffffe BL _printf
;;;153 fclk=Uart_GetIntNum();
000294 ebfffffe BL Uart_GetIntNum
000298 e1a05000 MOV r5,r0
;;;154 Uart_Printf("Input M vlaue\n");
00029c e28f0f65 ADR r0,|L1.1080|
0002a0 ebfffffe BL _printf
;;;155 mdiv=Uart_GetIntNum();
0002a4 ebfffffe BL Uart_GetIntNum
0002a8 e1a08000 MOV r8,r0
;;;156 Uart_Printf("Input P vlaue\n");
0002ac e28f0f65 ADR r0,|L1.1096|
0002b0 ebfffffe BL _printf
;;;157 pdiv=Uart_GetIntNum();
0002b4 ebfffffe BL Uart_GetIntNum
0002b8 e1a07000 MOV r7,r0
;;;158 Uart_Printf("Input S vlaue\n");
0002bc e28f0f65 ADR r0,|L1.1112|
0002c0 ebfffffe BL _printf
;;;159 sdiv=Uart_GetIntNum();
0002c4 ebfffffe BL Uart_GetIntNum
0002c8 e1a09000 MOV r9,r0
;;;160
;;;161 Uart_Printf("Input HCLKdiv(0 or 1)\n");
0002cc e28f0f65 ADR r0,|L1.1128|
0002d0 ebfffffe BL _printf
;;;162 HCLKdiv=Uart_GetIntNum();
0002d4 ebfffffe BL Uart_GetIntNum
0002d8 e1a04000 MOV r4,r0
;;;163 Uart_Printf("Input PCLKdiv(0 or 1)\n");
0002dc e28f0f67 ADR r0,|L1.1152|
0002e0 ebfffffe BL _printf
;;;164 PCLKdiv=Uart_GetIntNum();
0002e4 ebfffffe BL Uart_GetIntNum
0002e8 e1a06000 MOV r6,r0
;;;165
;;;166 Uart_Printf("fclk=%d,Mdiv=%d,Pdiv=%d,Sdiv=%d,HCLKdiv=%d,PCLKdiv=%d\n",fclk*1000000,mdiv,pdiv,sdiv,HCLKdiv,PCLKdiv);
0002ec e98d0050 STMIB sp,{r4,r6}
0002f0 e58d9000 STR r9,[sp,#0]
0002f4 e59f219c LDR r2,|L1.1176|
0002f8 e0010592 MUL r1,r2,r5
0002fc e1a03007 MOV r3,r7
000300 e1a02008 MOV r2,r8
000304 e28f0f64 ADR r0,|L1.1180|
000308 ebfffffe BL _printf
;;;167 Uart_Printf("Now change PLL value\n");
00030c e28f0f70 ADR r0,|L1.1236|
000310 ebfffffe BL _printf
;;;168 Uart_TxEmpty(0);
000314 e3a00000 MOV r0,#0
000318 ebfffffe BL Uart_TxEmpty
;;;169
;;;170 PreChangeSdramParameter();
00031c ebfffffe BL PreChangeSdramParameter
;;;171 if((HCLKdiv==0)&&(PCLKdiv==0))
000320 e1940006 ORRS r0,r4,r6
000324 1a000007 BNE |L1.840|
;;;172 {
;;;173 ChangeMPllValue(mdiv,pdiv,sdiv); //Set MPS first
000328 e1a02009 MOV r2,r9
00032c e1a01007 MOV r1,r7
000330 e1a00008 MOV r0,r8
000334 ebfffffe BL ChangeMPllValue
;;;174 ChangeClockDivider(0,0); //And then set divider
000338 e3a01000 MOV r1,#0
00033c e3a00000 MOV r0,#0
000340 ebfffffe BL ChangeClockDivider
000344 ea000006 B |L1.868|
;;;175 }
;;;176 else
;;;177 {
;;;178 ChangeClockDivider(HCLKdiv,PCLKdiv);
|L1.840|
000348 e1a01006 MOV r1,r6
00034c e1a00004 MOV r0,r4
000350 ebfffffe BL ChangeClockDivider
;;;179 ChangeMPllValue(mdiv,pdiv,sdiv);
000354 e1a02009 MOV r2,r9
000358 e1a01007 MOV r1,r7
00035c e1a00008 MOV r0,r8
000360 ebfffffe BL ChangeMPllValue
;;;180 }
;;;181
;;;182 ChangeSdramParameter( fclk*1000000/(HCLKdiv+1) );
|L1.868|
000364 e59f212c LDR r2,|L1.1176|
000368 e0010592 MUL r1,r2,r5
00036c e2840001 ADD r0,r4,#1
000370 ebfffffe BL __rt_sdiv
000374 e1a0a000 MOV r10,r0
000378 ebfffffe BL ChangeSdramParameter
;;;183 Uart_Init((fclk*1000000/(HCLKdiv+1))/(PCLKdiv+1),115200); //PCLK, Baud Rate
00037c e59f2114 LDR r2,|L1.1176|
000380 e0010592 MUL r1,r2,r5
000384 e2840001 ADD r0,r4,#1
000388 ebfffffe BL __rt_sdiv
00038c e1a0b000 MOV r11,r0
000390 e1a01000 MOV r1,r0
000394 e2860001 ADD r0,r6,#1
000398 ebfffffe BL __rt_sdiv
00039c e1a0a000 MOV r10,r0
0003a0 e51f1144 LDR r1,|L1.612|
0003a4 ebfffffe BL Uart_Init
;;;184 Uart_Printf("FCLK=%dMHz,HCLK=%dMHz,PCLK=%dMHz\n",fclk,(fclk/(HCLKdiv+1)),(fclk/(HCLKdiv+1))/(PCLKdiv+1));
0003a8 e1a01005 MOV r1,r5
0003ac e2840001 ADD r0,r4,#1
0003b0 ebfffffe BL __rt_sdiv
0003b4 e1a0b000 MOV r11,r0
0003b8 e1a01000 MOV r1,r0
0003bc e2860001 ADD r0,r6,#1
0003c0 ebfffffe BL __rt_sdiv
0003c4 e1a01005 MOV r1,r5
0003c8 e58d0008 STR r0,[sp,#8]
0003cc e2840001 ADD r0,r4,#1
0003d0 ebfffffe BL __rt_sdiv
0003d4 e1a0a000 MOV r10,r0
0003d8 e1a02000 MOV r2,r0
0003dc e1a01005 MOV r1,r5
0003e0 e28f0f41 ADR r0,|L1.1260|
0003e4 e59d3008 LDR r3,[sp,#8]
0003e8 ebfffffe BL _printf
;;;185 Uart_Printf("...I'm running in changed FCLK...\n");
0003ec e28f0f47 ADR r0,|L1.1296|
0003f0 ebfffffe BL _printf
;;;186 dhrystone21();
0003f4 ebfffffe BL dhrystone21
;;;187 }
0003f8 e8bd8ffe LDMFD sp!,{r1-r11,pc}
|L1.1020|
0003fc 6e75525b DCB "[Run"
000400 676e696e DCB "ning"
000404 61686320 DCB " cha"
000408 2065676e DCB "nge "
00040c 74736574 DCB "test"
000410 20666f20 DCB " of "
000414 2f502f4d DCB "M/P/"
000418 61762053 DCB "S va"
00041c 5d65756c DCB "lue]"
000420 0000000a DCB "\n\0\0\0"
|L1.1060|
000424 75706e49 DCB "Inpu"
000428 43462074 DCB "t FC"
00042c 76204b4c DCB "LK v"
000430 6575616c DCB "laue"
000434 0000000a DCB "\n\0\0\0"
|L1.1080|
000438 75706e49 DCB "Inpu"
00043c 204d2074 DCB "t M "
000440 75616c76 DCB "vlau"
000444 00000a65 DCB "e\n\0\0"
|L1.1096|
000448 75706e49 DCB "Inpu"
00044c 20502074 DCB "t P "
000450 75616c76 DCB "vlau"
000454 00000a65 DCB "e\n\0\0"
|L1.1112|
000458 75706e49 DCB "Inpu"
00045c 20532074 DCB "t S "
000460 75616c76 DCB "vlau"
000464 00000a65 DCB "e\n\0\0"
|L1.1128|
000468 75706e49 DCB "Inpu"
00046c 43482074 DCB "t HC"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -