主题 : 移植uboot到tiny210v2开发板上问题 复制链接 | 浏览器收藏 | 打印
好好学习,天天向上
级别: 侠客
UID: 22440
精华: 0
发帖: 106
金钱: 530 两
威望: 106 点
贡献值: 0 点
综合积分: 212 分
注册时间: 2010-06-01
最后登录: 2015-06-09
楼主  发表于: 2012-11-28 21:19

 移植uboot到tiny210v2开发板上问题

PS:解决u-boot for tiny210 在启动友善提供的mini210 linux内核/android出现卡死在Uncompressing Linux... done, booting the kernel.  

1.由于友善提供的内核时mini210的,第一步先修改u-boot for tiny210的机器码,使之与内核机器码匹配。

修改include/configs/tiny210.h

#define MACH_TYPE_TINY210 3466

2.友善提供的是mini210的内核,根据内核和mini210 uboot里的配置(我手里没有mini210开发板),可以知道mini210的DDR2ram

和tiny210DDR2ram在bank的挂载方式是不同的,详见我的http://blog.csdn.net/liukun321/article/details/7270426 ,故需要修改内核

源码的arch/arm/mach-s5pv210/include/mach/memory.h文件26,27行内容,将Maximum of 256MiB in one bank的限制改为Maximum

of 512MiB in one bank  作如下修改:

#define SECTION_SIZE_BITS    29
#define NODE_MEM_SIZE_BITS    29

通过上述两步修改u-boot for tiny210即可成功引导linux/android.



各位大侠,我的开发板是tiny210v2,为什么我照上面的步骤做了,下载内核启动后,还是出现启动友善提供的mini210 linux内核/android出现卡死在Uncompressing Linux... done, booting the kernel.  


好好学习,天天向上
级别: 侠客
UID: 22440
精华: 0
发帖: 106
金钱: 530 两
威望: 106 点
贡献值: 0 点
综合积分: 212 分
注册时间: 2010-06-01
最后登录: 2015-06-09
1楼  发表于: 2012-11-30 10:20
没人顶,我自己顶起,继续..
我在uboot里的arch/arm/lib/bootm.c的do_bootm_linux函数里加入打印信息:
/*add by wzy*/
    printf ("\n## Transferring control to Linux (at address %08lx) ...\n",(ulong) kernel_entry);
    printf("######machid=%2d#############\n",machid);
    printf("######bd->bi_boot_params=%08lx\n",bd->bi_boot_params);
    
    kernel_entry(0, machid, bd->bi_boot_params);
    /* does not return */

    printf("\ndo_bootm_linux failed ...\n");
加入打印函数,重新烧录uboot后,开发板上电串口打印信息为:

## Transferring control to Linux (at address 20008000) ...
######machid=3466#############
######bd->bi_boot_params=20000100

说明我的内核入口地址和机器ID以及uboot给内核传递参数的地址也是正确的,为什么还是不能正常启动内核?
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
2楼  发表于: 2012-11-30 13:10

 回 楼主(llfx1234) 的帖子

造成这个问题的原因有很多,希望这个老帖子对你有帮助
http://www.aiothome.net/read.php?tid-207.html
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
好好学习,天天向上
级别: 侠客
UID: 22440
精华: 0
发帖: 106
金钱: 530 两
威望: 106 点
贡献值: 0 点
综合积分: 212 分
注册时间: 2010-06-01
最后登录: 2015-06-09
3楼  发表于: 2012-12-03 17:02
问题已解决,果断把内核版本换为linux-2.6.35.7,然后改了一下内核
源码的arch/arm/mach-s5pv210/include/mach/memory.h文件26,27行内容,将Maximum of 256MiB in one bank的限制改为Maximum
of 512MiB in one bank  作如下修改:
#define SECTION_SIZE_BITS    29
#define NODE_MEM_SIZE_BITS    29

通过上述两步修改u-boot for tiny210v2即可成功引导linux
级别: 侠客
UID: 44031
精华: 0
发帖: 53
金钱: 265 两
威望: 53 点
贡献值: 0 点
综合积分: 106 分
注册时间: 2011-04-21
最后登录: 2014-05-14
4楼  发表于: 2013-01-22 15:33
你好,请问你的tiny210v2是2G MLC吗?我也是使用的TINY210V2,是2G MLC NAND FLASH,使用kasim的u-boot从SD启动无法初始化NAND FLASH,应该是驱动的问题,你的是吗?希望交流学习下。