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.

AM4378: TFTP boot fails

Part Number: AM4378
Other Parts Discussed in Thread: TPS65218

I am trying to get the TFTP boot to work for the AM437x EVM board, but it doesn't seem to be working. I ran the setup script and get all the way through it, and at the end when it's supposed to run the minicom script and boot the board nothing happens. Minicom opens and just sits there and does nothing. I've tried both with the SD card plugged in and with it taken out, and both ways do not work. When the script gets to the point where you have to select which uImage you want to boot, I just select the default one. I'm not sure if this is right because there is no indication about which one I should be selecting or what the differences between all of them are. Any suggestions about what I could try to fix this issue are appreciated.

  • Which SDK are you using? I can try to reproduce the issue.

    Steve K.

  • I am using the TI Processor SDK Linux AM437x EVM, version 4.03.00.05
  • So I figured out why I wasn't getting any output in minicom, turns out I was using a faulty serial cable. But the tftp boot is still not working for some reason. This is the output in minicom when I try the tftp boot:

    U-Boot SPL 2017.01-gc68ed086bd (Mar 26 2018 - 14:49:09)
    Trying to boot from MMC1
    SPL: Please implement spl_start_uboot() for your board
    SPL: Direct Linux boot not active!
    reading u-boot.img
    reading u-boot.img
    reading u-boot.img
    reading u-boot.img


    U-Boot 2017.01-gc68ed086bd (Mar 26 2018 - 14:49:09 -0400)

    CPU : AM437X-GP rev 1.2
    Model: TI AM437x GP EVM
    DRAM: 2 GiB
    PMIC: TPS65218
    NAND: 512 MiB
    MMC: OMAP SD/MMC: 0
    reading uboot.env
    Net: cpsw, usb_ether
    Hit any key to stop autobo 0
    =>env default -f -a
    ## Resetting to default environment
    =>saveenv
    Saving Environment to FAT...
    writing uboot.env
    done
    =>reset
    resetting ...

    U-Boot SPL 2017.01-gc68ed086bd (Mar 26 2018 - 14:49:09)
    Trying to boot from MMC1
    SPL: Please implement spl_start_uboot() for your board
    SPL: Direct Linux boot not active!
    reading u-boot.img
    reading u-boot.img
    reading u-boot.img
    reading u-boot.img


    U-Boot 2017.01-gc68ed086bd (Mar 26 2018 - 14:49:09 -0400)

    CPU : AM437X-GP rev 1.2
    Model: TI AM437x GP EVM
    DRAM: 2 GiB
    PMIC: TPS65218
    NAND: 512 MiB
    MMC: OMAP SD/MMC: 0
    reading uboot.env
    Net: <ethaddr> not set. Validating first E-fuse MAC
    cpsw, usb_ether
    Hit any key to stop autobo 0
    =>setenv serverip 192.168.44.238
    =>setenv rootpath '/home/ULTRATEC/thunsucker/TI-SDK/targetNFS'
    =>setenv bootfile zImage-am437x-evm.bin
    =>setenv ip_method dhcp
    =>setenv nfsopts 'nolock,v3,tcp,rsize=4096,wsize=4096'
    =>setenv devtype mmc
    =>setenv getuenv 'setenv devnum ${mmcdev}; if mmc rescan; then if run loadbootenv; then run importbootenv;'
    =>setenv bootcmd 'run findfdt; run getuenv; setenv autoload no;dhcp ;tftp ${loadaddr} zImage-am437x-evm.bi'
    =>saveenv
    Saving Environment to FAT...
    writing uboot.env
    done
    =>boot
    reading uEnv.txt
    717 bytes read in 5 ms (139.6 KiB/s)
    Importing environment from mmc0 ...
    link up on port 0, speed 100, full duplex
    BOOTP broadcast 1
    DHCP client bound to address 192.168.44.201 (11 ms)
    link up on port 0, speed 100, full duplex
    Using cpsw device
    TFTP from server 192.168.4.5; our IP address is 192.168.44.201; sending through gateway 192.168.44.1
    Filename 'zImage-am437x-evm.bin'.
    Load address: 0x82000000
    Loading: *
    TFTP error: 'File not found' (1)
    Not retrying...
    link up on port 0, speed 100, full duplex
    Using cpsw device
    TFTP from server 192.168.4.5; our IP address is 192.168.44.201; sending through gateway 192.168.44.1
    Filename 'am437x-gp-evm.dtb'.
    Load address: 0x88000000
    Loading: *
    TFTP error: 'File not found' (1)
    Not retrying...
    =>

    Any idea what could be causing this?
  • On your TFTP server, can you make sure the two files are in the directory that TFTP uses to fetch files?

    Steve K.
  • Yeah they are.

    Where it says "TFTP from server 192.168.4.5" in the output message, I'm assuming that IP address is supposed to be the one that I entered in the setup script (the IP address of my Linux machine), but it's not. The address of my machine is 192.168.44.238, but as you can see it's listing it as 192.168.4.5. I can actually change the value of serverip in the uBoot environment variables to the address of my machine, run boot, and see that serverip is changed to 192.168.4.5. So for some reason it is trying to find the file at the wrong IP address.
  • That is strange. Can you attach your uenv.txt and uboot.env? Also print out the environment. I'd like to look around and see if I see anything in there.

    Steve K.
  • So I ended up finding out what the issue was. The company network that I am using apparently has a TFTP server running on it, and the EVM was grabbing onto that server and trying to use it. Seems weird that you enter the IP address of your host machine that the correct TFTP server is running on, and it really doesn't use it at all. It just uses the first TFTP server that it finds...