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

📄 param.c

📁 基于s3c2410、2440的从SD卡引导Linux内核程序
💻 C
字号:
#include "PaRAM.h"
#include "UART.h"
#include "Fat.h"
#include <string.h>

void setup_linux_param(unsigned int param_base)
{
	param_struct *params = (param_struct *)param_base; 
//	char *linux_cmd;
//	linux_cmd=ReadCmd((unsigned char *)"CmdLine",(unsigned char *)"ini");
	char linux_cmd[]="root=1f02 init=/linuxrc console=ttyS0,115200";
	//char linux_cmd[]="root=/dev/ram rw initrd=0x30800000,0x400000 ramdisk_size=0x400000 consloe=ttyS0,115200 mem=64M";
	//char linux_cmd[]="noinitrd root=/dev/nfs rw nfsroot=192.168.1.22:/home/working/nfs/rootfs ip=192.168.1.2:192.168.1.22::255.255.255.0 console=ttySAC0,115200 init=/linuxrc mem=64M";
	//char linux_cmd[]="mem=64M initrd=0x30800000,0x400000  root=/dev/ram0 rw console=ttyS0 115200";
	//char linux_cmd[]="initrd=0x30800000,0x400000  root=/dev/ram init=/linuxrc console=ttyS0 115200";
	//char linux_cmd[]="noinitrd root=/dev/bon/3 init=/linuxrc console=ttyS0";
	
	Uart_Printf(0,"Setup linux parameters at 0x%08lx\n", param_base);
	memset(params, 0, sizeof(param_struct));

	params->u1.s.page_size = LINUX_PAGE_SIZE;
	params->u1.s.nr_pages = (DRAM_SIZE >> LINUX_PAGE_SHIFT);

//	params->u1.s.ramdisk_size = 0x400000;
//	params->u1.s.rootdev = rootdev;
//	params->u1.s.flags = 0;

/*	params->u1.s.initrd_start = ?;
	params->u1.s.initrd_size = ?;
	params->u1.s.rd_start = ?;
*/	
	
#if 0
	params->u1.s.page_size = LINUX_PAGE_SIZE;
	params->u1.s.nr_pages = (DRAM_SIZE >> LINUX_PAGE_SHIFT);
	params->u1.s.ramdisk_size = 0;
	params->u1.s.rootdev = rootdev;
	params->u1.s.flags = 0;
	/* TODO */
	/* If use ramdisk */
#endif

	/* set linux command line */	
	memcpy(params->commandline, linux_cmd, strlen(linux_cmd) + 1);
	Uart_Printf(0,"linux command line is: \"%s\"\n\n", linux_cmd);
	
	//call_linux(0,193 , 0x30008000);
}

⌨️ 快捷键说明

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