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.

AM335X 在mmc raw模式下启动求解



我使用的Beaglebone Black板子,在boot分区下没有发下MLO启动项。但是在0x2000位置处发现了TOC。这里阅读文档后有几个问题不清楚,想问下大家:

1.BBB开发板的MMC已经被分区,而且存在一个fat32格式的启动分区,我想知道是会对raw模式启动和fat模式启动都尝试启动才失败还是某个的优先级高的失败后mmc就失败?

2.关于TOC结构体的field中的size这个值,其Size of section描述不知道他想说明什么。BBB上的值与手册上不一致,那么他的具体含义是啥?

3.Configuration Header 中valid是什么意义,在bbb上发现其为0x00 是disable,这个disable是什么意思?

  • 有没有试过把eMMC当成SD卡格式化成FAT,然后拷贝MLO进去

  • 1. 应该是读取的相关的关键字,fat或者raw在不同位置上有相关的关键字,但是我们的文档讲的不清楚,其实raw 启动,国内没有客户用过,如果您有需要,可以再讨论。

    2. size就是整个CH TOC的值, BBB上是fat启动,不是raw启动。

    3. 就是没有CH setting结构体的值,文档里有提到 The CH might be
    void (only containing a CHSETTINGS item for which the Valid field is zero). 。

    最后,建议您用fat格式启动,我们的文档的确也有需要改进的地方。

  • 您好!(1)对于eMMC 是不是只支持raw模式启动;

    (2)文档的意思是不是这样的:raw模式只需要一个GP header,可以不需要Configuration Header (CH);

  • am335x(Beaglebone Black)
    TI.Reference_Manual_1.pdf 数据手册4131页 26.1.7.5.5 MMC/SD Read Sector Procedure in Raw Mode
    offset 0x0 /
    0x20000 (128 KB) /
    0x40000 (256 KB) /
    0x60000 (384 KB).
    sudo dd if=/dev/zero of=/dev/sdb bs=1M count=10
    sudo dd if=MLO of=/dev/sdb count=1 seek=1 conv=notrunc bs=128k
    sudo dd if=u-boot.img of=/dev/sdb count=2 seek=1 conv=notrunc bs=384k
    系统可以从SD卡的RAW启动//也可以将这两个文件MLO,boot.img放到FAT16的分区启动并引导

    am437x(am437x-evm)
    spruhl7a.pdf数据手册 210页 5.2.6.5.5 MMC/SD Read Sector Procedure in Raw Mode
    offset 0x0
    0x40000 (256KB)
    0x80000 (512KB)
    0xC0000 (768KB)
    sudo dd if=/dev/zero of=/dev/sdb bs=1M count=10
    sudo dd if=MLO of=/dev/sdb count=1 seek=1 conv=notrunc bs=256k
    sudo dd if=u-boot.img of=/dev/sdb count=2 seek=1 conv=notrunc bs=512k
    系统可以将这两个文件MLO,boot.img放到FAT16的分区启动并引导//不能从SD卡的RAW启动

    请问am437x 从RAW启动这样的dd if 命令写法有错吗?
    在哪里有关于am437x 从RAW 启动的示例啊?