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

📄 boot.c

📁 ADS开发的BOOTLOADER,针对2410,是某培训班出的!
💻 C
字号:
#include "uart.h"
#include "nand.h"
#include "boot.h"
#include "setup.h"
#include <string.h>
#define sdram_base 0x30000000
#define kernel_offer 0x8000
#define param_offer 0x100
#define s3c2410 193
#define page_sizes 0x1000
#define page_shift 12
#define sdram_sizes 0x04000000



static unsigned int kernel_from = 0x00030000;


void boot_kernel(int argc,char ** argv)
{unsigned int to;
char * s;
struct param_struct *params;
void (*fm)(int ,int);

unsigned int math_type;
to=sdram_base+kernel_offer;
params=(struct param_struct *)(sdram_base+param_offer);
  

memset(params, 0, sizeof(struct param_struct));



params->u1.s.page_size=page_sizes;
params->u1.s.nr_pages=(sdram_sizes>>page_shift);


s="console=ttyS0 root=/dev/nfs nfsroot=192.168.0.1:/QT2410E/root ip=192.168.0.5:192.168.0.1:192.168.0.1:255.255.255.0:eth0:off";

memcpy(params->commandline,s,(strlen(s)+1));
uart_send("commandline is:");

uart_send(params->commandline);



uart_send("\n\rNow copy Linux kernel\n\r");
nand_read(kernel_from,( unsigned char*)to,0x100000);
uart_send("\n\rDONE\n\r");


math_type=s3c2410;

uart_send("match_type=s3c2410\n\r");
uart_send("NOW boot linux\n\r");

fm=(void(*)())to;

fm(0,math_type);
}









⌨️ 快捷键说明

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