Part Number: AM3359
Dears:
customer can not boot from eMMC.
Based the link(https://e2e.ti.com/support/processors/f/791/t/792162) customer compiled booting files of MLO and u-boot.img by eMMC, and separated the format of eMMC to two parts by falsher.sh.
And copied the files of MLO and u-boot.img under ../dev/mmcblk 1p1.
The information as follows:
Device Boot Start End #cyls #block[ 124.579857] mmcblk1: p1 p2
s Id System
/dev/mmcblk1p1 * 0+ 8 9- 72261 c W95 FAT32 (LBA)
/dev/mmcblk1p2 10 232 223 1791247+ 83 Linux
Then power off and boot again, however, BBB can not boot through eMMC and the error information is failed about loading MLO and u-boot.img.
There are some strange value during the last booting's step of reading the u-boot.img's image_header under u-boot debug mode.
enter spl_load_image_fat_buf:64.
spl: payload image: *s load addr: 0x20 size: -2139095072 // This is illegal value.
Jumping to U-Boot
loaded - jumping to U-Boot...
image entry point: 0x
The detailed log information as below file:
// 参考http://processors.wiki.ti.com/index.php/Sitara_Linux_Program_the_eMMC_on_Beaglebone_Black,
// make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=emmc am335x_boneblack_config all
// 打开u-boot debug模式后的启动log。
U-Boot SPL 2018.01-00558-g5cd92dbf12-dirty (Apr 12 2019 - 15:42:05)
omap24_i2c_findpsc: speed [kHz]: 100 psc: 0xb sscl: 0xd ssch: 0xf
Trying to boot from MMC2
uclass_find_device_by_seq: 0 -1
uclass_find_device_by_seq: 0 0
- -1 -1 'gpio_omap'
- -1 -1 'gpio_omap'
- -1 -1 'gpio_omap'
- -1 -1 'gpio_omap'
- not found
uclass_find_device_by_seq: 0 -1
uclass_find_device_by_seq: 0 0
- -1 0 'gpio_omap'
- found
uclass_find_device_by_seq: 0 1
- -1 0 'gpio_omap'
- -1 -1 'gpio_omap'
- -1 -1 'gpio_omap'
- -1 -1 'gpio_omap'
- not found
uclass_find_device_by_seq: 0 -1
uclass_find_device_by_seq: 0 0
- -1 0 'gpio_omap'
- found
uclass_find_device_by_seq: 0 1
- -1 0 'gpio_omap'
- -1 1 'gpio_omap'
- found
uclass_find_device_by_seq: 0 2
- -1 0 'gpio_omap'
- -1 1 'gpio_omap'
- -1 -1 'gpio_omap'
- -1 -1 'gpio_omap'
- not found
uclass_find_device_by_seq: 0 -1
uclass_find_device_by_seq: 0 0
- -1 0 'gpio_omap'
- found
uclass_find_device_by_seq: 0 1
- -1 0 'gpio_omap'
- -1 1 'gpio_omap'
- found
uclass_find_device_by_seq: 0 2
- -1 0 'gpio_omap'
- -1 1 'gpio_omap'
- -1 2 'gpio_omap'
- found
uclass_find_device_by_seq: 0 3
- -1 0 'gpio_omap'
- -1 1 'gpio_omap'
- -1 2 'gpio_omap'
- -1 -1 'gpio_omap'
- not found
part_init: try 'EFI': ret=-1
part_init: try 'DOS': ret=0
spl: mmc boot mode: fs
enter spl_mmc_do_fs_boot:259.
enter spl_start_uboot:250.
*** Warning - bad CRC, using default environment
Destroy Hash Table: 40303a74 table =
Create Hash Table: N=92
INSERT: table 40303a74, filled 1/97 rv 81f02ae8 ==> name="bootcmd" value="if test ${boot_fit} -eq 1; then run update_to_fit; fi; run findfdt; run init_console; run envboot;"
INSERT: table 40303a74, filled 2/97 rv 81f02b38 ==> name="bootdelay" value="2"
INSERT: table 40303a74, filled 3/97 rv 81f02908 ==> name="baudrate" value="115200"
INSERT: table 40303a74, filled 4/97 rv 81f02958 ==> name="arch" value="arm"
INSERT: table 40303a74, filled 5/97 rv 81f02f34 ==> name="cpu" value="armv7"
INSERT: table 40303a74, filled 6/97 rv 81f02ac0 ==> name="board" value="am335x"
INSERT: table 40303a74, filled 7/97 rv 81f02cc8 ==> name="board_name" value="am335x"
INSERT: table 40303a74, filled 8/97 rv 81f02cf0 ==> name="vendor" value="ti"
INSERT: table 40303a74, filled 9/97 rv 81f02b60 ==> name="soc" value="am33xx"
INSERT: free(data = 81f02708)
INSERT: done
enter spl_load_image_fat_buf:64.
spl: payload image: *s load addr: 0x20 size: -2139095072
Jumping to U-Boot
loaded - jumping to U-Boot...
image entry point: 0x
Btw, customer has tried to do the below method, but all failed, pls. kindly help to give more advice about it.
1. Directly use the prebuild image in the SDK.
2. Manually partition with eMMC, and formatting as FAE32 or FAE16.
3. Use different environment of ubuntu PC to compile.