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.

sdk 8.0启动问题

    自己做的3358板子,使用ddr3(和BBB一样),nand启动;

使用sdk8.0的uboot和kernel,修改了uboot中的read_eeprom、sdram_init中config_ddr使用和BBB一样的参数。

    在启动时,串口信息如下:

U-Boot SPL 2014.07-00107-gd28f2b9-dirty (Jan 23 2017 - 16:27:26) The Expected Linux image was not found. Please check your NAND configuration. Trying to start u-boot now...

U-Boot 2014.07-00107-gd28f2b9-dirty (Jan 23 2017 - 16:27:26)

I2C:   ready DRAM:  512 MiB NAND:  256 MiB MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1 *** Warning - bad CRC, using default environment

Net:   <ethaddr> not set. Validating first E-fuse MAC cpsw, usb_ether Hit any key to stop autoboot:  0 Card did not respond to voltage select! Card did not respond to voltage select! Card did not respond to voltage select! Card did not respond to voltage select! Booting from nand ...

NAND read: device 0 offset 0x80000, size 0x40000  262144 bytes read: OK

NAND read: device 0 offset 0x200000, size 0x500000  5242880 bytes read: OK Kernel image @ 0x82000000 [ 0x000000 - 0x415a48 ] ## Flattened Device Tree blob at 88000000    Booting using the fdt blob at 0x88000000    Loading Device Tree to 8fff3000, end 8ffff933 ... OK

Starting kernel ...

卡在这里不动。

    请问下,这是有哪里没有修改到吗?(使用开源社区的BBB的uboot和kernel启动能够正常,但开源社区的UBI挂载有问题)

谢谢!

  • 应该还是参数不对, kernel根本就没有启动

  • 进入uboot命令界面,输入printenv,截图看一下传参

  • 1、uboot参数不对的话,kernel会起不来吗?(我理解是kernel起来后运行不正常)

    2、uboot参数如下:

    U-Boot SPL 2014.07-00107-gd28f2b9-dirty (Jan 23 2017 - 20:57:24)

    The Expected Linux image was not found. Please check your NAND configuration.

    Trying to start u-boot now...

     

     

    U-Boot 2014.07-00107-gd28f2b9-dirty (Jan 23 2017 - 20:57:24)

     

    I2C:   ready

    DRAM:  512 MiB

    NAND:  256 MiB

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

    *** Warning - bad CRC, using default environment

     

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

    cpsw, usb_ether

    Hit any key to stop autoboot:  0

    U-Boot#

    U-Boot# printenv

    arch=arm

    baudrate=115200

    board=am335x

    board_name=A335X_SK

    board_rev=00C0

    boot_fdt=try

    bootcmd=run findfdt; run mmcboot;setenv mmcdev 1; setenv bootpart 1:2; run mmcboot;run nandboot;

    bootcount=1

    bootdelay=1

    bootdir=/boot

    bootenv=uEnv.txt

    bootfile=zImage

    bootm_size=0x10000000

    bootpart=0:2

    console=ttyO0,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 0x300 0x400;spl-os-args.raw raw 0x80 0x80;spl-os-image.raw raw 0x900 0x2000;spl-os-args fat 1 1;spl-os-image fat 1 1;u-boot.img fat 1 1;uEnv.txt fat 1 1

    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 0x400;spl-os-args.raw raw 0x80 0x80;spl-os-image.raw raw 0x900 0x2000;spl-os-args fat 0 1;spl-os-image fat 0 1;u-boot.img fat 0 1;uEnv.txt fat 0 1

    dfu_alt_info_nand=SPL part 0 1;SPL.backup1 part 0 2;SPL.backup2 part 0 3;SPL.backup3 part 0 4;u-boot part 0 5;u-boot-spl-os part 0 6;kernel part 0 8;rootfs part 0 9

    dfu_alt_info_ram=kernel ram 0x80200000 0xD80000;fdt ram 0x80F80000 0x80000;ramdisk ram 0x81000000 0x4000000

    eth1addr=f4:5e:ab:58:90:2e

    ethact=cpsw

    ethaddr=f4:5e:ab:58:90:2c

    fdt_addr_r=0x88000000

    fdtaddr=0x88000000

    fdtfile=undefined

    findfdt=if test $board_name = A335BONE; then setenv fdtfile am335x-bone.dtb; fi; if test $board_name = A335BNLT; then setenv fdtfile am335x-boneblack.dtb; fi; if test $board_name = A33515BB; then setenv fdtfile am335x-evm.dtb; fi; if test $board_name = A335X_SK; then setenv fdtfile am335x-evmsk.dtb; fi; if test $fdtfile = undefined; then echo WARNING: Could not determine device tree to use; fi;

    importbootenv=echo Importing environment from mmc ...; env import -t -r $loadaddr $filesize

    kernel_addr_r=0x82000000

    loadaddr=0x82000000

    loadbootenv=load mmc ${mmcdev} ${loadaddr} ${bootenv}

    loadfdt=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}

    loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}

    loadramdisk=load mmc ${mmcdev} ${rdaddr} ramdisk.gz

    mmcargs=setenv bootargs console=${console} ${optargs} root=${mmcroot} rootfstype=${mmcrootfstype}

    mmcboot=mmc dev ${mmcdev}; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadbootenv; then echo Loaded environment from ${bootenv};run importbootenv;fi;if test -n $uenvcmd; then echo Running uenvcmd ...;run uenvcmd;fi;if run loadimage; then run mmcloados;fi;fi;

    mmcdev=0

    mmcloados=run mmcargs; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then bootz ${loadaddr} - ${fdtaddr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi;

    mmcroot=/dev/mmcblk0p2 ro

    mmcrootfstype=ext4 rootwait

    mtdids=nand0=omap2-nand.0

    mtdparts=mtdparts=omap2-nand.0:128k(SPL),128k(SPL.backup1),128k(SPL.backup2),128k(SPL.backup3),256k(u-boot-spl-os),1m(u-boot),128k(u-boot-env),128k(u-boot-env.backup1),5m(kernel),-(rootfs)

    nandargs=setenv bootargs console=${console} ${optargs} root=${nandroot} rootfstype=${nandrootfstype}

    nandboot=echo Booting from nand ...; run nandargs; nand read ${fdtaddr} u-boot-spl-os; nand read ${loadaddr} kernel; bootz ${loadaddr} - ${fdtaddr}

    nandroot=ubi0:rootfs rw ubi.mtd=9,2048

    nandrootfstype=ubifs rootwait=1

    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; tftp ${loadaddr} ${bootfile}; tftp ${fdtaddr} ${fdtfile}; run netargs; bootz ${loadaddr} - ${fdtaddr}

    nfsopts=nolock

    partitions=uuid_disk=${uuid_gpt_disk};name=rootfs,start=2MiB,size=-,uuid=${uuid_gpt_rootfs}

    ramargs=setenv bootargs console=${console} ${optargs} root=${ramroot} rootfstype=${ramrootfstype}

    ramboot=echo Booting from ramdisk ...; run ramargs; bootz ${loadaddr} ${rdaddr} ${fdtaddr}

    ramdisk_addr_r=0x88080000

    ramroot=/dev/ram0 rw

    ramrootfstype=ext2

    rdaddr=0x88080000

    rootpath=/export/rootfs

    soc=am33xx

    spiargs=setenv bootargs console=${console} ${optargs} root=${spiroot} rootfstype=${spirootfstype}

    spiboot=echo Booting from spi ...; run spiargs; sf probe ${spibusno}:0; sf read ${loadaddr} ${spisrcaddr} ${spiimgsize}; bootz ${loadaddr}

    spibusno=0

    spiimgsize=0x362000

    spiroot=/dev/mtdblock4 rw

    spirootfstype=jffs2

    spisrcaddr=0xe0000

    static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off

    stderr=serial

    stdin=serial

    stdout=serial

    usbnet_devaddr=f4:5e:ab:58:90:2e

    vendor=ti

    ver=U-Boot 2014.07-00107-gd28f2b9-dirty (Jan 23 2017 - 20:57:24)

     

    Environment size: 4641/131067 bytes

    U-Boot# <INTERRUPT>

    U-Boot#

    请看看有什么问题吗?

    谢谢!

     

  • 问题解决了,原因是我们用的是BBB的电源管理,移植时电源管理没有进行初始化,因此当CPU频率大于300M时运行不稳定。