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.

[参考译文] AM62A7:am62a7-SK 上的启动时间优化

Guru**** 2856630 points

Other Parts Discussed in Thread: AM62A7-Q1

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1635424/am62a7-boot-time-optimization-on-am62a7-sk

器件型号: TDA4AEN-Q1

尊敬的团队:

我正在为进行积极的启动时间优化 AM62A7-Q1 SK (SDK 11.01)。 我的主要目标是实现 摄像头到显示流水线 尽快激活。
 
当前进度:
我已经成功优化了早期引导阶段、可以到达中的 Linux 控制台 (Busybox) 放大器 控制负载。 我当前的构建配置包括:
  • 引导加载程序: 启用 Falcon 模式(跳过 U-Boot 正常)。
  • 用户空间: 基于 Busyboxtiny-image(替代 systemd)。
  • 库: 启用最小 GStreamer 库。
  • 内核: 已剥离defconfig以删除不必要的驱动程序和功能。
 
问题:
在内核变薄以提高启动速度后、摄像头和显示设备节点 ( /dev/video*/dev/fb0/dev/dri/card0) 不再出现。
当我重新启用标准的 FB/显示驱动程序时、启动时间会显著增加、这损害了优化目的。 我似乎缺少初始化所需的特定“精简“配置或修补程序 CSI-2 RX DSS 而无需整个多媒体堆栈的开销。
 
问题:
  1. 有任何疑问吗 推荐的最小内核 .config示例 具体针对仅支持 CSI-2 和显示 (DSS) 路径的 AM62A、可实现快速引导场景?
  2. 为了将启动时间保持在 2–3 秒以内、是否可以初始化 VPAC/ISP 通过 R5F 内核、或者我remoteproc是否必须等待 Linux 中的特定加载?
  3. 是否有特定内容 器件树 优化(要保留的节点与禁用的节点)以确保立即探测 CSI-2 和显示驱动程序而无需等待其他依赖项?
  4. 是否有的基准 “早期捕获“ 绕过标准重型螺丝刀探头序列的实现?
如果有任何指导、最少的设备树示例或内核片段可以帮助我在维护 2 秒引导目标的同时恢复流水线、我将不胜感激。
谢谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:

    现在、该主题已分配给正确的组织。 现在我将其分配给正确的工程师。 请留出一些时间进行回复。

    谢谢、

    Anshu

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

    谢谢 Anshu

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

    嗨、Avijit、

    ]您是否有 推荐的最小内核 .config示例 具体针对仅支持快速引导场景的 CSI-2 和显示 (DSS) 路径的 AM62A?

    这将是对默认 SDK 的高度定制、但我们没有。

    要将启动时间保持在 2–3 秒以内、是否可以初始化 VPAC/ISP remoteproc在序列前面通过 R5F 内核、还是必须等待 Linux 中的特定加载?

    在当前启动流程中、VPAC/ISP 已在 Linux 启动之前初始化、如 此处的启动流程图所示。这是作为 DM FW 映像的一部分完成的、如下所示。 但是、如您所述、DM R5 和 A53 之间的 IPC 握手必须完成、这样 A53 (Linux) 上的应用程序才能通过 GStreamer 或 TIOVX 使用 VPAC。

    是否有特定内容 器件树 优化(要保留的节点与禁用的节点)以确保立即探测 CSI-2 和 Display 驱动程序、而无需等待其他依赖项?

    与第一个问题一样。 除了标准 SDK 之外、我们没有这种自定义示例。

    是否有对的引用 “早期捕获“ 绕过标准重型驱动器探头序列的实现?

    我们没有任何使用标准 SDK(即 AM62A EdgeAI SDK)进行早期(快速)捕获的参考。

    此致、

    建中

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

    尊敬的建中:  

    我正在查找.cfg删除的修补程序和文件tiny-image。 我想尝试恢复它们以恢复必要的设备节点。 确认节点已恢复后、我将自行优化内核启动时间。

    谢谢、

    Avijit

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

    我尝试使用基本映像中的内核配置制作一个微型映像。  

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

    好的。 理解您的提问。 让我进行内部检查。

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

    嗨、Avijit、

    我正在尝试使用基本映像中的内核配置制作一个小映像。  [/报价]

    在“tiny image“ 中、您是否引用了 SDK 中提供的文件系统映像文件 tisdk-tiny-initramfs-am62xx-evm.rootfs.cpio? 如果是、这个微型映像文件纯粹是 Linux rootfs、它不包括内核映像和模块(boot/和 lib/modules/目录为空)。 因此、您可以使用所需的任何配置将内核映像和模块填充到这个超小型 rootfs 中。

    如果这样不能回答您的问题、请告知我们。

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

    我正在使用命令进行构建  
    tiarm62axx-EVM 位烘烤 tisdk-tiny-image MACHINE=  

    并加载.wic.xz 文件(不仅是 rootfs)  

    我想创建一个自定义微型图像(WIC 文件)。 并具有以下自定义功能、以实现快速启动。  

    -使用 busybox 代替 systemd  

    -启用 falcon 模式  

    -使用基本映像中的内核 defconfig。  

    “从基本映像中使用内核 defconfig “-我的理解是 TI 正在在默认 defconfig 基础上应用一个自定义的.cfg 文件来删除微型映像中的组件。

    我正在尝试将相机尽快显示移液管。 我可以将摄像头放在基本图像上。 另外,我制作了一个在 bellow 2 secs 中引导到 shell (#) 的构建。 我正在尝试将这两项更改合并到一个构建中。  

    现在我尝试组合这两个版本。 内核从基础构建开始、而从微型构建开始执行其他操作。 如果摄像头和显示器工作正常、我可以修整内核。  

    您能帮助我构建组合吗?  

    谢谢、

    Avijit  

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

    你好、Avijit。

    下面链接的指令说明了如何构建用于 falcon 引导的 Yocto。

    3.1.2.9. U-Boot Falcon 模式 — Processor SDK AM62Ax 文档

    -使用 busybox 代替 systemd
     

    要替换 systemd、您真的是要直接使用 busybox、还是要使用 sysvinit?

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

    BTY、只要用微型映像替换基本 rootfs 映像就不会在启动时间内节省太多、根文件系统初始化过程就很重要。 因此、对于您的应用、我不建议从微型映像开始、因为它不为 CSI/DSS 应用提供任何支持库。 相反、我建议您从基本映像开始、然后优化其 INTI 过程。 例如、可以使用 sysvinit 替换 systemd、然后优化 sysvinit 初始化进程。 或者您可以跳过标准的 Linux init (sysvinit 或 systemd)、直接让内核启动您的应用程序作为 PID 1 进程。

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

    谢谢刘,你碰巧有任何补丁(即使它不是官方的),可以帮助我这个 effor。  

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

    嗨、Avijit、

    我不确定您需要为哪项特定任务添加补丁、但一般来说、这是一个手动自定义过程、不同应用程序的更改不会相同。