board.c

来自「嵌入式系统mcf5272华恒光盘开发板附源代码」· C语言 代码 · 共 82 行

C
82
字号
#include "arch.h"#include "mcfuart.h"char	ident[] = "Motorola 5307 C3";char	copyright[] = "(C) 2002 Ken Treis (ken@reasonability.net)";extern unsigned int downloadPort;extern unsigned int image_size;extern unsigned char *xfer_addr;extern unsigned char *down_addr;extern unsigned char *dest_addr;extern unsigned char *source_addr;extern unsigned long consoleBase;void configureConsole(){	consoleBase = MCFUART_BASE1;	configureSerial(consoleBase, 19200, MCF_CLK);}void configureAuxSerial(){	configureSerial(MCFUART_BASE2, 115200, MCF_CLK);}void setLED() {};void setImageParams(){	downloadPort = 1;	image_size = 0x000f0000;	source_addr = (unsigned char *)0xfff10000;	down_addr = (unsigned char *)0xfff10000;	xfer_addr = (unsigned char *)0x20000;	dest_addr = (unsigned char *)0x20000;}void setupBoard(){	volatile unsigned char	*mbar;	mbar = (volatile unsigned char *) MCF_MBAR;		// CS0: Flash	*((volatile unsigned short *) (mbar + MCFSIM_CSAR0)) = 0xfff0;	*((volatile unsigned long *) (mbar + MCFSIM_CSMR0)) = 0x000f0001;	*((volatile unsigned short *) (mbar + MCFSIM_CSCR0)) = 0x1980;	/* CS2-7 */	*((volatile unsigned short *) (mbar + MCFSIM_CSBAR)) = 0x0000;	*((volatile unsigned short *) (mbar + MCFSIM_CSBAMR)) = 0xFF00;}static int delay(int size){	int	i;	for (i = 0; (i < size); i++)		nop();}void setupDRAM(){	volatile unsigned char *mbar = (unsigned char *)MCF_MBAR;	unsigned long	junk;	*((volatile unsigned short *) (mbar + MCFSIM_DCR)) = 0x8130;	*((volatile unsigned long *) (mbar + MCFSIM_DACR0)) = 0x00000300;	*((volatile unsigned long *) (mbar + MCFSIM_DMR0)) = 0x003c0001;	*((volatile unsigned long *) (mbar + MCFSIM_DACR0)) = 0x00000308;	junk = *((volatile unsigned long *) 0x200);	nop();	*((volatile unsigned long *) (mbar + MCFSIM_DACR0)) = 0x00008300;	delay(0x1000);	*((volatile unsigned long *) (mbar + MCFSIM_DACR0)) = 0x00008340;	*((volatile unsigned long *) 0x200) = 0x00000000;	delay(0x10);}

⌨️ 快捷键说明

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