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

Guru**** 2559950 points
Other Parts Discussed in Thread: AM5728

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/625982/linux-am5728-beaglebone-black

器件型号:AM5728

工具/软件:Linux

我有关于 SD/eMMC 卡引导的问题。

目前、我在主机端将 sdcard 分区为 FAT 和 ext3、其中引导映像(uboot、MLO)存储在 FAT 中、而根文件系统存储在 ext 3中
分区和引导正常。

我的要求是
1) 1)我需要了解此 uboot 和 MLO 位于哪个地址。
2) 2)如何通过 uboot 读取引导(FAT)信息。
  我知道 MLO 位于0x00000000中。 uboot 存储到哪个地址。
3) 3)如何使用 SD 卡存储这些映像? 然后读取?

环境:
我使用的是 am5728 BeagleBone Black 板。

请告诉我、

此致
制造商

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Manu、

    [引用]1)我需要了解此 uboot 和 MLO 位于哪个地址。
    2) 2)如何通过 uboot 读取引导(FAT)信息。
    我知道 MLO 位于0x00000000中。 uboot 存储到哪个地址。

    请参阅 TRM 中的第33章初始化。 此外、您还可以浏览 u-boot 代码。 检查 include/configs/am57x_evm.h 以及其中包含的所有.h 文件:
    ti_armv7_common.h
    ti_armv7_omap.h
    ti_omap5_common.h

    [引述]3)如何使用 SD 卡存储这些映像? 并阅读?
    使用 SDK 随附的 create-sdcard.sh 脚本。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回复。
    我完成了所提供的回复。
    3)我得到了答案)

    对于1和2、我浏览了我找到的文件 CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_Sector 0x300、
    剂量它意味着 MLO 从0x00000000开始、uboot 从0x00000300开始?

    如3)中所述、我将其归类为引导、其中保留了 u-boot.img 和 MLO。 ext3分区我保留了根文件系统

    现在、通过使用脂肪负载、我可以将 MLO 和 u-boot.img 添加到 ram。 获取 u 映像的步骤是否相同?

    谢谢、
    制造商

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    AM5728 SDK 不使用 uImage。 他们使用 zImage。
    内核映像和 devictree 位于/boot 中的文件系统(在 ext3分区上)中。

    指向的文件显示了在初始引导阶段将 MLO 和 u-boot 加载到 SRAM 和 DDR 中的地址。
    内核和 DTB 文件由 u-boot 在 DDR 中放置、在以下位置、请参阅

    TI_omap5_common.h:
    "Fdtfile=undefined\0"\
    "bootpart=0:2\0"\
    "bootdir=/boot\0"\
    "BootFile=zImage\0"\
    和更高版本:
    "findfdt="\
    "如果 test $board_name = omap5_uevm;则"\
    "setenv fdtfile omap5-uevm.dtb;fi;"\
    "如果 test $board_name = dra7xx;则"\
    "setenv fdtfile dra7-evm.dtb;fi;"\
    "如果 test $board_name = dra72x-revc、则"\
    "setenv fdtfile dra72-EVM-revc.dtb;fi;"\
    "如果 test $board_name = dra72x;则"\
    "setenv fdtfile dra72-evm.dtb;fi;"\
    "如果 test $board_name = dra71x;则"\
    "setenv fdtfile dra71-evm.dtb;fi;"\
    "如果 test $board_name = beagle_x15;则"\
    "setenv fdtfile am57xx-beagle-x15.dtb;fi;"\
    "如果 test $board_name = beagle_x15_revb1;则"\
    "setenv fdtfile am57xx-beagle-x15-revb1.dtb;fi;"\
    "如果 test $board_name = am572x_idk && test $idk_LCD =否;则"\
    "setenv fdtfile am572x-idk.dtb;fi;"\
    "如果 test $board_name = am572x_idk && test $idk_LCD = osd101t2045;则"\
    "setenv fdtfile am572x-idk-lcd-osd101t2045.dtb;fi;"\
    "如果 test $board_name = am572x_idk && test $idk_LCD = osd101t2587;则"\
    "setenv fdtfile am572x-idk-lcd-osd101t2587.dtb;fi;"\
    "如果 test $board_name = am57xx_evm;则"\
    "setenv fdtfile am57xx-evm.dtb;fi;"\
    "如果 test $board_name = am57xx_evm_reva3;则"\
    "setenv fdtfile am57xx-evm-reva3.dtb;fi;"\
    "如果 test $board_name = am571x_idk && test $idk_LCD =否;则"\
    "setenv fdtfile am571x-idk.dtb;fi;"\
    "如果 test $board_name = am571x_idk && test $idk_LCD = osd101t2045;则"\
    "setenv fdtfile am571x-idk-lcd-osd101t2045.dtb;fi;"\
    "如果 test $board_name = am571x_idk && test $idk_LCD = osd101t2587;则"\
    "setenv fdtfile am571x-idk-lcd-osd101t2587.dtb;fi;"\
    "如果 test $fdtfile =未定义;则"\
    "回显警告:无法确定要使用的设备树;fi;\0"\

    有关内核和 DTB 地址、请参阅 ti_armv7_common.h:
    #define DEFAULT_LINUX_BOOT_ENV \
    "loadaddr=0x82000000\0"\
    "kernel_addr_r=0x82000000\0"\
    "fdtaddr=0x88000000\0"\
    "FDT_addr_r=0x880000\0"\
    "rdaddr=0x88080000\0"\
    "ramdisk_addr_r=0x88080000\0"\
    "脚本地址=0x80000000\0"\
    "pxefile_addr_r=0x80100000\0"\
    "bootm_size=0x10000000\0"\
    "BOOT_FDT=Try \0"

    此致、
    Yordan