Problem 1:mfgtool cannot boot from eMMC after burning into image.
I2C3 Recovery Success
Found pfuze100!deviceid=10,revid=11
Net:got MAC address from iim:00:00:00:00:00:00
FEC0 [PRIME]
Hits any key tostop autoboot:0
Fec:link is down7949
ERROR: ' ethaddr ' not set
Fec:link is down7949
Wrongimage Format for BOOTM command
Error:can ' t Getkernel image!
Mx6solo sabresdu-boot >
Analysis: From a print message it should be that the MAC address is zero, causing the boot to fail.
Solve:
Uboot with someone else's call, Tip:
Net:got MAC address from iim:00:00:00:00:00:00
FEC0 [PRIME]
Hit any key to stop autoboot:0
Fec:link is up 796d
ERROR: ' ethaddr ' not set
Fec:link is up 796d
Wrong Image Format for BOOTM command
Error:can ' t get kernel image!
To add a parameter:
Setenv ethaddr 00:0c:0c:a0:02:6a;saveenv
After setting the saveenv (I called out the uboot, even this savenv command is not, but the version is:
U-boot 2009.08 (16 2013-12:53:32)
Modify:
Setenv Bootcmd runbootcmd_mmc;saveenv
Reset, start Linux kernel normal.
It seems that the fundamental reason is that the Uboot version is incorrect, resulting in a problem with post-compilation burn-in.
The U-boot-mx6solo-sabresd.bin (512Mbit DDR3) that burns into the board is bootable, but the problem is that Freescale Uboot default is set to Bootcmd=runbootcmd_net, ETH0ADDR is not set and therefore causes an error.
If default is set to Bootcmd=runbootcmd_mmc, there is no problem.
A number of uboot versions were tested, and there was no correct one, that is, the same uboot as the SABRESD reference design. Think carefully, perhaps the code is correct, that is, uboot configuration parameters, only to modify their own
Include/configs/mx6solo_sabresd.h and Include/configs/mx6solo_sabresd_mfg.h
The correct uboot parameters:
Mx6solo sabresdu-boot > Printenv
Bootdelay=3
baudrate=115200
ipaddr=192.168.1.103
Serverip=192.168.1.101
netmask=255.255.255.0
loadaddr=0x10800000
Rd_loadaddr= (0x10800000+ 0x300000)
Netdev=eth0
Ethprime=fec0
Uboot=u-boot.bin
Kernel=uimage
Nfsroot=/opt/eldk/arm
Bootargs_base=setenvbootargs console=ttymxc0,115200 NOSMP
Bootargs_nfs=setenvbootargs ${bootargs} root=/dev/nfs ip=dhcpnfsroot=${serverip}:${nfsroot},v3,tcp
Bootcmd_net=runbootargs_base Bootargs_nfs; Tftpboot ${loadaddr} ${kernel}; Bootm
Bootargs_mmc=setenvbootargs ${bootargs} ip=dhcp root=/dev/mmcblk0p1 rootwait
Bootcmd_mmc=runbootargs_base Bootargs_mmc; MMC Dev 3; MMC read ${loadaddr} 0x800 0x2000; Bootm
Stdin=serial
Stdout=serial
Stderr=serial
Ethact=fec0
BOOTARGS=CONSOLE=TTYMXC0,115200NOSMP Root=/dev/nfs ip=dhcp nfsroot=192.168.1.101:/opt/eldk/arm,v3,tcp
ethaddr=00:0c:0c:a0:02:6a
Bootcmd=runbootcmd_mmc
Environment size:851/8188 bytes
Mx6solo sabresdu-boot >
Mx6solo sabresdu-boot > Ping 192.168.1.90
Fec:link is up796d
Using FEC0 Device
Host 192.168.1.90is Alive//Network port OK.
Mx6solo sabresdu-boot >
Start Normal:
Freescale Login:root
LOGIN[2491]: Rootlogin on ' ttymxc0 '
Root@freescale ~$
After locating the problem, Uboot.bin is compiled to boot, but there are new problems:
Hits any key tostop autoboot:0
MMC3 (part 0) iscurrent device
MMC Read:dev # 3,block # 2048, Count 8192 ... 8192 blocks Read:ok
# # booting Kernelfrom Legacy Image at 10800000 ...
Image name:linux-3.0.35-2666-gbdde708
Image Type:arm Linux Kernel image (uncompressed)
Data size:3866444 Bytes = 3.7 MB
Load address:10008000
entrypoint:10008000
Verifying Checksum ... Ok
Loading Kernel Image ... Ok
Ok
Starting kernel ...
Uncompressinglinux. Done, booting the kernel.
died here. It's not moving.
Baidu, for two major reasons: machine type is wrong or the console configuration is not correct.
First, the kernel uimage on compile-time kernel hacking-kernellow-level debugging functions
To trace the cause.
Ubootinclude/asm-arm/mach-types.h:
#defineMACH_TYPE_MX6Q_SABRESD 3980
Kernel arch/arm/tools/mach-types:
MX6Q_SABRESD mach_mx6q_sabresd mx6q_sabresd 3980
Check it out is right. Instead of UBOOT-IMX, the resulting uboot.bin even MMC devices are missing.
Use make mx6q_sabresd_config to compile, resulting in no response to the serial port.
I have justdonwloaded a u-boot-v2009.08 from ftp://ftp.denx.de/pub/u-boot/, and patch it usingu-boot-v2009.08-imx_ 3.0.101_4.1.1.tar.bz2.
Download original ubootv2009.08 bag again hit Imx6patch, still is not. Freescale downloaded u-boot-2009.08 has been patch.
Thisproblem is positioned as follows:
Viinclude/configs/mx6solo_sabresd.h
#definePHYS_SDRAM_1_SIZE (512 * 1024 *1024)
Change this valuefrom 512M to 1024M would leads to this problem. But what andhow to resolve it?