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.

[参考译文] TDA4VM-Q1:为 Beaglebone-AI64构建 Arago

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1509844/tda4vm-q1-building-arago-for-beaglebone-ai64

器件型号:TDA4VM-Q1
Thread:TDA4VM 中讨论的其他器件

工具/软件:

您好、

是否可以针对处理器 SDK 版本10.01为 BB-AI64构建 Arago?

我已经尝试了几个死胡同,例如:

Git 克隆 git.ti.com/.../oe-layersetup.git tisdk 
CD tisdk
./oe-layertool-setup.sh -f configs/processor-sdk-analysis/processor-sdk-analytics-10.01.00-config.txt
CD 版本
echo Machine ="Beaglebone ai64"">>conf/local.conf
source conf/setenv
bitbake -k tisdk-tiny-image

我还尝试重复上述内容、但使用:

echo 'TI_Preferred_BSP ="ti-6_6"">>conf/local.conf 

而不是深入了解上述细节或为什么它不起作用(我的任意选择可能是错误的)-让我们重点关注它应该如何构建。 显然、您可以指定 MACHINE=Beaglebone -ai64、那么它应该如何工作? 生成可刷写到 SD 卡并可在 BB-AI64上引导 Linux 的映像的最小可重现步骤是什么?

附带问题:我使用了-analytics 风格、这只是我以前用过的 TDA4产品、但这不是一个要求、也许-linux 会更好吗? 区别是什么? (如果这是以更精确的方式来表述,而不是"使用分析工具",请告诉我,我一直在寻找它。

谢谢、

Joel

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

    尊敬的 Joel:

    在 BeagleBone-AI64上支持 Arago 是一个社区驱动的项目、我们不会测试或验证 BB-AI64的映像。 但是、它应该可以正常工作;您是否有任何错误日志?

    您是否有理由在 BB-AI64上使用 Arago 而不是 Beagle 提供的 Debian 映像?

    [报价 userid="653277" url="~/support/processors-group/processors/f/processors-forum/1509844/tda4vm-q1-building-arago-for-beaglebone-ai64

    附带问题:我使用了-analytics 风格、这只是我以前用过的 TDA4产品、但这不是一个要求、也许-linux 会更好吗? 区别是什么? (如果这是以更精确的方式来表述,而不是"使用分析工具",请告诉我,我一直在寻找它。

    [/报价]

    分析配置为在 DSP 和加速器上运行视觉应用提供支持。 使用"Linux"配置只会提供支持 Linux 和 GPU 的映像。

    此致、
    Jared

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

    您好 Jared、

    我明白了。 即使社区支持-您是否知道我可以在哪里找到有关如何构建它的信息、或者我可以在哪里提出有关它的问题?

    事情是、我需要 tidl/tiovx 才能正常工作。 但我也许可以为 BeagleBone Debian 单独构建它呢?

    BR、

    Joel

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

    尊敬的 Joel:

    [引述 userid="653277" url="~/support/processors-group/processors/f/processors-forum/1509844/tda4vm-q1-building-arago-for-beaglebone-ai64/5804509 #5804509"]

    我明白了。 即使社区支持-您是否知道我可以在哪里找到有关如何构建它的信息、或者我可以在哪里提出有关它的问题?

    [/报价]

    您可以在 Beagle discord /论坛中提问。 我可以帮你做一些简单的调试,但我没有 BB-AI64。

    不过应该可以、您是否有任何错误日志?

    正如我之前所说的、该图像应该适用于 BB-AI64、但您是否有任何错误日志?

    [引述 userid="653277" url="~/support/processors-group/processors/f/processors-forum/1509844/tda4vm-q1-building-arago-for-beaglebone-ai64/5804509 #5804509"]

    事情是、我需要 tidl/tiovx 才能正常工作。 但我也许可以为 BeagleBone Debian 单独构建它呢?

    [/报价]

    Debian 几乎不支持 tidl/tiovx。 您可能必须根据电路板调整 Arago 图像。

    此致、
    Jared

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

    您好 Jared、

    好的、感谢您的帮助! 我是否需要 tidl/tiovx 的-analytics 版本、或者-linux 版本是否同样适用? 假设 Linux 支持我的用例、也许我使用它会更成功。

    不同编译之间的错误略有不同。 有些修补程序略有改变或缺少符号链接、我修复了这些修补程序。 我的猜测是 bb.org 运行6.12内核、这对于 PSDK 10.01 (?)来说太新了

    例如、对于 TI_Preferred_bsp=ti-6_6 i、获取:

    tisdk/build/arago-tmp-default-glibc/works/Beaglebone_ai64-oe-linux/u-boot-ti-staging/2024.04+git/git/git/git/arch/arm/mach-k3/arm64-mull.c:320:29:错误:此处未声明"sca_mem_map"(不在函数中);您的意思是"k3_map"? 
    |  320 |结构 mm_region * mem_map = soc_mem_map;

    我认为这与我看到应用的存储器映射补丁相关(edit:meta-edgeai/recipes-bsp/u-boot 有一些器件树变化、但我还记得在某个地方看到了针对该问题的 C 代码补丁)。

    没有 TI_Preferred_BSP (我认为默认为 BB Debian?) 它只是不能启动-没有错误消息。 我认为这可能与 UEFI 有关-我能够通过在此处和此处复制文件(基于 syslinux)来在没有 UEFI 的情况下共同破解引导系统。 我尝试从机器中删除 EFI 支持、但它不起作用、我假设 Arago 不再支持其他 rootfs? 这很可能是一个死胡同,但不在阿拉戈轨道上,我们应该走。

    我不得不做一件奇怪的事情、那就是将 tispl.bin、sysfw.itb 和 tiboot3.bin 替换为 BB-AI64 eMMC 附带的(相当旧的)文件。 否则、它将无法启动、抱怨 DDR 存储器训练失败。 您认为这是否相关-也许我必须重新构建这些文件、但需要使用新的内存训练配置?

    我觉得这很容易成为侧面跟踪,并尝试解决错误的问题。 在尝试解决任何问题之前、我想投注以下最佳参数、但我需要您的帮助、其中一个参数最兼容:

    -linux/-analytics、TI_preferred_bsp(以及内核分支)、对 EFI 的机器支持、要构建哪个映像(也许 tisdk-tiny-image 不是最优的)、还有其他的吗?

    您认为哪种组合最成功?

    谢谢& BR,

    Joel

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

    尊敬的 Joel:

    [报价 userid="653277" url="~/support/processors-group/processors/f/processors-forum/1509844/tda4vm-q1-building-arago-for-beaglebone-ai64/5806077 #5806077"]

    好的、感谢您的帮助! 我是否需要 tidl/tiovx 的-analytics 版本、或者-linux 版本是否同样适用? 假设 Linux 支持我的用例、也许我使用它会更成功。

    [/报价]

    您需要 tidl/tiovx 的分析版本。

    [报价 userid="653277" url="~/support/processors-group/processors/f/processors-forum/1509844/tda4vm-q1-building-arago-for-beaglebone-ai64/5806077 #5806077"]

    不同编译之间的错误略有不同。 有些修补程序略有改变或缺少符号链接、我修复了这些修补程序。 我的猜测是 bb.org 运行6.12内核、这对于 PSDK 10.01 (?)来说太新了

    [/报价]

    PSDK 10.01支持内核6.6。 PSDK 11.0将支持6.12。

    [报价 userid="653277" url="~/support/processors-group/processors/f/processors-forum/1509844/tda4vm-q1-building-arago-for-beaglebone-ai64/5806077 #5806077"]

    -linux/-analytics、TI_preferred_bsp(以及内核分支)、对 EFI 的机器支持、要构建哪个映像(也许 tisdk-tiny-image 不是最优的)、还有其他的吗?

    [/报价]

    tisdk-tiny-image 将不支持 tidl/tiovx。 它是尽可能的基本骨头。

    [报价 userid="653277" url="~/support/processors-group/processors/f/processors-forum/1509844/tda4vm-q1-building-arago-for-beaglebone-ai64/5806077 #5806077"]

    您认为哪种组合最成功?

    [/报价]

    您能否尝试在机器设置为 bai64的情况下构建 tisdk-analysis-image 或 tisdk-edgeai-image?

    此致、
    Jared

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

    您好 Jared、

    仅此而已 
    MACHINE= beaglebone-ai64位烘烤 tisdk-edgeai-image
    例如? 是否正在设置 TI_Preferred_BSP?
    BR、
    Joel
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我将在晚上运行完整的构建,它需要相当多的时间在我的笔记本电脑上,但我只是 想报告一些部分成功玩构建系统(也许这对其他人来说是有用的). 我设法在 conf/local.conf 中使用以下内容构建和引导 tisdk-tiny-image:

    机器="BeagleBone-ai64" 
    TI_Preferred_BSP ="ti-6_6"
    image_SR1_HS_FS_FILES:bsp-ti-6_6 =""
    image_SR1_HS_SE_FILES:bsp-ti-6_6 =""
    image_SR2_HS_FS_FILES:bsp-ti-6_6 =""
    image_SR2_HS_SE_FILES:bsp-ti-6_6 =""

    我还不得不执行上面提到的符号链接技巧(ln -s j721e-EVM Beaglebone -ai64)、还更改了(DevTool 修改 u-boot-ti-staging)一些 u-boot 存储器映射(考虑到 edgeai 存储器映射漏洞、我有点担心它不正确-但这只是一个测试):

    diff --git a/arch/arm/mach-k3/arm64-mmu.c b/arch/arm/mach-k3/arm64-mmu.c
    index 07edbde64ad..ac7f0764c62 100644
    --- a/arch/arm/mach-k3/arm64-mmu.c
    +++ b/arch/arm/mach-k3/arm64-mmu.c
    @@ -53,7 +53,7 @@ struct mm_region k3_mem_map[] = {
     
     #ifdef CONFIG_SOC_K3_J721E
     
    -#ifdef CONFIG_TARGET_J721E_A72_EVM
    +#if defined(CONFIG_TARGET_J721E_A72_EVM) || defined(CONFIG_TARGET_J721E_A72_BEAGLEBONEAI64)
     /* NR_DRAM_BANKS + 32bit IO + 64bit IO + terminator */
     #define NR_MMU_REGIONS (CONFIG_NR_DRAM_BANKS + 6)

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

    尊敬的 Joel:

    例如? 是否正在设置 TI_Preferred_BSP?
    [/报价]

    我明白您的意思。 您可能必须对其进行设置。 我从来不需要设置它、因为我是为 TI EVM 构建映像。

    您可能需要查看 ti-bsp.inc 并查看 Beaglebone -ai64.conf 之间的增量。

    另一种可能的(尽管有点过时)解决方案是获取 TDA4VM ADAS/edgeai 图像并将 DTS 切换到 BB-AI64 DTS。

    此致、
    Jared

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

    您好 Jared、

    我最终得到了用于构建和引导的文件。 所需修复:

    ln -s j721e-EVM sources/meta-edgeai/食谱-kernel/linux/linux-ti-staging/Beaglebone ai64

    DevTool 修改 u-boot-ti-staging +应用上述补丁来加载正确的 MMU 设置。

    然后在 conf/local.conf 中构建 tisdk-edgeai-image

    机器="BeagleBone-ai64" 
    TI_Preferred_BSP ="ti-6_6"
    Arago_brand ="edgeai"
    image_SR1_HS_FS_FILES:bsp-ti-6_6 =""
    image_SR1_HS_SE_FILES:bsp-ti-6_6 =""
    image_SR2_HS_FS_FILES:bsp-ti-6_6 =""
    image_SR2_HS_SE_FILES:bsp-ti-6_6 =""
    WKs_file:edgeai =" sdimage-2part-efi.wks.in "

    image_sr*-我不确定这些,显然 GP 版本被复制。 这是硬件的特点还是更像您的运行方式(安全模型?)?

    Arago_brand 设置:edgeai,这是应用正确的 FW_DIR 所必需的。

    tisdk-edgeai-image.bb 对 wks_file 进行了硬赋值="tisdk-edgeai-sdimage.wks"、我不确定当 machine_features 包含"efi 时该如何工作、甚至不是这样、因为我认为 rootfs 不再支持非 EFI 引导? 我在我的 conf (ab)中使用:edgeai 覆盖来明确设置它,否则它不会"接受",因为不在.bb 文件中使用?=。 如果你知道任何跳过 EFI 的方法,我准备了它-这是如何在 TDA4-SK 上工作的,还是它在 PSDK 10.01中实际工作的?

    其余的问题是由于我的 CPU 过热和随机错误行为。 我会把整个事情转移到我们的构建服务器下周,这实际上是为任务,我的旧笔记本电脑显然不是.. (我们确实有一个 CI 服务器、它可以从早期 PSDK 版本生成映像、例如、在与 tisdk-edgeai-image.bb/tisdk-edgeai-sdimage.wks 类似的视图中使用不带 EFI 的自定义.wic 文件的层、因此如果可以跳过 EFI、我很乐意知道如何操作。)

    周末愉快!

    BR、

    Joel

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

    尊敬的 Joel:

    很高兴听到这个消息。 要删除 UEFI、我假设您只需要编辑 U-Boot .config/defconfig。 实际上、请与本文档所说的相反: https://docs.u-boot.org/en/latest/develop/uefi/uefi.html 

    此致、
    Jared