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/AM5718: eMMC production programming

Part Number: AM5718
Other Parts Discussed in Thread: DRA722, PMP

Tool/software: Linux

Hi,

We have developed a SBC with AM5718 processor, and I am using  ti-processor-sdk-linux-am57xx-evm-02.00.01.07. We have on board eMMC to store the image. While development we used SD card as booting device and tested, then copied the images from SD card to eMMC from linux terminal using some scripts. For production what is the best way to copy the images into eMMC in new SBC cards?

Best Regards,

Ganesh

  • The factory team have been notified. They will respond here.
  • Hi,

    Please respond, as I have target dates to complete this. Please suggest the best way to partition eMMC and updation of images.


    Best Regards,
    Ganesh
  • Please post your feedback ASAP.

    Best Regards,
    Ganesh
  • Sorry for the delay...I am escalating this one...
  • Ganesh,

    I'm sorry for the delay. the information you are looking for should be covered in detail in this short video:

    training.ti.com/am57x-dra7x-dfu-boot-mode-with-linux-host
  • Hi RonB,

    In our custom board, we dont have USB slave port, so we cannot access in USB peripheral boot mode.
    Is there any videos related to booting with USB storage from uboot.
    I referred below documentation:
    processors.wiki.ti.com/.../Linux_Core_U-Boot_User's_Guide

    In uboot my USB device is recognized as below:
    U-Boot# usb part

    Partition Map for USB device 0 -- Partition Type: DOS

    Part Start Sector Num Sectors UUID Type
    1 63 144522 00000000-01 0c Boot
    2 160650 15358140 00000000-02 83

    But when I execute below command, I am getting command not there
    U-Boot # run bootcmd_usb

    I am looking for more documentation related to Booting_Linux_from_USB_storage, so please share any useful information related to this and also any videos like above will be very useful.


    Best Regards,
    Ganesh
  • Ganesh,

    OK, I can help you boot from a USB stick once you are up to U-Boot. But, how, in a production environment, do you plan to get to U-Boot? The Boot ROM does not support USB Host booting like U-Boot does. For more details about this, please see Chapter 33 of the AM572x Technical Reference Manual.
  • RonB,

    Our custom board design is such that we have one base board, which contain processor, eMMC, PMIC etc..and daughter board which contains peripherals like SD card slot etc.. So I will fix this daughter board and program all the base boards eMMC. With SD card I am not consistently getting the linux terminal, but able to boot upto u-boot all the times. So, I am booting upto u-boot using SD card and then I will boot linux using USB storage device. So suggest how to do boot using USB storage device.

    SD card boot problem: e2e.ti.com/.../625974

    Best Regards,
    Ganesh
  • RonB,

    I am able to load zImage and dtb file into SDRAM from u-boot. How to do after that?



    U-Boot SPL 2015.07-00080-g4523775-dirty (Feb 11 2017 - 11:54:05)
    DRA722 ES1.0

    U-Boot SPL 2015.07-00080-g4523775-dirty (Feb 11 2017 - 11:54:05)
    DRA722 ES1.0
    reading args
    spl_load_image_fat_os: error reading image args, err - -1
    reading u-boot.img
    reading u-boot.img
    ti_i2c_eeprom_init failed 1


    U-Boot 2015.07-00080-g4523775-dirty (Feb 11 2017 - 11:54:05 +0530)

    CPU : DRA722 ES1.0
    Board: AM571x II2C: ready
    DRAM: 1 GiB
    MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
    reading uboot.env
    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:
    **********Auto Negotiation Available******cpsw
    Hit any key to stop autoboot: 0
    U-Boot#
    U-Boot#
    U-Boot# usb start
    starting USB...
    USB0: Register 2000140 NbrPorts 2
    Starting the controller
    USB XHCI 1.00
    scanning bus 0 for devices... 3 USB Device(s) found
    scanning usb for storage devices... 1 Storage Device(s) found
    U-Boot# usb part

    Partition Map for USB device 0 -- Partition Type: DOS

    Part Start Sector Num Sectors UUID Type
    1 63 321237 00000000-01 0c Boot
    2 337365 7566615 00000000-02 83
    U-Boot# fatload usb 0:1 0x82000000 zImage
    reading zImage
    3576400 bytes read in 1906 ms (1.8 MiB/s)
    U-Boot# fatload usb 0:1 0x88000000 am57xx-beagle-x15.dtb
    reading am57xx-beagle-x15.dtb
    89661 bytes read in 75 ms (1.1 MiB/s)
    U-Boot# setenv mmcroot /dev/sda2 ro
    U-Boot# run mmcargs
    U-Boot# run bootcmd_usb
    ## Error: "bootcmd_usb" not defined


    Best Regards,
    Ganesh

  • Ganesh,

    Excellent progress. Look at the bootz command:

    bootz ${loadaddr} - ${fdtaddr}

    Or, in your case, use the addresses you used above, 0x82000000 for zImage and 0x88000000 for dtb.

    You may also need to modify your mmcargs or args_mmc to include the right boot command for the linux command line to mount the filesystem on the USB stick.


  • RonB,

    I tried bootz  also ,then I am  booting with SD card file system not with USB file system.

     

    "You may also need to modify your mmcargs or args_mmc to include the right boot command for the linux command line to mount the filesystem on the USB stick."


    How to modify the mmcargs to mount the filesystem on the USB stick? Please mention in detail, with that I can complete my task.

     

    Best Regards,

    Ganesh

  • Ganesh,

    The command line passed to Linux is set in the bootargs environment variable. You should be able to use the args_mmc variable that sets this as long as the information is passed correctly. The important variables in this command that apply to the Linux filesystem are the root and rootfstype variables. The root variable is currently set to use the MMC partition UUID. This needs to be changed to your USB stick's UUID for the root filesystem partition. You can try all of this from the U-Boot prompt to figure it out and go modify the code in include/configs/ti_armv7_common.h when you are satisfied with the booting process.