转自这里

http://blog.csdn.net/liukun321/article/details/7270426

编译

make ARCH=arm CROSS_COMPILE=arm-linux- tiny210_config

make ARCH=arm CROSS_COMPILE=arm-linux- all spl

copy到SD卡

sudo dd iflag=dsync oflag=dsync if=tiny210-uboot.bin of=/dev/sdc seek=1


烧写到nand中

 tftp 21000000 tiny210-uboot.bin

nand erase.chip

nand write 21000000 0 3b4c4  //3b4c4 is size


启动

bootcmd=tftp 21000000 uImage;bootm 21000000

必须用bootm,用go会有类似这种问题Error: unrecognized/unsupported machine ID (r1 = 0x33f60264),machine id uboot并未传给kernel


bootm地址设为 20008000 不行(zImage加载地址是这里,在arch/arm/mach-210/Makefile.boot中可以看到)



uboot command: bdinfo 查看一些信息


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.

Logo

更多推荐