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

📄 main.c

📁 开发环境为arm公司的ads,这个bootloader适用于arm920t核心的三星公司的s3c2410处理器.
💻 C
字号:
/****************************************************************************
【文  件  名  称】Main.c
【功  能  描  述】FS2410XP教学平台实验程序
【程  序  版  本】3.0
【创建及创建日期】优龙公司/2005-XX-XX
【修改及修改日期】2005-5-23
****************************************************************************/
//头文件定义
#include "def.h"
#include "2410addr.h"
#include "config.h"
#include "board.h"

char boot_params[256];
unsigned long download_len;
unsigned long download_addr;
#define	LOCAL_IP_ADDR	((192UL<<24)|(168<<16)|(3<<8)|100)
#define DOWNLOAD_ADDR 	0x30008000
/********************************************************************
Function name: tftp_down
Parameter    : void
Description	 : tftp下载
Return		 : void
Argument     : void
Autor & date :
*********************************************************************/
void tftp_down(void)
{
	printf("Now download file from net to 0x%x...\n", DOWNLOAD_ADDR);
	eth_init();
	arp_init();
	download_len=-1;
	download_addr=DOWNLOAD_ADDR;
	NetLoadFile(download_addr,LOCAL_IP_ADDR,0,0);
	if ( download_len == -1 )
		printf("Tftp Download Aborted!\n");
	else
		printf("\nReceived %x bytes success\n", download_len);	
	printf("TFTP Download Test OK\n");
}

//定义了一个命令功能的数据结构
struct {
	void (*fun)(void);
	char *tip;
}CmdTip[] = {
				{tftp_down,	   "tftp download"},
				{NandWrite, "Write Nand flash with download file"},
				{UpdateBootLoader,"Updata Bootloader with download file"},
				{NandLoadRun,      "boot linux"},
				{0, 0}						
			};

/***************************************************************************
Function name: Main
Parameter    : void
Description  : 初始化系统,串口,并调用TFTP网络传输实验函数
Return	     : void
Argument     : 
Autor & date :
****************************************************************************/
void Main(void)
{
	int idx,i;
	BoardInitStart();		//系统初始化,MMU初始化
	SystemClockInit();		//系统时钟初始化
	MemCfgInit();			//设置NAND FLASH的配置寄存器
	PortInit();				//S3C2410X的GPIO初始化

	SerialSwitch(0);		//选择串口0
	SerialChgBaud(115200);	//波特率115200

   
	while(1)
	{
		puts("\nPlease select function : \n");	
		for(i=0; CmdTip[i].fun!=0; i++)
			printf("%d : %s\n", i, CmdTip[i].tip);//打印BootLoader的功能菜单
		idx=getch();
		idx-='0';
		if(idx<i){
		(*CmdTip[idx].fun)();							//调用相应的功能函数
		}
	}
}
/**************************************************************************/

⌨️ 快捷键说明

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