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/TDA2:Linux/TDA2:TDA2 Linux 软件重新引导失败

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/774658/linux-tda2-linux-tda2-tda2-linux-software-reboot-failure

器件型号:TDA2
主题中讨论的其他器件: DRA742

工具/软件:Linux

您好!

我们 正在开发基于 TDA2 (使用 SD 卡引导)的定制板、并在 VSDKv3.5源上构建 Linux 映像

文件:./../vision_sdk/apps/configs/tda2xx_evm_linux_all/cfg.mk

VSDK_Board_type=TDA2XX_EVM

IPU_PRIMARY_CORE=ipu2

u-boot 和内核、 用户案例应用 程序都可以正常工作。

通过    控制台执行“reboot”命令时,系统还会停止所有服务并正常分离设备。  

但系统不会重新启动、需要手动进行电源重置、然后重新启动系统。

日志作为附件。

您能告诉我们如何解决软件重启问题吗? 谢谢。

BR、

三谢

e2e.ti.com/.../reboot_5F00_log.txt

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

    你(们)好

    为了使 reboot 命令正常工作、我们应该能够正常关闭所有活动的设备/驱动程序。

    从日志中、内核似乎遇到了尝试释放显示子系统分配的缓冲区的错误情况。

    您能否查看并确认尝试重新引导命令时正在运行的内容-哪些外设、内核处于活动状态?

    开发、调试环境或生产环境中是否需要此功能 -您能否详细说明预期用途

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

    您可能会发现此主题非常有用。
    e2e.ti.com/.../749458

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

    您好、Shravan、Sriram

    在执行"reboot"命令之前、我已在运行时从 Linux 执行卸载和重新加载远程控制器。

    $ CD /sys/bus/platform/drivers/omap-rproc  
    $ echo 5502000.IPU >解除绑定
    $ echo 5502000.IPU >绑定

    但结果是相同的现象、需要手动复位电源。

    由于用户案例 是 TDA2板上的3D SRV 由 另一个 ECU 控制、 因此需要在 不进行电源复位的情况下重新启动系统。

    通常、 应  触发重新启动命令 CPU 复位、然后重新加载启动映像并执行重新初始化 CPU&内存。

    但是,系统在显示“reboot: restarting system”(重新引导:重新启动系统)信息后似乎挂起 。

    此致、

    Sam。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好
    除了 CPU 复位、重新启动序列还应清除外设状态-例如、缓慢地删除飞行中的任何 DMA 操作等 作为重新引导序列的一部分,Linux 将调用所有注册的驱动程序 remove()挂钩。 故障日志似乎表示驱动程序停止/清理序列在尝试释放缓冲区时遇到错误。
    需要诊断和识别有问题的模块以及故障原因-启动重新引导时、您能否更密切地关注 GPU、显示模块的使用情况
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

    从日志消息:模块链接到:... [上次卸载:BC_Example]、

    我通过 lsmod 命令跟踪了系统中所有已加载的模块、并观察到列表中的"bc_example"模块。

    然后通过 rmmod 命令卸载模块、

    我们无法成功卸载 pvrsrvkmm 模块,错误消息正在使用中。

    从 Backtrace 堆栈:它位于 DRM 设备驱动程序(直接渲染)中

    文件:TI_compons/OS_tools/linux/kernel/omap/drivers/GPU/DRM/DRM_gem

    我确认内核驱动程序中没有修改。

    这 是否是 Linux 内核配置问题造成的?

      

    BR、

    三谢

    e2e.ti.com/.../4721.list_5F00_module_5F00_log.txt

    e2e.ti.com/.../4150.kernel_5F00_config.txt

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好
    是的、正如我先前所写的、GPU 驱动程序清理似乎失败了。 您是否在尝试启动重新启动时运行 HMI、wayland 合成器。
    您能否通过手动停止航迹合成器进行检查。
    此外、请详细说明尝试重新引导时从 GPU、显示视图运行的内容。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Sam:

    作为 Vision-SDK 主菜单的一部分、您可以选择
    "Z: Exit - and shutdown Remote CPUs"(Z:退出-并关闭远程 CPU),然后尝试重新引导?

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

    Shravan、您好!

    我选择 了关闭远程 CPU 项目,然后执行了"重新启动"命令。

    顺便说一下、我还尝试终止"runWeston"的过程、然后执行 reboot 命令。  

     683 root     2668 S   {runWeston}/bin/sh /usr/bin/runWeston

    但结果是 相同的现象、系统仍然无法启动。 日志作为附件。

    您能帮我们建议如何研究问题吗? 谢谢。

    此致、

    Sam。

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

    GPU 应用程序需要先关闭。 这包括正在运行的任何 Wayland 应用程序和 Weston。

    之后、GPU 关机顺序如下:
    /etc/init.d/rc.pvr 停止

    请执行此操作、如果您发现问题、请告知我们。 Linux 文件系统初始化是使用运行 rc.pVR 脚本的 systemd init 完成的。 关断序列也需要经过 systemd。

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

    Anand、您好!

    感谢你的答复。

    我执行了"/etc/init.d/rc.pvr stop"脚本、但它显示了的错误消息

    rmmod:错误:模块 pvrsrvkm 正在使用中
    无法卸载模块


    似乎无法卸载 pvrsrvkm 模块,这是同一现象。

    您能帮我们建议如何调试依赖性吗? 谢谢。

    此致、

    三谢

    e2e.ti.com/.../reboot_5F00_log_5F00_0304.txt

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

    日志显示了启动期间的以下序列。 RC.PVR (SGX)启动。 Weston 依赖于 OpenGLES。 它在 RC.PVR 之后启动。

    [确定]已启动 rc.pvr.service.[ 11.708379]集线器2-0:1.0:检测到1个端口

    正在启动 weston.service ...
    [确定]已在 tty1上启动 Getty。
    [确定]已在 ttyS0上启动串行 Getty。
    [确定]已到达目标网络。
    正在开始网络名称解析...
    [确定]已启动 weston.service。

    在拆卸路径上、需要先关闭 Weston 服务。 我看到 Weston 正被 systemd 停止、随后是 rc.pVR。 因此、排序是正确的。 但是、日志显示了 Weston 触发的以下错误、表明 Weston 关闭失败。

    [205.271498] CPU:1 PID:729 Comm:Weston 被污染:g w o 4.4.84-00032-g0f6b93d-m脏#2

    您可以在目标上尝试以下操作并分享结果吗? 这应该在系统初始化完成后完成。

    /etc/init.d/weston 停止
    /etc/init.d/rc.pvr 停止

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

    Anand、您好!  

    此处是命令的测试结果(关闭 Weston 服务)。

    root@dra7xx-EVM:~#/etc/init.d/weston 停止
    停止 Weston
    已终止
    root@dra7xx-EVM:~#/etc/init.d/rc.pvr 停止
    rmmod:错误:模块 pvrsrvkm 正在使用中
    无法卸载模块

    顺便说一下、我发现  西顿服务的特殊现象:

    1)   Weston 的过程(PID=701)  

    701 root    55092 S   Weston --idle-time=0

    root@dra7xx-EVM:~# kill 701

    root@dra7xx-EVM:~#/etc/init.d/rc.pvr 停止
    已卸载 PowerVR 消费者服务。

            但在 执行 reboot 命令后会出现相同的现象。

    #2)运行 Weston 命令:

    root@dra7xx-EVM:~# Weston
    日期:2018年9月17日 UTC
    [09:37:15.528] Weston 1.9.0
                  http://wayland.freedesktop.org
                  故障报告发送至: bugs.freedesktop.org/enter_bug.cgi
                  内部版本:1.8.93-2-gb05cdb8 configure.ac:正式版本的固件版本为1.9.0 (2015-09-21 18:11:26 -0700)
    [09:37:15.528]操作系统:Linux、4.4.4.84-00032-g0f6b93d-m脏、#2 SMP 抢占 Wed 2月27日21:47:36 CST 2019、armv7l
    [09:37:15.528]使用配置文件'/etc/weston.ini'
    [09:37:15.528]加载模块'/usr/lib/weston/wayland-backend.so
    [09:37:15.529]加载模块失败:/usr/lib/weston/wayland-backend.so:无法打开共享目标文件:无此类文件或目录

      我在  根文件系统中找不到"wayland-backend.co"模块文件。

    BR、

    三谢

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

    我假设您在 TDA2xx SoC 上使用 VisionSDK Linux 3.5。 是这样吗? 它面向的是哪种终端应用? 音响主机、仪表组、环视、前置摄像头等?

    我提出这个问题是因为您的设置运行了 Weston。 ADAS 应用基于分析、通常不使用 Weston。 显示屏、合成器等通常是音响主机等信息娱乐应用的一部分。

    与 ADAS 市场相比、我们还针对信息娱乐系统提供了不同的 SDK。 VisionSDK 用于 ADAS 应用。

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

    Anand、您好!

    是的、我们在 TDA2xx SOC 上使用了 VisionSDK v3.5。

    我们针对的是3D 环视应用(ADAS)、 通过 以太网端口使用4通道 AVB 摄像头输入、然后 在 TDA2xx GeoAlign & Synthesis 之后将 AVBTP 视频流(H.264)输出到远程 ECU、

    我尝试 通过"update-rc.d -f Weston remove"命令删除启动 Weston 运行、重新启动后出现相同现象。

    顺便说一下、在 u-boot 命令提示符下运行"reset"时、我也会遇到同样的现象。

    =>复位
    正在重置…

    您能告诉我们如何 再次启动触发系统/CPU 吗? 谢谢。

    BR、

    三谢   

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

    感谢您提供详细信息。

    我相信我们已导致 PVR 在重新启动期间未卸载的问题。 Weston 服务被 systemd 关闭。 但实际上、Weston 流程仍在后台运行。 因此,PVR 驱动程序发现 pvrsrvkm 模块仍在使用中。 因此、RC.pVR 关闭失败。 如果您在重新引导命令之前手动终止 Weston 进程、则不会看到 PVR 错误。

    话虽如此,我认为我们可能错过了问题说明。 我们在 PVR 无法加载错误之后继续进行。 但是、您的主要问题似乎是电路板未重启。 评估是否正确?

    这样我们就在同一页上-请确认以下内容:
    1.您已使用 update-rc.d 删除了 Weston 当您发出 reboot 时、我假设已成功卸载 PVR 服务。 当您提到同样的现象时、这意味着什么? 电路板无法正确重新启动?
    2.当您从 u-boot 提示符触发复位时,主板不会重新启动。 此时、驱动程序未加载、文件系统未初始化。 即使如此、复位也不会触发 CPU 启动。

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

    Anand、您好!

    我在 执行重新引导前测试了您提到的 PVR 卸载问题。  详细 日志 作为附件。

    是的、我的主要问题 是 TDA2XX EVM 板无法从 shell 命令正确重新启动、它需要手动电源复位、然后系统重新启动。

     由于我无法确定   是否触发 A15复位和启动、  因此尝试 进行类似电源复位的仿真。

    PS:当前从 SD 卡引导的 TDA2xx。

    BR、

    三谢

    e2e.ti.com/.../reboot_5F00_fail_5F00_0312.log 

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

    您能否帮助更新主板在发出 reboot 命令后无法正确重新引导的原因? 谢谢。

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

    我主要查看 TDA2x/J6的图形部分。 基端口团队正在研究重启问题并将作出响应。

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

    Anand、您好!

    感谢您的反馈。

    BTW、即使按下 WARN RESET (EVM 上的 CPU RESET 按钮)、TDA2板也无法正确重新启动。

    它只能按冷复位(EVM 的电源复位按钮)重新启动。

    我们期待 收到您的 Baseport 团队反馈。  

    BR、

    三谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好
    您能否检查您正在使用的 EVM 版本。 早期的一些样片有一个与处理热复位相关的勘误表-请参阅官方勘误表文档以了解更多详细信息

    此外、我们还验证了我们能够使用 SDK 二进制文件从软件成功重启。
    您能否查看您可能已经完成的任何其他更改-初始化序列、启动脚本等
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Sriram、

    感谢您的反馈。

    我们的板如下所示:

    CPU :DRA752-GP ES2.0
    型号:TI DRA742
    电路板:DRA74x EVM 修订版(H)
    DRAM: 1.5GiB
    MMC:  OMAP SD/MMC:0、OMAP SD/MMC:1.

    B、我 观察 到 http://www.ti.com/lit/er/sprz397i/sprz397i.pdf

    i729:热复位后 DDR 访问挂起

    它描述了使用外部电路在热复位有效时在 DDR RESET#引脚上应用复位的权变措施解决方案。

    这是否意味着原理图?

    BR、

    三谢

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

    你(们)好

    在一些早期的 EVM 版本上、所采用的权变措施是将热复位请求转换为 PMIC 侧的 PORz。

    对于您正在使用的 EVM 版本、请认为问题应该已经得到解决。

    作为完整性检查、您是否使用默认的 SDK 预构建映像进行了验证、并检查复位是否适用于您的设置

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

    您好 Sriram、

    感谢您的建议。

    但我没有在现场找到预构建的 Linux 映像(它存储了 VisionSDK v3.6的 BIOS 预构建映像)

    http://software-dl.ti.com/processor-sdk-vision/esd/TDAx/vision-sdk/latest/index_FDS.html。

    您能不能告诉我在哪里可以下载预构建的映像? 谢谢。

    BR、

    三谢

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

    Sam

    该软件包包含内核、引导加载程序和目标文件系统的预构建二进制文件。

    对于 M4、DSP 固件、您需要按照 Vision SDK Linux 用户指南中的说明构建映像

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

    Srirama、您好!

    我从   http://software-dl.ti.com/processor-sdk-vision/esd/TDAx/vision-sdk/latest/index_FDS.html 下载最新的预构建映像(VISION SDK Linux 文件系统)

    并将以下文件复制到$INSTALL_DIR/VISION_SDK/BINARS/APS/tda2xx_EVM_Linux_All/HLS/Linux/boot 文件夹中

    • tisdk-rootfs-image-dra7xx-evm.tar.xz (vsdk v3.6根文件系统)
    • MLO
    • u-boot.img
    • uenv.txt

     

    然后通过以下命令创建可引导 SD:

     

                  CD $INSTALL_DIR/VISION_SDK/build    (重要! 必须在此目录中)

                  /hlos/scripts/linux/mksdboot.sh --device /dev/sde --AppName apps --makeconfig tda2xx_evm_linux_all

    并检查该 SD 是否可以引导 EVM、但在运行"reboot 命令后仍无法成功触发 EVM 引导。

    重新引导日志消息和预编译映像作为附件。

    您能否帮助验证 是否需要修改 TDA2X EVM? 谢谢。

    此致、

    三谢

     e2e.ti.com/.../1018.reboot_5F00_fail_5F00_0401_5F00_log.txt

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好
    我们已在 DRA76x、DRA75x、DRA72x 上验证了重新引导命令、作为 Vision SDK 3.05版本及以后版本的版本签出的一部分。
    您是否可以尝试使用其他板
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好
    是否有进一步的更新,是否能够验证另一个上的行为。 如果您的问题仍未解决、请重新发布