📄 boot.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 + -