This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM572x Evaluation Module 无法从sd或者emmc1启动,卡在启动内核

Other Parts Discussed in Thread: BEAGLEBOARD-X15, AM5728

Hi,

问题: ti am572x 无法从sd或者emmc1启动,卡在启动内核

买了几块Ti Am572x的开发板: 链接(https://www.ti.com/tool/TMDSEVM572X)

1. 只有一块存在无法从sd卡或者板子本身的emmc1启动,现象均是 卡在启动内核

2. 进入u-boot 打印环境变量和板子信息,发现缺少序列号,不知道是否会影响到

8535.dem.txt
=> pri
arch=arm
args_mmc=run finduuid;setenv bootargs console=${console} ${optargs} root=PARTUUID=${uuid} ro rootfstype=${mmcrootfstype} ${cmdline}
args_mmc_old=setenv bootargs console=${console} ${optargs} root=${oldroot} ro rootfstype=${mmcrootfstype} ${cmdline}
args_mmc_uuid=setenv bootargs console=${console} ${optargs} root=UUID=${uuid} ro rootfstype=${mmcrootfstype} ${cmdline}
args_netinstall=setenv bootargs ${netinstall_bootargs} ${optargs} ${cape_disable} ${cape_enable} root=/dev/ram rw ${cmdline}
args_uenv_root=setenv bootargs console=${console} ${optargs} root=${uenv_root} ro rootfstype=${mmcrootfstype} ${musb} ${cmdline}
baudrate=115200
board=am57xx
board_eeprom_header=undefined
board_name=NULL
boot_fdt=try
boot_fit=0
bootcmd=run read_board_eeprom; run findfdt; setenv mmcdev 0; setenv interface usb; echo usb_boot is currently disabled;setenv inte;
bootdelay=2
bootdir=/boot
bootenvfile=uEnv.txt
bootfile=zImage
bootm_size=0x10000000
bootpart=0:2
bootscript=echo Running bootscript from ${interface}${mmcdev} ...; source ${loadaddr}
console=ttyO2,115200n8
cpu=armv7
dfu_alt_info_emmc=rawemmc raw 0 3751936;boot part 1 1;rootfs part 1 2;MLO fat 1 1;MLO.raw raw 0x100 0x100;u-boot.img.raw raw 0x3001
dfu_alt_info_mmc=boot part 0 1;rootfs part 0 2;MLO fat 0 1;MLO.raw raw 0x100 0x100;u-boot.img.raw raw 0x300 0x1000;u-env.raw raw 01
dfu_alt_info_ram=kernel ram 0x80200000 0x4000000;fdt ram 0x80f80000 0x80000;ramdisk ram 0x81000000 0x4000000
dfu_bufsiz=0x10000
dofastboot=0
eeprom_blank=i2c dev 0; i2c mw 0x50 0x00.2 ff; i2c mw 0x50 0x01.2 ff; i2c mw 0x50 0x02.2 ff; i2c mw 0x50 0x03.2 ff; i2c mw 0x50 0x 
eeprom_dump=i2c dev 0; i2c md 0x50 0x00.2 20; 
eeprom_sndrblock=i2c dev 0; i2c mw 0x50 0x00.2 aa; i2c mw 0x50 0x01.2 55; i2c mw 0x50 0x02.2 33; i2c mw 0x50 0x03.2 ee; i2c mw 0x5 
eeprom_x15_b1=i2c dev 0; i2c mw 0x50 0x00.2 aa; i2c mw 0x50 0x01.2 55; i2c mw 0x50 0x02.2 33; i2c mw 0x50 0x03.2 ee; i2c mw 0x50 0 
eeprom_x15_c=i2c dev 0; i2c mw 0x50 0x00.2 aa; i2c mw 0x50 0x01.2 55; i2c mw 0x50 0x02.2 33; i2c mw 0x50 0x03.2 ee; i2c mw 0x50 0x 
envboot=${interface} dev ${mmcdev}; if ${interface} rescan; then echo SD/MMC found on device ${mmcdev};if run loadbootscript; then;
eth1addr=50:51:a9:d4:0c:f9
ethact=cpsw
ethaddr=50:51:a9:d4:0c:f8
fdt_addr_r=0x88000000
fdtaddr=0x88000000
fdtcontroladdr=fdf1c958
fdtfile=undefined
findfdt=if test $board_name = omap5_uevm; then setenv fdtfile omap5-uevm.dtb; fi; if test $board_name = dra7xx; then setenv fdtfil 
finduuid=part uuid ${interface} ${bootpart} uuid
fit_bootfile=fitImage
fit_loadaddr=0x87000000
idk_lcd=no
importbootenv=echo Importing environment from ${interface}${mmcdev} ...; env import -t ${loadaddr} ${filesize}
kernel_addr_r=0x82000000
loadaddr=0x82000000
loadbootenv=fatload ${interface} ${mmcdev} ${loadaddr} ${bootenvfile}
loadbootscript=load ${interface} ${mmcdev} ${loadaddr} boot.scr
loadfdt=echo loading ${fdtdir}/${fdtfile} ...;  load ${interface} ${bootpart} ${fdtaddr} ${fdtdir}/${fdtfile}
loadfit=run args_mmc; bootm ${loadaddr}#${fdtfile};
loadimage=load ${interface} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}
loadrd=load ${interface} ${bootpart} ${rdaddr} ${bootdir}/${rdfile}; setenv rdsize ${filesize}
mmc=1
mmc_boot=${interface} dev ${mmcdev}; if ${interface} rescan; then echo Scanning ${interface} device ${mmcdev};setenv bootpart ${mm;
mmcboot=mmc dev ${mmcdev}; setenv devnum ${mmcdev}; setenv devtype mmc; if mmc rescan; then echo SD/MMC found on device ${mmcdev};;
mmcdev=0
mmcloados=run args_mmc; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then bootz ${loadaddr} - ${fdtad;
mmcrootfstype=ext4 rootwait
netargs=setenv bootargs console=${console} ${optargs} root=/dev/nfs nfsroot=${serverip}:${rootpath},${nfsopts} rw ip=dhcp
netboot=echo Booting from network ...; setenv autoload no; dhcp; run netloadimage; run netloadfdt; run netargs; bootz ${loadaddr} }
netloadfdt=tftp ${fdtaddr} ${fdtfile}
netloadimage=tftp ${loadaddr} ${bootfile}
nfsopts=nolock
partitions=uuid_disk=${uuid_gpt_disk};name=rootfs,start=2MiB,size=-,uuid=${uuid_gpt_rootfs}
partitions_android=uuid_disk=${uuid_gpt_disk};name=xloader,start=128K,size=256K,uuid=${uuid_gpt_xloader};name=bootloader,size=2304}
pxefile_addr_r=0x80100000
ramdisk_addr_r=0x88080000
rdaddr=0x88080000
read_board_eeprom=if test $board_eeprom_header = beagle_x15_revb1_blank; then run eeprom_dump; run eeprom_x15_b1; reset; fi; if te 
rootpath=/export/rootfs
scriptaddr=0x80000000
scsi_boot=${interface} reset ; if ${interface} dev ${mmcdev}; then echo Scanning ${interface} device ${mmcdev};setenv bootpart ${m;
scsidevs=0
soc=omap5
static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off
stderr=serial@48020000
stdin=serial@48020000
stdout=serial@48020000
uname_boot=setenv bootdir /boot; setenv bootfile vmlinuz-${uname_r}; if test -e ${interface} ${bootpart} ${bootdir}/${bootfile}; t;
update_to_fit=setenv loadaddr ${fit_loadaddr}; setenv bootfile ${fit_bootfile}
usb_boot=${interface} reset ; if ${interface} dev ${mmcdev}; then echo Scanning ${interface} device ${mmcdev};setenv bootpart ${mm;
usbtty=cdc_acm
vendor=ti
ver=U-Boot 2017.01-00360-gc604741cb3 (Aug 11 2017 - 15:47:09 -0500)
vram=16M

Environment size: 16147/65532 bytes


=> bdinfo
arch_number = 0x00000000
boot_params = 0x80000100
DRAM bank   = 0x00000000
-> start    = 0x80000000
-> size     = 0x80000000
eth0name    = cpsw
ethaddr     = 50:51:a9:d4:0c:f8
current eth = cpsw
ip_addr     = <NULL>
baudrate    = 115200 bps
TLB addr    = 0xFFFF0000
relocaddr   = 0xFFF43000
reloc off   = 0x7F743000
irq_sp      = 0xFDF1C940
sp start    = 0xFDF1C930
Early malloc usage: 7c0 / 2000

  • 请将完整的启动打印信息上传。
    使用的sdk版本是什么?
    请问您是指缺少哪个序列号?
  • 抱歉,回复晚了!

    1. 下面是有问题的板子打印的信息

    U-Boot SPL 2017.01 (Dec 12 2018 - 13:48:43)

    DRA752-GP ES2.0

    Trying to boot from MMC2_2

    Card did not respond to voltage select!

    ** Bad device mmc 0 **

    Using default environment

    U-Boot 2017.01 (Dec 12 2018 - 13:48:43 +0800)

    CPU  : DRA752-GP ES2.0

    Model: TI AM5728 BeagleBoard-X15

    Board: UNKNOWN(BeagleBoard X15?) REV UNKNOWN

    DRAM:  2 GiB

    MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1

    MMC: no card present

    ** Bad device mmc 0 **

    Using default environment

    I2C chip 50: requested alen 2 does not match chip offset_len 1

    ti_i2c_eeprom_init failed -99

    setup_board_eeprom_env: NULL

    SCSI:  SATA link 0 timeout.

    AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode

    flags: 64bit ncq stag pm led clo only pmp pio slum part ccc apst

    scanning bus for devices...

    Found 0 device(s).

    Net:   <ethaddr> not set. Validating first E-fuse MAC

    cpsw

    Press SPACE to abort autoboot in 2 seconds

    WARNING: Could not determine device tree to use

    usb_boot is currently disabled

    scsi_boot is currently disabled

    MMC: no card present

    MMC: no card present

    switch to partitions #0, OK

    mmc1(part 0) is current device

    Scanning mmc device 1

    Checking for: /uEnv.txt ...

    Checking for: /boot/uEnv.txt ...

    151 bytes read in 4 ms (36.1 KiB/s)

    Loaded environment from /boot/uEnv.txt

    Checking if uname_r is set in /boot/uEnv.txt ...

    debug: [uname_r=4.9.69-rr-1.1] ...

    loading /boot/vmlinuz-4.9.69-rr-1.1 ...

    3795976 bytes read in 51 ms (71 MiB/s)

    unable to find undefined ...

    booting legacy ...

    debug: [console=ttyO2,115200n8 root=PARTUUID=f76f0bc6-01 ro rootfstype=ext4 rootwait] ...

    debug: [bootz 0x82000000] ...

    Starting kernel ...

    2. 正常板子启动打印的信息

    有问题的地方:Board: UNKNOWN(BeagleBoard X15?) REV UNKNOWN???

    这代表找不到对应的设备树?

    如何解决呢?

    谢谢!

  • 根据Board: UNKNOWN(BeagleBoard X15?) REV UNKNOWN???看上面printenv打印也有点问题:
    board_name=NULL
    findfdt=if test $board_name = omap5_uevm; then setenv fdtfile omap5-uevm.dtb; fi; if test $board_name = dra7xx; then setenv fdtfil
    finduuid=part uuid ${interface} ${bootpart} uuid
    建议对比正常启动的板子看一下,试试重新设置一下环境变量。
  • e2e.ti.com/.../722949
    相似的问题,目前在尝试解决
  • 根据上述链接,更改U-boot中默认配置版本,使能EEPROM,u8 pin7接地,图片中EEPROM内容,i2c mw 0x50 00.2 0xXX,写EEPROM内容,i2c md 0x50 00.2 0x20,查看是否写成功。