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

📄 bootprog.c

📁 at91rm9200 bios v1.1 源码
💻 C
字号:
#include "def.h"
#include "config.h"
#include "console.h"
#include "params.h"

#include "slib.h"

void start_kernel(U32 address, U32 initrd)
{
	int i;
	void (*run)(int zero, int arch);
	
	//set mem=32m console=ttyS0 in 2.4.21, mem=31m console=ttyS4 in 2.4.19
//	char *linux_params = "root=/dev/ram rw mem=31m initrd=0x21000000,0x200000 init=/linuxrc console=ttyS0,115200";
	char *linux_params = "root=/dev/mtdblock4 rootfstype=yaffs mem=32m load_ramdisk=0 init=/linuxrc console=ttyS0,115200 devfs=mount";	
//	char *linux_params = "ramdisk_size=8192 init=/linuxrc console=ttyS0,115200, devfs=mount";
	struct param_struct *params = (struct param_struct *)0x20000100;
	
	for(i=0; i<(sizeof(struct param_struct)>>2); i++)
		((U32 *)params)[i] = 0;
	params->u1.s.page_size = LINUX_PAGE_SIZE;
	params->u1.s.nr_pages = (0x2000000 >> LINUX_PAGE_SHIFT);
	for(i=0; linux_params[i]; i++)
		params->commandline[i] = linux_params[i];
	
	putch('\n');
	delay(10);
	
	DisableInt();
	MMU_DisableICache();
	MMU_InvalidateICache();

	run = (void (*)(int, int))address;
	run(0, LINUX_MACHINE_ID);
}

⌨️ 快捷键说明

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