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.

Linux/PROCESSOR-SDK-AM335X: How can I boot my system from NAND?

Part Number: PROCESSOR-SDK-AM335X

Tool/software: Linux

I have a SD card created by the processor SDK with my filesystem in it. Now I want to boot the AM335X-EVM from NAND。I tried to erase the NAND, write the u-boot.img and MLO to the NAND in u-boot, but it cannot works. So I wonder what should I do with the u-boot.img or MLO to boot from NAND? And is there any easier way to transfer my system to NAND?

  • Hello yan,

    You can find the easiest ways to flash the NAND described in this post. To boot from NAND you must setup the SW3 switch setting as shown in the U-Boot User's guide here and here. Also you can refer to this post and pay attention on SW3 SYSBOOT[15:14] settings too.

    Best regards,
    Kemal

  • I tried your method, but it still cannot boot successfully. Log is as followed.
    U-Boot 2018.01-g313dcd69c2 (Dec 16 2018 - 09:01:09 +0000)

    CPU : AM335X-GP rev 2.1
    Model: TI AM335x EVM
    DRAM: 1 GiB
    NAND: 256 MiB
    MMC: OMAP SD/MMC: 0
    ** Bad device mmc 0 **
    Using default environment

    <ethaddr> not set. Validating first E-fuse MAC
    Net: cpsw, usb_ether
    Hit any key to stop autoboot: 0
    MMC Device 1 not found
    no mmc device at slot 1
    MMC Device 1 not found
    no mmc device at slot 1
    ## Error: "bootcmd_nand0" not defined
    starting USB...
    USB0: scanning bus 0 for devices... 1 USB Device(s) found
    scanning usb for storage devices... 0 Storage Device(s) found
    cpsw Waiting for PHY auto negotiation to complete......... TIMEOUT !
    using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in
    MAC c4:ed:ba:88:46:63
    HOST MAC de:ad:be:ef:00:00

    It seems that the environment value is not defined.
  • https://e2e.ti.com/support/processors/f/791/p/557404/2061086?tisearch=e2e-sitesearch&keymatch=bootcmd_nand0#2061086

    I find this answer. The environment value in the u-boot image is bootcmd_nand=run nandboot. But in the evm, the nand name is nand0.

    So just run these commands:

    setenv bootcdm_nand0 run nandboot

    saveenv

    And reboot, it just works now.