I want my board of imx28 boot from u-boot,but u-boot cannot load linux .the log file and printenv log file are as fellow.
PowerPrep start initialize power...
Configured for 5v only power source. Battery powered operation disabled.
PowerPrep start initialize power...
Configured for 5v only power source. Battery powered operation disabled.
Oct 15 201616:44:12
FRAC 0x92925552
memory type is DDR2
Wait for ddr ready 1
power 0x00820710
Frac 0x92925552
start change cpu freq
hbus 0x00000003
cpu 0x00010002
U-Boot 2009.08 (10月 15 2016 - 15:58:31)
Freescale i.MX28 family
CPU: 227 MHz
BUS: 75 MHz
EMI: 205 MHz
GPMI: 24 MHz
DRAM: 64 MB
NAND: mfr_id: c2
Manufacturer : MXIC (0xc2)
Device Code : 0xf1
Cell Technology : SLC
Chip Size : 128 MiB
Pages per Block : 64
Page Geometry : 2048+64
ECC Strength : 4 bits
ECC Size : 512 B
Data Setup Time : 20 ns
Data Hold Time : 10 ns
Address Setup Time: 20 ns
GPMI Sample Delay : 6 ns
tREA : Unknown
tRLOH : Unknown
tRHOH : Unknown
Description : MX30LF1G08AA
128 MiB
MMC: IMX_SSP_MMC: 0, IMX_SSP_MMC: 1
*** Warning - bad CRC or NAND, using default environment
get ddr2 infromation fail,check it!
In: serial
Out: serial
Err: serial
Net: fec_get_mac_addr
got MAC address from IIM: 00:04:00:00:00:00
FEC0
Warning: FEC0 MAC addresses don't match:
Address in SROM is 00:04:00:00:00:00
Address in environment is 02:00:92:b3:c4:a8
Hit any key to stop autoboot: 0
NAND read: device 0 offset 0x200000, size 0x300000
3145728 bytes read: OK
Wrong Image Format for bootm command
ERROR: can't get kernel image!
MX28 U-Boot >
printenv log is:
bootcmd=run nand_boot
bootdelay=0
baudrate=115200
ipaddr=192.168.12.62
serverip=192.168.12.61
netmask=255.255.255.0
bootfile="uImage"
loadaddr=0x41600000
kernel=uImage
kernelsize=0x300000
rootfs=rootfs.ubifs
kerneladdr=0x00200000
nfsroot=/home/notroot/nfs/rootfs
bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp fec_mac=${ethaddr}
bootcmd_net=run bootargs_nfs; dhcp; bootm
bootcmd_mmc=run bootargs_mmc; mmc read 0 ${loadaddr} 100 3000; bootm
bootargs_nand=gpmi=g console=ttyAM0,115200n8 console=tty0 ubi.mtd=1 root=ubi0:rootfs rootfstype=ubifs ip=192.168.12.180:192.168.12.48:192.68.12
.1:255.255.255.0::eht0: fec_mac= ethact
bootargs_mmc=gpmi=g console=ttyAM0,115200n8 console=tty0 root=/dev/mmcblk0p3 rw ip=192.168.12.180:192.168.12.48:192.68.
12.1:255.255.255.0::eht0: fec_mac= ethact console=tty0 root=/dev/mmcblk0p3 rw ip=192.168.12.180:192.168.12.48:192.168.12.1:255.255.255.0::eht0:
fec_mac= console=tty0
bootargs=gpmi=g console=ttyAM0,115200n8 ubi.mtd=1 root=ubi0:rootfs rootfstype=ubifs fec_mac= ethact mem=64M
kernel=uImage
upuboot=tftp $(loadaddr) $(serverip):imx28_ivt_uboot.sb;nand erase 0x0 0x100000; nand write $(loadaddr) 0x0 0x100000
upkernel=tftp $(loadaddr) $(serverip):$(kernel);nand erase $(kerneladdr) $(kernelsize);nand write $(loadaddr) $(kerneladdr) $(kernelsize);
setenv kernelsize $(filesize); saveenv
uprootfs=mtdparts default;nand erase rootfs;ubi part rootfs;ubi create rootfs;tftp $(loadaddr) $(rootfs);ubi write $(loadaddr) rootfs $(filesi
ze)
tftp_boot=tftp $(loadaddr) $(serverip):uImage; bootm;
nand_boot=nand read.jffs2 $(loadaddr) $(kerneladdr) $(kernelsize);bootm $(loadaddr)
setnandboot=setenv bootcmd 'run nand_boot';saveenv
settftpboot=setenv bootcmd 'run tftp_boot';saveenv
upsystem=run upkernel;run uprootfs;reset
ethaddr=02:00:92:b3:c4:a8
mem=64M
stdin=serial
stdout=serial
stderr=serial
ethact=FEC0
ver=U-Boot 2009.08 (10月 15 2016 - 15:58:31)
Environment size: 1955/131068 bytes
Hi jie
please check supported modes (streams imx28_linux.sb, imx28_uboot.sb)
in attached Linux Guide sect.5.3.2 MMC/NAND Boot, sect.5.3.3 Network Boot.
So after booting uboot please use TFTP for running linux.
Board Support Packages (4)
i.MX28 Linux 2.6.35 Source Code Files and documentation (REV L2.6.35_1.1.0)
http://www.nxp.com/products/software-and-tools/software-development-tools/i.mx-software-and-tools/i....
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
My board has not Network,so I cannot use TFTP .my board only has one nand flash. I use mfgtool download linux to mx28.
I set these in mfgtool as fellow:
<LIST name="NAND uboot-kernel-rootfs(128MB)" desc="Install on singlechip NAND">
<CMD type="boot" body="Recovery" file="updater_ivt.sb" timeout="60" if="HabEnable">Booting update firmware.</CMD>
<CMD type="find" body="Updater" timeout="180"/>
<CMD type="push" body="mknod class/mtd,mtd0,/dev/mtd0" timeout="180" />
<CMD type="push" body="mknod class/mtd,mtd1,/dev/mtd1" timeout="180" />
<CMD type="push" body="mknod class/misc,ubi_ctrl,/dev/ubi_ctrl"/>
<CMD type="push" body="$ flash_eraseall /dev/mtd0">Erasing mtd0 partition</CMD>
<CMD type="push" body="send" file="files/imx28_ivt_uboot.sb">Sending uboot</CMD>
<CMD type="push" body="$ kobs-ng init -v $FILE">Flashing uboot firmware</CMD>
<CMD type="push" body="$ flash_erase /dev/mtd0 0x200000 32">Erasing 0x200000 32</CMD>
<CMD type="push" body="send" file="files/uImage">Sending uImage</CMD>
<CMD type="push" body="$ dd if=$FILE of=/dev/mtdblock0 bs=1M seek=2">Flashing uImage firmware</CMD>
<CMD type="push" body="$ echo Update Complete!">Done</CMD>
I set env as fellow:
bootfile="uImage"
loadaddr=0x41600000
kernel=uImage
kernelsize=0x300000
rootfs=rootfs.ubifs
kerneladdr=0x00200000nand_boot=nand read.jffs2 $(loadaddr) $(kerneladdr) $(kernelsize);bootm $(loadaddr)
other boot options, except described in attached previously Linux Guide
are not supported.