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

📄 main.c

📁 杭州立宇泰ARMsys-P型ARM开发板BIOS代码
💻 C
字号:
/****************************************************************
 *		ARMSYS7 S3C44B0X developer's notes						*  
 ****************************************************************

 
 ***************************************************************/

#include "..\inc\44b.h"
#include "..\inc\option.h"
#include "..\inc\def.h"
#include "..\inc\config.h"
#include "..\inc\board.h"
#include "..\inc\utils.h"
#include "..\inc\tftp\mac.h"
#include "..\inc\fat16.h"

void Isr_Init(void);
void HaltUndef(void) ;
void HaltSwi(void);
void HaltPabort(void);
void HaltDabort(void);
void FiqHandler(void);
void IrqHandler(void);
extern U32 NandFlashSize;
void nandkey(void);
/****************************************************************************
【功能说明】系统主函数
****************************************************************************/
void Main(void)
{
	DisableInt();	//Disable interrupt
	
	BoardInitStart();
	
	SystemClockInit();
	TimerInit(TIMER_FREQ);
	MemCfgInit();
	PortInit();
	SerialChgBaud(115200);
	
	Isr_Init();
	LedSet(0xf);
	Beep(2000, 100);
	LedSet(0x0);
	
	DftEnvInit();	//初始化系统参数
	
#ifdef	NAND_FLASH_SUPPORT
	NandFlashInit();
	
#endif
	
#ifdef	TFTP_DOWNLOAD_SUPPORT
	eth_init();
	arp_init();
#endif
	
	BoardInitEnd();

//	CacheDisable();

	CacheFlush();
	CacheEnable();	
	ShowBootInfo();

#ifdef	NAND_FLASH_SUPPORT
	NandFlashStatusRep();
	if(NandFlashSize != 0)
		FatInit(0);
#endif
	//printf("Build  date : %s--%s\n", __DATE__, __TIME__);

//#ifdef  nandkey();
//#endif
#ifdef	CMD_SHELL_SUPPORT
	ShellIn();
#else
	while(1) 
	{
		LedDisp();
		ERROR("No Command Shell, Enter This Loop Forever...\n");
	}	
#endif	
}
//***************************************************************************

void Isr_Init(void)
{
	pISR_UNDEF	=(unsigned)HaltUndef;
    pISR_SWI  	=(unsigned)HaltSwi;
    pISR_PABORT	=(unsigned)HaltPabort;
    pISR_DABORT	=(unsigned)HaltDabort;
	pISR_IRQ	=(unsigned)IrqHandler;
	pISR_FIQ	=(unsigned)FiqHandler;
}

void HaltUndef(void) 
{
	puts("Halt on Undefined instruction\n");
	while (1);
}
void HaltSwi(void)
{
	puts("Swi Interrupt detected\n");
		while(1);
}

void HaltPabort(void)
{
	puts("Prefetch Abort detected\n");
	while (1);
}

void HaltDabort(void)
{
	puts("Data Abort detected\n");
	while (1);
}

void IrqHandler(void)   
{
	puts("Halt on IRQ!\n");
	while(1);
}

void FiqHandler(void)
{
	puts("Halt on FIQ!\n");
	while(1);
}

⌨️ 快捷键说明

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