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

📄 dvstest.txt

📁 SMDK2442所有设备的驱动测试程序。运行monitor程序
💻 TXT
📖 第 1 页 / 共 3 页
字号:
0006b8  e3a00003          MOV      r0,#3
0006bc  e3a01451          MOV      r1,#0x51000000
0006c0  e5810004          STR      r0,[r1,#4]
;;;333    
;;;334    	// Timer input clock frequency = PCLK/(prescaler value+1)/(divider value)
;;;335    	// 1clock = 81us.
;;;336        rTCNTB0 = timer_val_arr[0];
0006c4  e59f0058          LDR      r0,|L1.1828|
0006c8  e5900000          LDR      r0,[r0,#0]  ; timer_val_arr
0006cc  e3a01451          MOV      r1,#0x51000000
0006d0  e581000c          STR      r0,[r1,#0xc]
;;;337        rTCMPB0 = 0;
0006d4  e3a00000          MOV      r0,#0
0006d8  e3a01451          MOV      r1,#0x51000000
0006dc  e5810010          STR      r0,[r1,#0x10]
;;;338    
;;;339    	// Load timer cnt value
;;;340    	rTCON = 1<<3| 1<<1;
0006e0  e3a0000a          MOV      r0,#0xa
0006e4  e3a01451          MOV      r1,#0x51000000
0006e8  e5810008          STR      r0,[r1,#8]
;;;341    
;;;342    	// Timer start.
;;;343    	rTCON = 1<<3| 1<<0;
0006ec  e3a00009          MOV      r0,#9
0006f0  e3a01451          MOV      r1,#0x51000000
0006f4  e5810008          STR      r0,[r1,#8]
;;;344    
;;;345    }
0006f8  e8bd8010          LDMFD    sp!,{r4,pc}
                  |L1.1788|
0006fc  00000004          DCD      ||.bss$2|| + 4
                  |L1.1792|
000700  6954205b          DCB      "[ Ti"
000704  2072656d          DCB      "mer "
000708  6e492030          DCB      "0 In"
00070c  72726574          DCB      "terr"
000710  20747075          DCB      "upt "
000714  74746573          DCB      "sett"
000718  5d676e69          DCB      "ing]"
00071c  0000000a          DCB      "\n\0\0\0"
                  |L1.1824|
000720  00000000          DCD      Timer0_intr
                  |L1.1828|
000724  00000000          DCD      timer_val_arr
                          ENDP

                  Dvs_Test PROC
;;;56     void Dvs_Test(void)
;;;57     {
000728  e92d4030          STMFD    sp!,{r4,r5,lr}
00072c  e24dd01c          SUB      sp,sp,#0x1c
;;;58     	volatile int i, n;
;;;59     
;;;60     	Uart_Printf("Dvs test.\n");
000730  e28f0f6a          ADR      r0,|L1.2272|
000734  ebfffffe          BL       Uart_Printf
;;;61     
;;;62     	rGPGCON = (rGPGCON & ~(3<<22)) | (1<<22);	// set GPG11 output for idle state.
000738  e3a00456          MOV      r0,#0x56000000
00073c  e5900060          LDR      r0,[r0,#0x60]
000740  e3c008c0          BIC      r0,r0,#0xc00000
000744  e3800840          ORR      r0,r0,#0x400000
000748  e3a01456          MOV      r1,#0x56000000
00074c  e5810060          STR      r0,[r1,#0x60]
;;;63     	
;;;64     	rBANKSIZE = (rBANKSIZE & ~(3<<4)) | (0<<4) | (1<<7);	//SCKE_EN, SCLK_EN = disable.
000750  e3a00448          MOV      r0,#0x48000000
000754  e5900028          LDR      r0,[r0,#0x28]
000758  e3c00030          BIC      r0,r0,#0x30
00075c  e3800080          ORR      r0,r0,#0x80
000760  e3a01448          MOV      r1,#0x48000000
000764  e5810028          STR      r0,[r1,#0x28]
;;;65     
;;;66     	Uart_Printf("Change core speed to 266MHz.\n");
000768  e28f0f5f          ADR      r0,|L1.2284|
00076c  ebfffffe          BL       Uart_Printf
;;;67     	#if FIN==12000000
;;;68     	ChangeClockDivider(13, 12);	// 1:3:6
;;;69     		#if CPU2442A==1
;;;70     		ChangeMPllValue(127,2,1);	// 406MHz
;;;71     		#else						// 2442X
;;;72     		ChangeMPllValue(127,2,0);	// 406MHz
;;;73     		#endif
;;;74     	#else	// 16.9344Mhz
;;;75     		ChangeClockDivider(13, 12);
000770  e3a0100c          MOV      r1,#0xc
000774  e3a0000d          MOV      r0,#0xd
000778  ebfffffe          BL       ChangeClockDivider
;;;76     		#if CPU2442A==1
;;;77     		ChangeMPllValue(110,3,1);	// 400MHz
00077c  e3a02001          MOV      r2,#1
000780  e3a01003          MOV      r1,#3
000784  e3a0006e          MOV      r0,#0x6e
000788  ebfffffe          BL       ChangeMPllValue
;;;78     		#else						// 2442X
;;;79     		ChangeMPllValue(110,3,0);	// 400MHz
;;;80     		#endif
;;;81     	#endif
;;;82     	
;;;83     	Calc_Clock(1);
00078c  e3a00001          MOV      r0,#1
000790  ebfffffe          BL       Calc_Clock
;;;84     	
;;;85     	UPDATE_REFRESH(Hclk);
000794  e51f0428          LDR      r0,|L1.884|
000798  e5900000          LDR      r0,[r0,#0]  ; Hclk
00079c  ebfffffe          BL       _ffltu
0007a0  e1a05000          MOV      r5,r0
0007a4  ebfffffe          BL       _f2d
0007a8  e98d0003          STMIB    sp,{r0,r1}
0007ac  e59f0158          LDR      r0,|L1.2316|
0007b0  e890000c          LDMIA    r0,{r2,r3}
0007b4  e59d0004          LDR      r0,[sp,#4]
0007b8  ebfffffe          BL       _dmul
0007bc  e58d000c          STR      r0,[sp,#0xc]
0007c0  e58d1010          STR      r1,[sp,#0x10]
0007c4  e59f0144          LDR      r0,|L1.2320|
0007c8  e890000c          LDMIA    r0,{r2,r3}
0007cc  e59d000c          LDR      r0,[sp,#0xc]
0007d0  ebfffffe          BL       _ddiv
0007d4  e58d0014          STR      r0,[sp,#0x14]
0007d8  e58d1018          STR      r1,[sp,#0x18]
0007dc  ebfffffe          BL       _dfixu
0007e0  e2600001          RSB      r0,r0,#1
0007e4  e2800e80          ADD      r0,r0,#0x800
0007e8  e3a01448          MOV      r1,#0x48000000
0007ec  e5911024          LDR      r1,[r1,#0x24]
0007f0  e1a015a1          MOV      r1,r1,LSR #11
0007f4  e1a01581          MOV      r1,r1,LSL #11
0007f8  e1800001          ORR      r0,r0,r1
0007fc  e3a01448          MOV      r1,#0x48000000
000800  e5810024          STR      r0,[r1,#0x24]
;;;86     	Uart_Init(Pclk, 115200);
000804  e59f1108          LDR      r1,|L1.2324|
000808  e59f0108          LDR      r0,|L1.2328|
00080c  e5900000          LDR      r0,[r0,#0]  ; Pclk
000810  ebfffffe          BL       Uart_Init
;;;87     
;;;88     	Uart_Printf("Check Clkout0:FCLK, Clkout1:HCLK.\n");
000814  e28f0f40          ADR      r0,|L1.2332|
000818  ebfffffe          BL       Uart_Printf
;;;89     	// Clkout0: FCLK.	
;;;90     	Clk0_Enable(2);
00081c  e3a00002          MOV      r0,#2
000820  ebfffffe          BL       Clk0_Enable
;;;91     	// Clkout1: HCLK.
;;;92     	Clk1_Enable(3);
000824  e3a00003          MOV      r0,#3
000828  ebfffffe          BL       Clk1_Enable
;;;93     	
;;;94     	
;;;95     #if ADS10==TRUE	
;;;96     	srand(0);
00082c  e3a00000          MOV      r0,#0
000830  ebfffffe          BL       srand
;;;97     #endif
;;;98     	Led_Display(0);	// clear all leds.
000834  e3a00000          MOV      r0,#0
000838  ebfffffe          BL       Led_Display
;;;99     	
;;;100    	Timer_Setting();
00083c  ebfffffe          BL       Timer_Setting
;;;101    	Set_Lcd_Tft_16Bit_240320_Dvs();
000840  ebfffffe          BL       Set_Lcd_Tft_16Bit_240320_Dvs
;;;102    
;;;103    	Uart_Printf("Tcnt, Vcnt, Idle_flag.\n");
000844  e28f00f4          ADR      r0,|L1.2368|
000848  ebfffffe          BL       Uart_Printf
;;;104    	Uart_Printf("%8d,%8d,%1d\n", Timer_cnt0, Vcount, Idle_flag);
00084c  e51f04e4          LDR      r0,|L1.880|
000850  e1d030f0          LDRSH    r3,[r0,#0]  ; Idle_flag
000854  e51f04d4          LDR      r0,|L1.904|
000858  e5902000          LDR      r2,[r0,#0]  ; Vcount
00085c  e51f0168          LDR      r0,|L1.1788|
000860  e5901000          LDR      r1,[r0,#0]  ; Timer_cnt0
000864  e28f00ec          ADR      r0,|L1.2392|
000868  ebfffffe          BL       Uart_Printf
;;;105    	
;;;106    	while(1) {
00086c  e1a00000          NOP      
                  |L1.2160|
000870  e1a00000          NOP      
;;;107    		//Uart_Printf("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");
;;;108    		Uart_Printf("%8d,%8d,%1d\n", Timer_cnt0, Vcount, Idle_flag);
000874  e51f050c          LDR      r0,|L1.880|
000878  e1d030f0          LDRSH    r3,[r0,#0]  ; Idle_flag
00087c  e51f04fc          LDR      r0,|L1.904|
000880  e5902000          LDR      r2,[r0,#0]  ; Vcount
000884  e51f0190          LDR      r0,|L1.1788|
000888  e5901000          LDR      r1,[r0,#0]  ; Timer_cnt0
00088c  e28f00c4          ADR      r0,|L1.2392|
000890  ebfffffe          BL       Uart_Printf
;;;109    		for(i=0; i<1024*32; i+=4) {
000894  e3a00000          MOV      r0,#0
000898  e1a04000          MOV      r4,r0
                  |L1.2204|
00089c  e3540c80          CMP      r4,#0x8000
0008a0  aa000004          BGE      |L1.2232|
0008a4  ea000002          B        |L1.2228|
                  |L1.2216|
0008a8  e2840004          ADD      r0,r4,#4
0008ac  e1a04000          MOV      r4,r0
0008b0  eafffff9          B        |L1.2204|
;;;110    			//*(U32 *)(XADDR+i) = i;
;;;111    			//*(U32 *)(XADDR+i);
;;;112    		}
                  |L1.2228|
0008b4  eafffffb          B        |L1.2216|
;;;113    		if(Uart_GetKey()==ESC_KEY) break;
                  |L1.2232|
0008b8  ebfffffe          BL       Uart_GetKey
0008bc  e3500071          CMP      r0,#0x71
0008c0  1a000000          BNE      |L1.2248|
0008c4  ea000000          B        |L1.2252|
;;;114    	}
                  |L1.2248|
0008c8  eaffffe8          B        |L1.2160|
;;;115    
;;;116    	rINTMSK = BIT_ALLMSK;
                  |L1.2252|
0008cc  e3e00000          MVN      r0,#0
0008d0  e3a0144a          MOV      r1,#0x4a000000
0008d4  e5810008          STR      r0,[r1,#8]
;;;117    }
0008d8  e28dd01c          ADD      sp,sp,#0x1c
0008dc  e8bd8030          LDMFD    sp!,{r4,r5,pc}
                  |L1.2272|
0008e0  20737644          DCB      "Dvs "
0008e4  74736574          DCB      "test"
0008e8  00000a2e          DCB      ".\n\0\0"
                  |L1.2284|
0008ec  6e616843          DCB      "Chan"
0008f0  63206567          DCB      "ge c"
0008f4  2065726f          DCB      "ore "
0008f8  65657073          DCB      "spee"
0008fc  6f742064          DCB      "d to"
000900  36363220          DCB      " 266"
000904  2e7a484d          DCB      "MHz."
000908  0000000a          DCB      "\n\0\0\0"
                  |L1.2316|
00090c  00000000          DCD      |L1.888|
                  |L1.2320|
000910  00000000          DCD      |L1.896|
                  |L1.2324|
000914  0001c200          DCD      0x0001c200
                  |L1.2328|
000918  00000000          DCD      Pclk
                  |L1.2332|
00091c  63656843          DCB      "Chec"
000920  6c43206b          DCB      "k Cl"
000924  74756f6b          DCB      "kout"
000928  43463a30          DCB      "0:FC"
00092c  202c4b4c          DCB      "LK, "
000930  6f6b6c43          DCB      "Clko"
000934  3a317475          DCB      "ut1:"
000938  4b4c4348          DCB      "HCLK"
00093c  00000a2e          DCB      ".\n\0\0"
                  |L1.2368|
000940  746e6354          DCB      "Tcnt"
000944  6356202c          DCB      ", Vc"
000948  202c746e          DCB      "nt, "
00094c  656c6449          DCB      "Idle"
000950  616c665f          DCB      "_fla"
000954  000a2e67          DCB      "g.\n\0"
                  |L1.2392|
000958  2c643825          DCB      "%8d,"
00095c  2c643825          DCB      "%8d,"
000960  0a643125          DCB      "%1d\n"
000964  00000000          DCB      "\0\0\0\0"
                          ENDP

                  Led_Onoff PROC
;;;303    void Led_Onoff(int Led_No, int On_Off)
;;;304    {
000968  e3510001          CMP      r1,#1
;;;305    	// GPF7  GPF6   GPF5   GPF4
;;;306    	//nLED_8 nLED4 nLED_2 nLED_1
;;;307    	if(On_Off==ON) rGPFDAT = (rGPFDAT & ~Led_No);
00096c  1a000005          BNE      |L1.2442|
000970  e3a02456          MOV      r2,#0x56000000
000974  e5922054          LDR      r2,[r2,#0x54]
000978  e1c22000          BIC      r2,r2,r0
00097c  e3a03456          MOV      r3,#0x56000000
000980  e5832054          STR      r2,[r3,#0x54]
000984  ea000004          B        |L1.2460|
;;;308    	else rGPFDAT = (rGPFDAT | Led_No);
                  |L1.2442|
000988  e3a02456          MOV      r2,#0x56000000
00098c  e5922054          LDR      r2,[r2,#0x54]
000990  e1822000          ORR      r2,r2,r0
000994  e3a03456          MOV      r3,#0x56000000
000998  e5832054          STR      r2,[r3,#0x54]
;;;309    }
                  |L1.2460|
00099c  e1a0f00e          MOV      pc,lr
                          ENDP



                          AREA ||.data||, DATA, ALIGN=2

                  ||.data$0||
                  Div_flag
                          DCW      0x007c
                          DCB      0x00,0x00
                  timer_val_arr
                          DCD      0x00000128
                          DCD      0x00000269
                          DCD      0x00000322
                          DCD      0x00000504


                          AREA ||.bss||, NOINIT, ALIGN=2

                  Vcount
                  ||.bss$2||
                          % 4
                  Timer_cnt0
                          % 4
                  Idle_flag
                          % 2
                  intr_flag
                          % 2
                  timer_select
                          % 4


        END

⌨️ 快捷键说明

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