📄 xmain.txt
字号:
000248 e59f0244 LDR r0,|L1.1172|
00024c e3a01456 MOV r1,#0x56000000
000250 e58100c8 STR r0,[r1,#0xc8]
;;;193 // rDSC1 = (0x0<<28)|(0x0<<26)|(0x00000<<0);
;;;194 // DSC_SCK1 [29:28] : SCLK1, 0:16mA, 1:12mA, 2:8mA, 3:6mA
;;;195 // DSC_SCK0 [27:26] : SCLK0, 0:16mA, 1:12mA, 2:8mA, 3:6mA
;;;196 // DSC_SCKE [25:24] : SCLKE, 0:10mA, 1:8mA, 2:6mA, 3:4mA
;;;197 // DSC_SDR [23:22] : nRAS/nCAS, 0:10mA, 1:8mA, 2:6mA, 3:4mA
;;;198 // DSC_NFC [21:20] : Nand flash(nFCE,nFRE,nFWE,CLE,ALE), 0:10mA, 1:8mA, 2:6mA, 3:4mA
;;;199 // DSC_BE [19:18] : nBE[3:0], 0:10mA, 1:8mA, 2:6mA, 3:4mA
;;;200 // DSC_WOE [17:16] : nBE[3:0], 0:10mA, 1:8mA, 2:6mA, 3:4mA
;;;201 // DSC_CS7 [15:14] : nGCS7, 0:10mA, 1:8mA, 2:6mA, 3:4mA
;;;202 // DSC_CS6 [13:12] : nGCS6, 0:10mA, 1:8mA, 2:6mA, 3:4mA
;;;203 // DSC_CS5 [11:10] : nGCS5, 0:10mA, 1:8mA, 2:6mA, 3:4mA
;;;204 // DSC_CS4 [9:8] : nGCS4, 0:10mA, 1:8mA, 2:6mA, 3:4mA
;;;205 // DSC_CS3 [7:6] : nGCS3, 0:10mA, 1:8mA, 2:6mA, 3:4mA
;;;206 // DSC_CS2 [5:4] : nGCS2, 0:10mA, 1:8mA, 2:6mA, 3:4mA
;;;207 // DSC_CS1 [3:2] : nGCS1, 0:10mA, 1:8mA, 2:6mA, 3:4mA
;;;208 // DSC_CS0 [1:0] : nGCS0, 0:10mA, 1:8mA, 2:6mA, 3:4mA
;;;209 Uart_Printf("uDSC0/1:%x,%x\n", rDSC0, rDSC1);
000254 e3a00456 MOV r0,#0x56000000
000258 e59000c8 LDR r0,[r0,#0xc8]
00025c e1a02000 MOV r2,r0
000260 e3a00456 MOV r0,#0x56000000
000264 e59000c4 LDR r0,[r0,#0xc4]
000268 e1a01000 MOV r1,r0
00026c e28f0f89 ADR r0,|L1.1176|
000270 ebfffffe BL Uart_Printf
;;;210
;;;211
;;;212 /////////////////////////////////////// start testprogram /////////////////////////////////////
;;;213 Uart_Printf("\n\n+---------------------------------------------+\n");
000274 e28f0f8b ADR r0,|L1.1192|
000278 ebfffffe BL Uart_Printf
;;;214 Uart_Printf( "| S3C2442A Firmware-Test ver 0.03 Jan 2004. |\n");
00027c e28f0f96 ADR r0,|L1.1244|
000280 ebfffffe BL Uart_Printf
;;;215 Uart_Printf( "+---------------------------------------------+\n");
000284 e28f0fa1 ADR r0,|L1.1296|
000288 ebfffffe BL Uart_Printf
;;;216 Uart_Printf("[CPU ID=%xh]\n", rGSTATUS1);
00028c e3a00456 MOV r0,#0x56000000
000290 e59000b0 LDR r0,[r0,#0xb0]
000294 e1a01000 MOV r1,r0
000298 e28f0fa9 ADR r0,|L1.1348|
00029c ebfffffe BL Uart_Printf
;;;217
;;;218 Uart_Printf("[Core voltage: %4.2fV]\n", (float)voltage/100);
0002a0 e1a00005 MOV r0,r5
0002a4 ebfffffe BL _fflt
0002a8 e1a07000 MOV r7,r0
0002ac e59f12a0 LDR r1,|L1.1364|
0002b0 ebfffffe BL _fdiv
0002b4 e1a06000 MOV r6,r0
0002b8 ebfffffe BL _f2d
0002bc e58d001c STR r0,[sp,#0x1c]
0002c0 e58d1020 STR r1,[sp,#0x20]
0002c4 e1a02001 MOV r2,r1
0002c8 e1a01000 MOV r1,r0
0002cc e28f0fa1 ADR r0,|L1.1368|
0002d0 ebfffffe BL Uart_Printf
;;;219
;;;220 Uart_Printf("[XTAL in = %6.4f]\n", (float)FIN/MEGA);
0002d4 e28f0fa5 ADR r0,|L1.1392|
0002d8 e8900006 LDMIA r0,{r1,r2}
0002dc e28f0fa5 ADR r0,|L1.1400|
0002e0 ebfffffe BL Uart_Printf
;;;221 Uart_Printf("[Fclk:Hclk:Pclk]=[%4.1f:%4.1f:%4.1f]Mhz\n", (float)Fclk/MEGA, (float)Hclk/MEGA, (float)Pclk/MEGA);
0002e4 e59f01a0 LDR r0,|L1.1164|
0002e8 e5900000 LDR r0,[r0,#0] ; Pclk
0002ec ebfffffe BL _ffltu
0002f0 e1a07000 MOV r7,r0
0002f4 e59f1290 LDR r1,|L1.1420|
0002f8 ebfffffe BL _fdiv
0002fc e1a06000 MOV r6,r0
000300 ebfffffe BL _f2d
000304 e58d001c STR r0,[sp,#0x1c]
000308 e58d1020 STR r1,[sp,#0x20]
00030c e59f0160 LDR r0,|L1.1140|
000310 e5900000 LDR r0,[r0,#0] ; Hclk
000314 ebfffffe BL _ffltu
000318 e1a07000 MOV r7,r0
00031c e59f1268 LDR r1,|L1.1420|
000320 ebfffffe BL _fdiv
000324 e1a06000 MOV r6,r0
000328 ebfffffe BL _f2d
00032c e58d0014 STR r0,[sp,#0x14]
000330 e58d1018 STR r1,[sp,#0x18]
000334 e59f0254 LDR r0,|L1.1424|
000338 e5900000 LDR r0,[r0,#0] ; Fclk
00033c ebfffffe BL _ffltu
000340 e1a07000 MOV r7,r0
000344 e59f1240 LDR r1,|L1.1420|
000348 ebfffffe BL _fdiv
00034c e1a06000 MOV r6,r0
000350 ebfffffe BL _f2d
000354 e58d000c STR r0,[sp,#0xc]
000358 e58d1010 STR r1,[sp,#0x10]
00035c e59d001c LDR r0,[sp,#0x1c]
000360 e59d1020 LDR r1,[sp,#0x20]
000364 e98d0003 STMIB sp,{r0,r1}
000368 e59d0018 LDR r0,[sp,#0x18]
00036c e58d0000 STR r0,[sp,#0]
000370 e28f0f87 ADR r0,|L1.1428|
000374 e28d300c ADD r3,sp,#0xc
000378 e893000e LDMIA r3,{r1-r3}
00037c ebfffffe BL Uart_Printf
;;;222 Uart_Printf("[Uclk=%4.1fMhz]\n", (float)UCLK/MEGA);
000380 e28f0f8e ADR r0,|L1.1472|
000384 e8900006 LDMIA r0,{r1,r2}
000388 e28f0f8e ADR r0,|L1.1480|
00038c ebfffffe BL Uart_Printf
;;;223 Uart_Printf("\n");
000390 e28f0f6e ADR r0,|L1.1360|
000394 ebfffffe BL Uart_Printf
;;;224
;;;225 //Uart_Printf("[rPRIORITY=0x%x]\n", rPRIORITY);
;;;226 //rCLKCON = (rCLKCON&0xf) |(0x0<<16)|(0x2<<12)|(0x4<<8)|(0x0<<4); // for test
;;;227 //Uart_Printf("[CLKCON=%x]\n", rCLKCON);
;;;228 Uart_Printf("[rSTATUS2=0x%x]\n", rGSTATUS2);
000398 e3a00456 MOV r0,#0x56000000
00039c e59000b4 LDR r0,[r0,#0xb4]
0003a0 e1a01000 MOV r1,r0
0003a4 e28f0f8c ADR r0,|L1.1500|
0003a8 ebfffffe BL Uart_Printf
;;;229 Uart_Printf("[rSTATUS3=0x%x]\n", rGSTATUS3);
0003ac e3a00456 MOV r0,#0x56000000
0003b0 e59000b8 LDR r0,[r0,#0xb8]
0003b4 e1a01000 MOV r1,r0
0003b8 e28f0f8c ADR r0,|L1.1520|
0003bc ebfffffe BL Uart_Printf
;;;230 Uart_Printf("[rSTATUS4=0x%x]\n", rGSTATUS4);
0003c0 e3a00456 MOV r0,#0x56000000
0003c4 e59000bc LDR r0,[r0,#0xbc]
0003c8 e1a01000 MOV r1,r0
0003cc e28f0f8c ADR r0,|L1.1540|
0003d0 ebfffffe BL Uart_Printf
;;;231 Uart_Printf("[rSRCPND=0x%x]\n", rSRCPND);
0003d4 e3a0044a MOV r0,#0x4a000000
0003d8 e5900000 LDR r0,[r0,#0]
0003dc e1a01000 MOV r1,r0
0003e0 e28f0f8c ADR r0,|L1.1560|
0003e4 ebfffffe BL Uart_Printf
;;;232 Uart_Printf("[rINTPND=0x%x]\n", rINTPND);
0003e8 e3a0044a MOV r0,#0x4a000000
0003ec e5900010 LDR r0,[r0,#0x10]
0003f0 e1a01000 MOV r1,r0
0003f4 e28f0f8b ADR r0,|L1.1576|
0003f8 ebfffffe BL Uart_Printf
;;;233
;;;234 // CLKOUT0/1 select.
;;;235 //Uart_Printf("CLKOUT0:MPLL in, CLKOUT1:RTC clock.\n");
;;;236 Clk0_Enable(2); // 0:MPLLin, 1:UPLL, 2:FCLK, 3:HCLK, 4:PCLK, 5:DCLK0
0003fc e3a00002 MOV r0,#2
000400 ebfffffe BL Clk0_Enable
;;;237 Clk1_Enable(3); // 0:MPLLout, 1:UPLL, 2:RTC, 3:HCLK, 4:PCLK, 5:DCLK1
000404 e3a00003 MOV r0,#3
000408 ebfffffe BL Clk1_Enable
;;;238 //Clk0_Disable();
;;;239 //Clk1_Disable();
;;;240
;;;241 Uart_Printf("\n\n");
00040c e28f0f89 ADR r0,|L1.1592|
000410 ebfffffe BL Uart_Printf
;;;242
;;;243 ///////////////////// menu start ///////////////////////////
;;;244 while(1) {
000414 e1a00000 NOP
|L1.1048|
000418 e1a00000 NOP
;;;245 i = 0;
00041c e3a04000 MOV r4,#0
;;;246
;;;247 while(1) { //display menu
000420 e1a00000 NOP
|L1.1060|
000424 e1a00000 NOP
;;;248 Uart_Printf("%2d:%s",i,function[i][1]);
000428 e59f020c LDR r0,|L1.1596|
00042c e0800184 ADD r0,r0,r4,LSL #3
000430 e1a01004 MOV r1,r4
000434 e5902004 LDR r2,[r0,#4]
000438 e28f0f80 ADR r0,|L1.1600|
00043c ebfffffe BL Uart_Printf
;;;249 i++;
000440 e2844001 ADD r4,r4,#1
;;;250 if((int)(function[i][0])==0) {
000444 e59f01f0 LDR r0,|L1.1596|
000448 e7900184 LDR r0,[r0,r4,LSL #3]
00044c e3500000 CMP r0,#0
000450 1a00007c BNE |L1.1608|
;;;251 Uart_Printf("\n");
000454 e28f00f4 ADR r0,|L1.1360|
000458 ebfffffe BL Uart_Printf
;;;252 break;
00045c ea00007e B |L1.1628|
|L1.1120|
000460 00000000 DCD HaltUndef
|L1.1124|
000464 31fff000 DCD 0x31fff000
|L1.1128|
000468 00000000 DCD HaltSwi
|L1.1132|
00046c 00000000 DCD HaltPabort
|L1.1136|
000470 00000000 DCD HaltDabort
|L1.1140|
000474 00000000 DCD Hclk
|L1.1144|
000478 33333333 DCFD 0x401f333333333333 ; 7.8
00047c 401f3333
|L1.1152|
000480 00000000 DCFD 0x412e848000000000 ; 1000000.0
000484 412e8480
|L1.1160|
000488 0001c200 DCD 0x0001c200
|L1.1164|
00048c 00000000 DCD Pclk
|L1.1168|
000490 000003ff DCD 0x000003ff
|L1.1172|
000494 3c0fffff DCD 0x3c0fffff
|L1.1176|
000498 43534475 DCB "uDSC"
00049c 3a312f30 DCB "0/1:"
0004a0 252c7825 DCB "%x,%"
0004a4 00000a78 DCB "x\n\0\0"
|L1.1192|
0004a8 2d2b0a0a DCB "\n\n+-"
0004ac 2d2d2d2d DCB "----"
0004b0 2d2d2d2d DCB "----"
0004b4 2d2d2d2d DCB "----"
0004b8 2d2d2d2d DCB "----"
0004bc 2d2d2d2d DCB "----"
0004c0 2d2d2d2d DCB "----"
0004c4 2d2d2d2d DCB "----"
0004c8 2d2d2d2d DCB "----"
0004cc 2d2d2d2d DCB "----"
0004d0 2d2d2d2d DCB "----"
0004d4 2d2d2d2d DCB "----"
0004d8 00000a2b DCB "+\n\0\0"
|L1.1244|
0004dc 3353207c DCB "| S3"
0004e0 34343243 DCB "C244"
0004e4 46204132 DCB "2A F"
0004e8 776d7269 DCB "irmw"
0004ec 2d657261 DCB "are-"
0004f0 74736554 DCB "Test"
0004f4 72657620 DCB " ver"
0004f8 302e3020 DCB " 0.0"
0004fc 614a2033 DCB "3 Ja"
000500 3032206e DCB "n 20"
000504 202e3430 DCB "04. "
000508 0a7c2020 DCB " |\n"
00050c 00000000 DCB "\0\0\0\0"
|L1.1296|
000510 2d2d2d2b DCB "+---"
000514 2d2d2d2d DCB "----"
000518 2d2d2d2d DCB "----"
00051c 2d2d2d2d DCB "----"
000520 2d2d2d2d DCB "----"
000524 2d2d2d2d DCB "----"
000528 2d2d2d2d DCB "----"
00052c 2d2d2d2d DCB "----"
000530 2d2d2d2d DCB "----"
000534 2d2d2d2d DCB "----"
000538 2d2d2d2d DCB "----"
00053c 0a2b2d2d DCB "--+\n"
000540 00000000 DCB "\0\0\0\0"
|L1.1348|
000544 5550435b DCB "[CPU"
000548 3d444920 DCB " ID="
00054c 5d687825 DCB "%xh]"
|L1.1360|
000550 0000000a DCB "\n\0\0\0"
|L1.1364|
000554 42c80000 DCD 0x42c80000
|L1.1368|
000558 726f435b DCB "[Cor"
00055c 6f762065 DCB "e vo"
000560 6761746c DCB "ltag"
000564 25203a65 DCB "e: %"
000568 66322e34 DCB "4.2f"
00056c 000a5d56 DCB "V]\n\0"
|L1.1392|
000570 e0000000 DCFD 0x4030ef34e0000000
000574 4030ef34
|L1.1400|
000578 4154585b DCB "[XTA"
00057c 6e69204c DCB "L in"
000580 25203d20 DCB " = %"
000584 66342e36 DCB "6.4f"
000588 00000a5d DCB "]\n\0\0"
|L1.1420|
00058c 49742400 DCD 0x49742400
|L1.1424|
000590 00000000 DCD Fclk
|L1.1428|
000594 6c63465b DCB "[Fcl"
000598 63483a6b DCB "k:Hc"
00059c 503a6b6c DCB "lk:P"
0005a0 5d6b6c63 DCB "clk]"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -