OK6410烧写Android2.3.4流程记录

具体的流程在这里
http://blog.csdn.net/shulianghan/article/details/40299813

但是上面的这篇文章中,有些细节的地方需要注意。

image.png

上面的-不要直接复制,要用无输入法的键盘打入。

接下来按照里面的步骤走,到最后烧写成功,启动Android系统的时候可能会遇到一个很严重的错误。
系统内核的读取位置错误。

****************************************
**    u-boot 1.1.6                    **
**    Updated for OK6410  TE6410 Board  **
**    Version (2012-09-23)          **
**    OEM: Forlinx Embedded           **
**    Web: http://www.witech.com.cn   **
****************************************

CPU:     S3C6410 @532MHz
         Fclk = 532MHz, Hclk = 133MHz, Pclk = 66MHz, Serial = CLKUART (SYNC Mode) 
Board:   SMDK6410
DRAM:    256 MB
Flash:   0 kB
NAND:    1024 MB 
In:      serial
Out:     serial
Err:     serial
Hit any key to stop autoboot:  0 

NAND read: device 0 offset 0x500000, size 0x500000
5242880 bytes read: OK
## Booting image at c0008000 ...
Boot with Image

Starting kernel ...

undefined instruction
pc : [<50008004>]          lr : []
sp : cffffddc  ip : cfe7ffb8     fp : 00000000
r10: cff02618  r9 : 00000002     r8 : cfe7ffdc
r7 : 00000000  r6 : 00000000     r5 : 50000124  r4 : 00000000
r3 : 50008000  r2 : 50000100     r1 : 0000065a  r0 : 00000000
Flags: nZCv  IRQs off  FIQs off  Mode SVC_32
Resetting CPU ...

reset... 

解决的步骤:
1,使用SD卡启动,进入命令行模式打入

printenv

查看SD卡烧写环境变量,可以找到内核烧写的起始位置。

bootargs=root=/dev/mtdblock2 rootfstype=yaffs2 init=/linuxrc console=ttySAC0,115200
bootcmd=nand led-start;nand erase  ;fatload mmc 0:1 0x50008000 u-boot.bin;nand write.uboot 0x50008000 0 0x200000;fatload mmc 0:1 0x50008000 zImage;nand write.e    0x50008000 0x500000 0x500000; fatload mmc 0:1 0x50008000 rootfs.yaffs2; nand write.yaffs2 0x50008000 0x01e00000 $filesize;  nand  beep; nand led-end
bootdelay=1
baudrate=115200
ethaddr=00:40:5c:26:0a:5b
ipaddr=192.168.2.111
serverip=192.168.2.100
gatewayip=192.168.2.1
netmask=255.255.255.0
stdin=serial
stdout=lcd
stderr=lcd

Environment size: 573/16380 bytes

找到zImage;nand write.e 查看后面的参数
然后用Nandflash启动开发机,进入到命令行模式,然后输入

setenv bootcmd 'nand read 0x50008000 0x500000 0x500000;bootm 0x50008000'
saveenv

设置对了内核的起始读取位置后,烧写的系统就能正常启动了。

你可能感兴趣的:(OK6410烧写Android2.3.4流程记录)