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/AM5728: beaglebone black

Part Number: AM5728


Tool/software: Linux

i have a query regarding about SD/eMMC card booting.

Currently i am doing partition of sdcard in host side as FAT and ext3, where boot images (uboot, mlo) stores in FAT and root file system stores in ext 3
partirion and booting is fine.

my requirement is
1) I need to understand to which address this uboot and mlo sits.
2) how i can read the boot(FAT) information via uboot.
   i know the MLO sits in 0x00000000. to which address the uboot is stored.
3) How can i partion the SD card for storing these images? and read?

Enviornment:
I am using the am5728 beaglebone black board.

Please let me know,

Regards
Manu

  • Hi Manu,

    1) I need to understand to which address this uboot and mlo sits.
    2) how i can read the boot(FAT) information via uboot.
    i know the MLO sits in 0x00000000. to which address the uboot is stored.


    See Chapter 33 Initialization in the TRM. Additionally you can browse through u-boot code. Inspect include/configs/am57x_evm.h and all .h files included in it:
    ti_armv7_common.h
    ti_armv7_omap.h
    ti_omap5_common.h

    3) How can i partion the SD card for storing these images? and read?

    Use the create-sdcard.sh script provided with the sdk.

    Best Regards,
    Yordan
  • thanks for the reply.
    I went through the response provided.
    i got the answer for 3)

    For the 1 and 2, i went through the files i found that CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x300,
    dose it mean that MLO starts at 0x00000000 and uboot starts at 0x00000300?

    As mentioned in 3) i portioned as boot where i kept u-boot.img and MLO. ext3 partition i kept root file system

    now by using fat load i can take MLo and u-boot.img to ram. for taking u image is the same procedure?

    Thanks,
    Manu

  • AM5728 SDKs do NOT use uImage. They use zImage.
    Kernel image and devictree are located in the filesystem (on the ext3 partition) in /boot.

    The pointed files show the addresses to which MLO & u-boot are loaded in SRAM and DDR in the initial boot stage.
    Kernel & dtb files are laoded in DDR by u-boot, on the following locations, see

    ti_omap5_common.h:
    "fdtfile=undefined\0" \
    "bootpart=0:2\0" \
    "bootdir=/boot\0" \
    "bootfile=zImage\0" \
    and later:
    "findfdt="\
    "if test $board_name = omap5_uevm; then " \
    "setenv fdtfile omap5-uevm.dtb; fi; " \
    "if test $board_name = dra7xx; then " \
    "setenv fdtfile dra7-evm.dtb; fi;" \
    "if test $board_name = dra72x-revc; then " \
    "setenv fdtfile dra72-evm-revc.dtb; fi;" \
    "if test $board_name = dra72x; then " \
    "setenv fdtfile dra72-evm.dtb; fi;" \
    "if test $board_name = dra71x; then " \
    "setenv fdtfile dra71-evm.dtb; fi;" \
    "if test $board_name = beagle_x15; then " \
    "setenv fdtfile am57xx-beagle-x15.dtb; fi;" \
    "if test $board_name = beagle_x15_revb1; then " \
    "setenv fdtfile am57xx-beagle-x15-revb1.dtb; fi;" \
    "if test $board_name = am572x_idk && test $idk_lcd = no; then " \
    "setenv fdtfile am572x-idk.dtb; fi;" \
    "if test $board_name = am572x_idk && test $idk_lcd = osd101t2045; then " \
    "setenv fdtfile am572x-idk-lcd-osd101t2045.dtb; fi;" \
    "if test $board_name = am572x_idk && test $idk_lcd = osd101t2587; then " \
    "setenv fdtfile am572x-idk-lcd-osd101t2587.dtb; fi;" \
    "if test $board_name = am57xx_evm; then " \
    "setenv fdtfile am57xx-evm.dtb; fi;" \
    "if test $board_name = am57xx_evm_reva3; then " \
    "setenv fdtfile am57xx-evm-reva3.dtb; fi;" \
    "if test $board_name = am571x_idk && test $idk_lcd = no; then " \
    "setenv fdtfile am571x-idk.dtb; fi;" \
    "if test $board_name = am571x_idk && test $idk_lcd = osd101t2045; then " \
    "setenv fdtfile am571x-idk-lcd-osd101t2045.dtb; fi;" \
    "if test $board_name = am571x_idk && test $idk_lcd = osd101t2587; then " \
    "setenv fdtfile am571x-idk-lcd-osd101t2587.dtb; fi;" \
    "if test $fdtfile = undefined; then " \
    "echo WARNING: Could not determine device tree to use; fi; \0" \

    For the kernel & dtb addresses see ti_armv7_common.h:
    #define DEFAULT_LINUX_BOOT_ENV \
    "loadaddr=0x82000000\0" \
    "kernel_addr_r=0x82000000\0" \
    "fdtaddr=0x88000000\0" \
    "fdt_addr_r=0x88000000\0" \
    "rdaddr=0x88080000\0" \
    "ramdisk_addr_r=0x88080000\0" \
    "scriptaddr=0x80000000\0" \
    "pxefile_addr_r=0x80100000\0" \
    "bootm_size=0x10000000\0" \
    "boot_fdt=try\0"

    Best Regards,
    Yordan