疯雨-版权所有,转载请注明【http://blog.csdn.net/u010346967】
首先,分析下网上收集的解决方法:
1、uboot和内核的machine type 不匹配
那么uboot的machine type是多少怎么确定呢?打印出来不就知道了。所以在arch/arm/lib/bootm.c文件中添加printf函数,修改代码如下
r2 = gd->bd->bi_boot_params;
printf("machid:0x%x\n",machid);kernel_entry(0, machid, r2);
machine type在u-boot的配置在board/samsung/xxx/xxx.c文件中 (xxx表示开发板名字,我的路径为
board/samsung/goni/goni.c)
int board_init(void)
{
/* Set Initial global variables */
s5pc110_gpio = (struct s5pc110_gpio *)S5PC110_GPIO_BASE;
gd->bd->bi_arch_number = MACH_TYPE_GONI;
gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100;
这里MACH_TYPE_GONI宏是没有定义的,如果前面打印出来的machid值不是0xb2e,则在goni.c文件中添加 #define
MACH_TYPE_GONI 2862