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.

[参考译文] AM69:AM69

Guru**** 2468610 points
Other Parts Discussed in Thread: AM69

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1456685/am69-am69

器件型号:AM69
Thread 中讨论的其他器件: CSD

工具与软件:

您好!

以下页面介绍了如何刷写 eMMC:

https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-am69/10_00_07_06/exports/docs/linux/How_to_Guides/Target/How_to_flash_emmc_device.html

但是、我无法 从容器中安装的 SDK 中找到上述文件 mksdboot.sh 和 uenv.txt.base:

/home/tisdk/ti-processor-sdk-linux-am69-sk-10_01_08_01

您能提供建议吗?

谢谢。

Walter

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

    您好、Walter、

    您能否尝试使用以下 mksdboot.sh 脚本对 eMMC 进行分区?

    e2e.ti.com/.../0312.mksdboot.sh

    uenv.txt.base 请参阅 uEnv.txt 存在于中 /board-support/prebuilt-images/.

    此致

    Gokul

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

    尊敬的 Gokul:

    欣赏您的指针和信息。   我有一些后续问题:

    .  mksdboot.sh 创建了 mmcblk0p1 、该工具什么都没有?  它的目的是什么?
    . lsblk 也列出了 mmcblk0boot0和 mmcblk0boot1。  它们的用途是什么?
    . 在 eMMC 编程后、AM69仍依靠 SD 引导到 u-boot 中、以便为 mmcdev 和 bootpart 设置 env、从而从 eMMC 引导内核和 rootfs。  AM69如何从 eMMC 完全启动、将已编程的 SD 卡插入 SD 插槽?
    . AM69可以从 eMMC 完全引导后、如何切换回 SD 引导?

    谢谢。

    Walter

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

    尊敬的 Chow:

    。  mksdboot.sh 创建了 mmcblk0p1 、该工具什么都没有?  它的用途是什么?

    理想情况下、mksdboot.sh 应 使用以下链接中提到的命令为 mmcblk0:mmcblk0p1和 mmcblk0p2创建2个分区:[./ mksdboot.sh --device /dev/mmcblk0:

    software-dl.ti.com/.../How_to_flash_emmc_device.html

    。 lsblk 也列出了 mmcblk0boot0和 mmcblk0boot1。  它们的用途是什么?

    这些是 eMMC 的原始分区、可用于存储启动文件。

    [报价 userid="634873" url="~/support/processors-group/processors/f/processors-forum/1456685/am69-am69/5590712 #5590712"]进行 eMMC 编程后、AM69仍依赖 SD 引导至 u-boot、以便为 mmcdev 和 bootpart 设置 env、从而从 eMMC 引导内核和 rootfs。  AM69如何从 eMMC 完全启动、将已编程的 SD 卡插入 SD 插槽?[/QUOT]

    来尝试切换到 下面给出了 eMMC (user)分区配置 .而不是 SW8使用 SW11、而不是 SW9使用 SW7 SW3、因为它是无关配置、所以无需考虑 SW3。

    此外、确保您在 mmcblk0p1中有高达 uboot 的引导文件、在 mmcblk0p2中有 rootfs。然后在进入 uboot 后设置 mmcdv 和 bootpart。

    。 AM69可以从 eMMC 完全启动后、如何切换回从 SD 启动?[/QUOT]

    要切换回 SD 引导模式、只需使用下面的 MMCSD 引导开关设置即可。而不是 SW8使用 SW11、而不是 SW9使用 SW7 。无需考虑 SW3、因为它与配置无关。有关 bootswitch 设置的更多信息可在下面的链接中找到。

    software-dl.ti.com/.../J784S4_EVM_Hardware_Setup .html

    此致

    Gokul

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

    尊敬的 Gokul:

    我按照 software-dl.ti.com/.../How_to_flash_emmc_device.html 链接中的步骤操作 
    mksdboot.sh 创建了两个分区: mmcblk0p1和 mmcblk0p2。  该链接仅包含信息
    如何通过将 rootfs 复制到 mmcblk0p2来设置它、但它不解释 mmcblk0p1 的用途。
    您是否了解 mmcblk0p1的 用途?

    关于 mmcblk0boot0和 mmcblk0boot1、您是否能建议 应在这里存储哪些引导文件、和
    如何利用这两个原始分区?

    我不确定如何找到您提到的这些开关。  AM69 SK 硬件设置 具有信息
    如何将引导 ping 设置为 SD 引导模式、而不是 eMMC 引导模式。  您能提供建议吗?

    谢谢。

    Walter

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

    您好、Walter、

    您是否有关于 mmcblk0p1的 用途的信息?

    mmcblk0p1可用于使用 FAT32文件系统存储启动文件、就像我们可以将启动文件存储在原始分区(如 mmcblk0boot0和 mmcblk0boot1)中一样。

    [报价 userid="634873" url="~/support/processors-group/processors/f/processors-forum/1456685/am69-am69/5592687 #5592687"]关于 mmcblk0boot0和 mmcblk0boot1、您能建议 应在其中存储哪些引导文件吗?和
    如何利用这两个原始分区?

    我建议您详细了解这一部分 3.1.1.5.5. 在下面的链接中获取有关以下内容的信息:

    https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-am69/10_00_07_06/exports/docs/linux/Foundational_Components U-Boot/UG-Memory.html#booting-tiboot3-bin-tispl-bin-and-u-boot-img-from-eMMC-boot-partition-for-k3-class-of-SoCs.

    我不确定如何找到您提到的那些交换机。  AM69 SK 硬件设置 具有信息
    如何将引导 ping 设置为 SD 引导模式、而不是 eMMC 引导模式。  您能提供建议吗?

    关于这一点,交换机的配置在下面的文档中提到,但这是为 j721E。对于 AM69 ,只需要比较相同的 SD 引导模式设置中存在 AM69SK 硬件设置 只需更新 开关编号。 交换机的配置保持不变。

    e2e.ti.com/.../TDA4_5F00_FLASHING_5F00_TECHNIQUES.pdf

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

    尊敬的 Gokul:

    似乎 mmcblk0p1、mmcblk0boot0  和 mmcblk0boot1用于存储引导文件、但两者之间的区别在于前者  
    mmcblk0p1需要使用 FAT32文件系统。  第3.1.1.5.5节介绍了如何激活 mmcblk0boot0 (通过
    MMC partconf 0 1 1 1)和 mmcblk0boot1 (通过 MMC partconf 0 1 2 1)、以便 为 eMMC 选择其中的任何一个
    引导。  是否可以 激活 mmcblk0p1以便将其选择用于 eMMC 引导?

    谢谢。

    Walter

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

    您好、Walter、

    能否 激活 mmcblk0p1以便将其选定用于 eMMC 引导?

    真的很抱歉,我忘了说 eMMC 引导从 mmcblk0p1 ,[MMC partconf 0 1 7 1]可以使用。此外,为了方便,我连接了一个链接共享整个步骤从 mmcblk0p1引导没有 SD 卡。

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1459027/faq-am69a-booting-from-emmc-without-sd-card

    此致

    Gokul

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

    尊敬的 Gokul:

    我无法通过执行以下操作来激活要为 eMMC 引导选择的 mmcblk0p1:

    . 使用  mksdboot 脚本设置 mmcblk0p1 和 mmcblk0p2  
    . 将引导加载程序文件(tiboot3.bin、tispl.bin、u-boot.img)从 SD (mmcblk1p1)复制到 mmcblk0p1
    . 通过将文件从 SD (mmcblk1p2)复制到 mmcblk0p2来设置 rootfs  
    . 执行"同步"
    . 下电上电并在 u-boot 处停止、执行"mc partconf 0 1 7 1"和"mc bootbus 0 2 0 0"
    . 关闭电源、然后更新 SW2上的 DIP 缝线以执行 eMMC 引导。
    . 接通电源但没有任何反应。

    您能提供建议吗?

    按照中的说明进行操作   3.1.1.5.5,  我能够从 mmcblk0boot0执行 eMMC 引导
    (通过 MMC partconf 0 1 1)或 mmcblk0boot1 (通过 MMC partconf 0 1 2 1)。  但是、我需要在 u-boot 处停止
    执行"setenv mmcdev 0"和"setenv bootpart 0:2"。  您能建议如何实现引导自动化吗  
    从 mmcblk0p2上的 eMMC rootfs?

    谢谢。

    Walter

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

    你好、Walter、

    [报价 userid="634873" url="~/support/processors-group/processors/f/processors-forum/1456685/am69-am69/5600781 #5600781"]。 关闭电源、然后更新 SW2上的 DIP 缝线以执行 eMMC 引导。

    它不是您必须更新的 SW2。

    您必须切换到 eMMC (USER)模式 配置、而不是 SW8使用 SW11 而不是 SW9使用 SW3、因为它不用考虑配置。

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

    尊敬的 Gokul:

    以下链接让您可以访问 SW2:

    https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-am69/10_01_08_01/exports/docs/linux/How_to_Guides/Hardware_Setup_ 4.2_AM69_CCS/AM69_SK_SK.html#AM69-SK (图 Hardware_Setup  启动引脚)

    https://www.ti.com/lit/ug/spruj70a/spruj70a.pdf?ts = 1736294879056&ref_url=https%253A%252F% 252Fdocs.u-boot.org%252Fen%252Flatest%252Fboard%252Fti%252Fj784s4_evm.html (2.2.1板配置设置[SW2])

    谢谢。

    Walter

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

    您好、Walter、

    我实际上是换用 AM69板、而不是 AM69-SK.抱歉这么混淆。

    关于 AM69-SK、我与开发团队讨论了该问题、他们表示不支持从 eMMC UDA 获取引导文件。不过、rootfs 可以从 mmcblk0p2获取。

    此致

    Gokul

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

    尊敬的 Gokul:

    感谢您的帮助。  您是否有指针来指示 AM69电路板和 AM69-SK 之间的区别?

    此外、您能告知我在上一篇文章中的提问吗:


    按照中的说明进行操作   3.1.1.5.5,  我能够从 mmcblk0boot0执行 eMMC 引导
    (通过 MMC partconf 0 1 1)或 mmcblk0boot1 (通过 MMC partconf 0 1 2 1)。  但是、我需要在 u-boot 处停止
    执行"setenv mmcdev 0"和"setenv bootpart 0:2"。  您能建议如何实现引导自动化吗  
    从 mmcblk0p2上的 eMMC rootfs?

    谢谢。

    Walter

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

    您好、Walter、

    您有什么可用于说明 AM69电路板与 AM69-SK 之间区别的指针吗?

    AM69是基本通用器件、AM69-SK 向其添加了硬件加速 AI 功能。

    AM69-SK Linux SDK 添加了 AI 库、并具有面向 AI 的视觉开箱即用 GUI 演示、而不是 AM69的图形显示 HMI 开箱即用 GUI 演示。

    按照 部分中的说明进行操作  3.1.1.5.5,  我能够从 mmcblk0boot0执行 eMMC 引导
    (通过 MMC partconf 0 1 1)或 mmcblk0boot1 (通过 MMC partconf 0 1 2 1)。  但是、我需要在 u-boot 处停止
    执行"setenv mmcdev 0"和"setenv bootpart 0:2"。  您能建议如何实现引导自动化吗  
    从 mmcblk0p2上的 eMMC rootfs?[/QUOT]

    要自动从 eMMC rootfs 引导、必须启用 saveenv 功能。我将附加以下相同的步骤。

    我重新附加将在 j784s4_evm_a72 def config 文件中进行的更改、以提高可见性:

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

    尊敬的 Gokul:

    谢谢。  我将考虑在 u-boot 中启用 saveenv。

    对于 AM69入门套件、  

    . 它是否支持"USB 器件固件升级(DFU)?

    . 它是否支持 PCIe Gen 2?

    谢谢。

    Walter

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

    您好、Walter、

    [报价 userid="634873" url="~/support/processors-group/processors/f/processors-forum/1456685/am69-am69/5610384 #5610384"]。 它是否支持"USB 设备固件升级(DFU)?[/QUOT]

    是的、它支持。您还可以参阅下面的链接以了解更多信息。

    https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-am69/latest/exports/docs/linux/Foundational_Components U-Boot/UG-DFU.html

    [报价 userid="634873" url="~/support/processors-group/processors/f/processors-forum/1456685/am69-am69/5610384 #5610384"]。 它是否支持 PCIe 第2代?[/QUOT]

    关于这一点,你可以提出一个新的 E2E。

    此致 Gokul

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

    尊敬的 Gokul:

    对于 u-boot saveenv、  am 69的 u-boot 是否具有 https://git.ti.com/cgit/ti-u-boot/ti-u-boot/tree/board/ti/am62x/am62x.env?h=09.01.00.008#n30?提到的等效*。env
    对于 CONFIG_SYS_MMC_ENV_PART=1、是否意味着更改将保存到  mmcblk0boot0中?
    当 CONFIG_ENV_OFFSET=0x680000时、该位置在哪里?   我不知道它将是什么位置,通过查看 https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-am69/10_01_08_01/exports/docs/linux/提到的 eMMC 布局 Foundational_Components U557-Boot/UG-Memory.html (摘录如下:)

    Boot0分区(8MB) 用户分区
    0x0+------------------------------------------------------- + 0x0+------------------------------------------------------- + 
    | tiboot3.bin (512KB) | | |0x400+------- 
    + | | 
    | tispl.bin (2MB) | | |0x1400+------- 
    + | rootfs | 
    | u-boot.img (4MB) | | |0x3400+------------------------------------------------------- 
    + | | 
    | 环境(128KB) | | |0x3500+--------------- 
    + | | 
    |备份环境(128 KB)| | |0x3600+--------------- 
    + | | 
    | sysfw (1MB) | | |0x3E00+------------------------------------------------------- 
    + +--------------- + 

    关于 DFU、 SW2上的引脚设置是什么才能与 DFU 配合使用?

    关于 PCIe 第2代、当然我会提交一个新的文件。

    谢谢。

    Walter

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

    您好、Walter、

    对于 CONFIG_SYS_MMC_ENV_PART=1、这是否意味着更改将保存到  mmcblk0boot0中?

    是的、正确。

    [报价 userid="634873" url="~/support/processors-group/processors/f/processors-forum/1456685/am69-am69/5612606 #5612606"]对于 CONFIG_ENV_OFFSET=0x680000、该位置在哪里?   我不确定它将在哪个位置通过查看提到的 eMMC 布局[/报价]

    此偏移量是指字节偏移量。但是、提到的 eMMC 布局中的地址是扇区地址 0.1扇区为512字节。因此、字节偏移量0x680000对应于扇区偏移0x3400 (即0x680000除以0x200 (十进制512)。

    提及的等效*。env
    • 是 AM69、使用 j784s4.env. 。 /板支持/ /board/ti/j784s4/j784s4.env
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Gokul:

    感谢 您的讲解和信息。
    如何   在 Linux 空间(而不是 u-boot 空间)将引导加载程序二进制文件(包括 tiboot3.bin、tispl.bin 和 u-boot.img)编程为 mmcblk0boot0或 mmcblk0boot1?
    此外、我如何控制在 Linux 空间 (而不是设置 mmcdev 和 bootpart 的 u-boot 空间)使用哪个引导分区?

    谢谢。

    Walter

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

    您好、Walter、

    很抱歉这么晚才回复。

    如何将 引导加载程序二进制文件(包括 tiboot3.bin、tispl.bin 和 u-boot.img  )编程为 Linux 空间的 mmcblk0boot0或 mmcblk0boot1而不是 u-boot 空间?

    实际上、我找到了一种方法来将这些二进制文件从 Linux 空间复制到 boot0/boot1。以下命令会将相同的文件复制到 EMMC 的 boot0分区。

    注意:执行以下命令以从 boot0引导后、请确保 boot分区 设置为 boot0


    >echo 0 > /sys/block/mmcblk0boot0/force_ro
    >dd if=/dev/zero of=/dev/mmcblk0boot0
    >dd if=/run/media/BOOT-mmcblk1p1/tiboot3.bin of=/dev/mmcblk0boot0 seek=0
    >dd if=/run/media/BOOT-mmcblk1p1/tispl.bin of=/dev/mmcblk0boot0 seek=1024
    >dd if=/run/media/BOOT-mmcblk1p1/u-boot.img of=/dev/mmcblk0boot0 seek=5120

    此外、如何控制在 Linux 空间使用哪个引导分区、而不是 设置 mmcdv 和 bootpart 的 u-boot 空间?

    将引导分区设置为 boot0:

    >mmc extcsd write 179 0x48 /dev/mmcblk0
    >mmc extcsd write 177 0x02 /dev/mmcblk0

    将引导分区设置为 UDA:

    >mmc extcsd write 179 0x78 /dev/mmcblk0
    >mmc extcsd write 177 0x02 /dev/mmcblk0

    此外、如果此问题得到解决、周先生可以通过关闭此主题来帮助我们。

    此致

    Gokul

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

    尊敬的 Gokul:

    我只是阅读了您的回复、因为我没有收到任何关于您的更新的电子邮件通知。
    感谢您提供的信息。
    在我有机会尝试您的解决方案后、我将关闭该主题。
    谢谢。

    Walter

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

    尊敬的 Gokul:

    关于:
    >mmc extcsd 写入179 0x48 /dev/mmcblk0
    >mmc extcsd 写177 0x02 /dev/mmcblk0

    179,177和0x48以及0x02的含义是什么?
    如果要 将引导分区设置为 boot1、对应的命令或编号是什么?

    谢谢。

    Walter

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

    您好、Walter、

    >mmc extcsd write 179 0x48 /dev/mmcblk0
    >mmc extcsd write 177 0x02 /dev/mmcblk0
    • 179. 请参阅 扩展 CSD 寄存器的179字节。 该字节负责启用可从中获取引导文件的引导分区。
      • 0x48: 基本上、这会设置 BOOT_ACK 位(位6) (位3) .hence boot_partition_enable woulb 的值为0x1、对应于为引导启用的引导分区1。
      • 0x78: 基本上、这会设置 BOOT_ACK 位(位6) (位3、位4、位5) 因此、boot_partition_enable 的值将为0x7、对应于为引导启用的用户区域。

    • 177指的177字节 扩展 CSD 寄存器 .
      • 0x02:这基本上在引导运行模式中将总线宽度设置为8位总线宽度(位1被设置)。
    如果要 将引导分区设置为 boot1、对应的命令或编号是什么?

    要设置为引导1、

    >mmc extcsd write 179 0x50 /dev/mmcblk0
    >mmc extcsd write 177 0x02 /dev/mmcblk0

    一旦有机会尝试您的解决方案、我将关闭该主题帖。

    当然、Walter。

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

    尊敬的 Gokul:

    我测试了从 mmcblk0boot0或 mmcblk0boot1引导 的命令。  但是、UDA 引导分区不起作用、和
    这可能与开发套件有关、但如前所述、该开发套件不支持该功能。

    在 Linux 空间、 我如何控制 在 mmcblk0p2上使用 rootfs 而不修补 u-boot?  
    目前、仍需要在 u-boot 空间停止、才能将"mmcdev"设置为0、"bootpart"设置为0:2
    以便它将从 eMMC 完全引导。

    谢谢。

    Walter

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

    您好、Walter、

    但是、UDA 引导分区不工作、以及
    可能与开发套件有关、但您之前提到的不支持该功能。[/QUOT]

    "对不起,我不知道该怎么办。"

    在 Linux 空间中、 如何控制在 mmcblk0p2上使用 rootfs 而不修补 u-boot?  
    目前、仍需要在 u-boot 空间停止、才能将"mmcdev"设置为0、"bootpart"设置为0:2
    以便它可以从 eMMC 完全引导。

    由于 uboot 决定从何处获取 rootfs、因此唯一的方法是从 uboot 执行它。

    但是、启用时 saveenv 特性在前面的答复中提到,此命令只需设置一次。

    此致

    Gokul

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

    尊敬的 Gokul:

    感谢您的支持。

    Walter