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.

Flashing the eMMC on BeagleBone Black

Hi,

  I had a couple of questions regarding the (http://processors.wiki.ti.com/index.php/Sitara_Linux_Program_the_eMMC_on_Beaglebone_Black) article that describes how to flash the eMMC on the BeagleBone Black

1) For the tool that is used to concatenate the images (that will be flashed to the board), this is named flash_cat_util.out and takes a list of files to be concatenated to result in the final image ( call this flash_image.out).  For Linux kernel images > 3.8, it is necessary to have an associated dtb. Is the correct way to invoke the flash_cat_utl.out tool in this case like so :

./flash_cat_util.out MLO u-boot.bin uImage rfs am335x_dtb.bin rfs_ubi.img

(so the dtb file appears immediately after the kernel image) or is there another more correct way to do this

2) The article mentions using Ethernet or USB. However, is it possible to also use the UART0 peripheral to do the same functionality. If so, in this case, would the final flash_image.out file be served up using xmodem, or is there some other way to accomplish this functionality. The reason being is that a board similar to the Beaglebon black is being brought up and it may (??) be simpler to use the UART0 interface rather than the Ethernet PHY

3) It seems that the two ways to force the Beaglebone Black to boot from the UART0 are to :

a ) erase the eMMC

b) remove the SD card, and hold down the S2 switch while rebooting the beaglebone target.

Is b) a feasible option in order to do a proof of concept of the Beaglebone black booting from the UART0 peripheral

4) If the Ethernet PHY is the best way to do, are there any additional caveats to using this peripheral

Thanks

Victor

 

  • Victor,

    I'll see what I can do to help out:

    Oluwokay Johns said:

    1) For the tool that is used to concatenate the images (that will be flashed to the board), this is named flash_cat_util.out and takes a list of files to be concatenated to result in the final image ( call this flash_image.out).  For Linux kernel images > 3.8, it is necessary to have an associated dtb. Is the correct way to invoke the flash_cat_utl.out tool in this case like so :

    ./flash_cat_util.out MLO u-boot.bin uImage rfs am335x_dtb.bin rfs_ubi.img

    (so the dtb file appears immediately after the kernel image) or is there another more correct way to do this

    The flash_cat utility was developed for NAND flashing where you are dealing with a raw NAND devices. I don't really think it is necessary with eMMC.

    Oluwokay Johns said:
    2) The article mentions using Ethernet or USB. However, is it possible to also use the UART0 peripheral to do the same functionality. If so, in this case, would the final flash_image.out file be served up using xmodem, or is there some other way to accomplish this functionality. The reason being is that a board similar to the Beaglebon black is being brought up and it may (??) be simpler to use the UART0 interface rather than the Ethernet PHY

    I'll let you decide which is simpler. Please see here for more information on UART boot:

    http://processors.wiki.ti.com/index.php/Linux_Core_U-Boot_User%27s_Guide#Booting_U-Boot_from_the_console_UART

    Oluwokay Johns said:

    3) It seems that the two ways to force the Beaglebone Black to boot from the UART0 are to :

    a ) erase the eMMC

    b) remove the SD card, and hold down the S2 switch while rebooting the beaglebone target.

    Is b) a feasible option in order to do a proof of concept of the Beaglebone black booting from the UART0 peripheral

    I can't recall the boot order off the top of my head, but this seems very reasonable and follows what I do for USB0. Ethernet is not in the default boot orders for the black, but that can be changed with simple hardware mods.

    Oluwokay Johns said:
    4) If the Ethernet PHY is the best way to do, are there any additional caveats to using this peripheral

    If you have an ethernet PHY on your board, like the Black does, it is the easiest to flash from in my opinion. USB is pretty good once you get it all set up. If you are talking about a programming large images (100's of MBs of roof file system), transfer time from host to board becomes very important in a production environment. UART is going to be very slow for this case. If you have the time, all are valid options, but Eth/USB are more automatic. The biggest caveat I can think of is that ethernet has to work on the board. But, of course, if you have it, you will probably need to get it working anyway.