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.

[参考译文] AM625-Q1:Linux Docker 问题

Guru**** 2665185 points

Other Parts Discussed in Thread: AM62P

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1590596/am625-q1-linux-docker-issue

器件型号: AM625-Q1
主题: AM62P 中讨论的其他器件

从以下位置继续:

6.1. TI Apps Launcher — 用户指南—Processor SDK AM62x 文档

 

运行时间:

分销商 ID:Ubuntu
描述:  Ubuntu 24.04.1 LTS

sudo Docker pull ghcr.io/texasInstruments/debian-arm64:latest
最新:从 textasinstruments/debian-arm64
摘要:SHA256:ac1578aedd404a67416e902c75a79708ee6f4b0c2fc0b11b3bab1c243e44e835
状态:gghcr.io/texasInstruments/debian-arm64:latest 的图像是最新的
ghcr.io/texasInstruments/debian-arm64:latest

sudo Docker run --platform linux/arm64 -it -v ${TI_apps_Launcher_repo}:/root ghcr.io/texasInstruments/debian-arm64 bash

Exec /usr/bin/bash:Exec 格式错误

是否有溶解物?  似乎是跨平台编译错误?

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

    接下来、我使用以下方法克服了初始问题:

    sudo apt update
    sudo apt install docker.io qemu-user qemu-user-static binfmt-support
    sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes

    sudo docker run -it --platform=linux/arm64 etc....

    The next problem is as follows:

    root@1354382fce98:~/ti-apps-launcher# make -C build

    make: Entering directory '/root/ti-apps-launcher/build'
    [ 0%] Built target ti-apps-launcher_autogen_timestamp_deps
    [ 4%] Automatic MOC for target ti-apps-launcher
    AutoMoc: /root/ti-apps-launcher/backend/includes/camera.h:31:1: warning: Property declaration gst_pipeline has neither an associated QProperty<> member, nor a READ accessor function nor an associated MEMBER variable. The property will be invalid.
    [ 4%] Built target ti-apps-launcher_autogen
    [ 9%] Generating qrc_ti-apps-launcher.cpp
    Detected locale "C" with character encoding "ANSI_X3.4-1968", which is not UTF-8.
    Qt depends on a UTF-8 locale, and has switched to "C.UTF-8" instead.
    If this causes problems, reconfigure your locale. See the locale(1) manual
    for more information.
    [ 14%] Building CXX object CMakeFiles/ti-apps-launcher.dir/ti-apps-launcher_autogen/mocs_compilation.cpp.o
    [ 19%] Building CXX object CMakeFiles/ti-apps-launcher.dir/ti-apps-launcher.cpp.o
    [ 23%] Building CXX object CMakeFiles/ti-apps-launcher.dir/backend/appsmenu.cpp.o
    [ 28%] Building CXX object CMakeFiles/ti-apps-launcher.dir/backend/arm_analytics.cpp.o
    [ 33%] Building CXX object CMakeFiles/ti-apps-launcher.dir/backend/benchmarks.cpp.o
    make[2]: *** [CMakeFiles/ti-apps-launcher.dir/build.make:227: CMakeFiles/ti-apps-launcher.dir/backend/benchmarks.cpp.o] Segmentation fault (core dumped)
    make[1]: *** [CMakeFiles/Makefile2:90: CMakeFiles/ti-apps-launcher.dir/all] Error 2
    make: *** [Makefile:136: all] Error 2

    Any advice in order to be able to build this? We are keen to use the QT6 and therefore would like a solution.

    The previous version I used was ti-processor-sdk-linux-am62xx-evm-10.01.10.04 and the ti-apps-launcher available at the time. This all worked locally using the linux-devkit and compiled ok.

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

    接着、我现在可以转至已编译的文件、但在硬件上运行 ti-apps-launcher(使用 AM62X)且运行位置为 RT_BUILD=0、程序不会运行、而会返回到显示器的终端屏幕。

    图像:  tisdk-default-image-am62xx-evm-11.01.05.03.rootfs.wic.xz—   856516 K、ti-apps-launcher 中已运行正常。

    我现在收到以下警告、但已完成:

    在嵌入式平台上将 ti-apps-launcher 文件复制到 usr/bin 文件夹后、在尝试运行该文件后、大小现在为 0Bytes

    root@1a8df85982a9:~/ti-apps-launcher# make -C Build
    make:输入目录/root/ti-apps-launcher/build
    [0%]构建的目标 ti-apps-launcher_autogen_timestamp_deps
    [4%]构建的目标 ti-apps-launcher_autogen
    [9%]构建 CXX 对象 CMakeFiles/ti-apps-launcher.dir/backend/camer.cpp.o
    /root/ti-apps-launcher/backend/camera.cpp:在成员函数“void Camera::get_camera_info (std:::map<std::__cxx11::basic_string 、std::map<std::__cxx11::basic_string 、std:___cxx11::basic_string >>&)':
    /root/ti-apps-launcher/backend/camera.cpp 40:39:警告:忽略模板参数'int (*)(file*)'[-Wignored-attributes]上的属性
    40 | UNIQUE_ptr pipe (popen (command.c_str ()、“r")“)、close);
    |^
    [14%]构建 CXX 对象 CMakeFiles/ti-apps-launcher.dir/backend/deviceinfo.cpp.o
    [19%]构建 CXX 对象 CMakeFiles/ti-apps-launcher.dir/backend/gpu_performance.cpp.o
    [23%]构建 CXX 对象 CMakeFiles/ti-apps-launcher.dir/backend/live_camer.cpp.o
    /root/ti-apps-launcher/backend/live_camera.cpp:在成员函数'void LiveCamera::liveCamera_get_camera_info (std:::map<std::__cxx11::basic_string 、std::map<std::__cxx11::basic_string 、std:___cxx11::basic_string >>&)':
    /root/ti-apps-launcher/backend/live_camera.cpp 40:39:警告:忽略模板参数'int (*)(file*)'[-Wignored-attributes]上的属性
    40 | UNIQUE_ptr pipe (popen (command.c_str ()、“r")“)、close);
    |^
    [28%]构建 CXX 对象 CMakeFiles/ti-apps-launcher.dir/backend/run_cmd.cpp.o
    [33%]构建 CXX 对象 CMakeFiles/ti-apps-launcher.dir/backend/settings.cpp.o
    [38%]构建 CXX 对象 CMakeFiles/ti-apps-launcher.dir/backend/stats.cpp.o
    [42%]构建 CXX 对象 CMakeFiles/ti-apps-launcher.dir/backend/topbar.cpp.o
    [47%]构建 CXX 对象 CMakeFiles/ti-apps-launcher.dir/backend/wifi .cpp.o
    [52%]构建 CXX 对象 CMakeFiles/ti-apps-launcher.dir/utils/perf_stats.cpp.o
    /root/ti-apps-launcher/utils/perf_stats.cpp:在函数“void perfStatsDdrStatsReadCounters (uint32_t *、uint32_t *、uint32_t *、uint32_t *)“中:
    /root/ti-apps-launcher/utils/perf_stats.cpp:131:49:警告:在算术中使用的类型为“void *“的指针[-wpointer-arith]
    131 | cnt_SEL[0]=(volatile uint32_t *)(base + 0x0f300000);
    |~~~~~ ^~~~~~~~~~~~μ s
    /root/ti-apps-launcher/utils/perf_stats.cpp:132:49:警告:在算术中使用的类型为“void *“的指针[-wpointer-arith]
    132 | cnt0[0]=(volatile uint32_t *)(base + 0x0f300104);
    |~~~~~ ^~~~~~~~~~~~μ s
    /root/ti-apps-launcher/utils/perf_stats.cpp:133:49:警告:在算术中使用的类型为“void *“的指针[-wpointer-arith]
    133 | cnt1[0]=(volatile uint32_t *)(base + 0x0f300108);
    |~~~~~ ^~~~~~~~~~~~μ s
    /root/ti-apps-launcher/utils/perf_stats.cpp 134:49:警告:在算术中使用的类型为“void *“的指针[-wpointer-arith]
    134 | cnt2[0]=(volatile uint32_t *)(base + 0x0f30010C);
    |~~~~~ ^~~~~~~~~~~~μ s
    /root/ti-apps-launcher/utils/perf_stats.cpp:135:49:警告:在算术中使用的类型为“void *“的指针[-wpointer-arith]
    135 | cnt3[0]=(volatile uint32_t *)(base + 0x0f300110);
    |~~~~~ ^~~~~~~~~~~~μ s
    [57%]构建 CXX 对象 CMakeFiles/ti-apps-launcher.dir/configs/platform.cpp.o
    [61%]构建 CXX 对象 CMakeFiles/ti-apps-launcher.dir/QRC_ti-apps-launcher.cpp.o
    [66%]链接 CXX 可执行文件 ti-apps-launcher
    [100%]构建的目标 ti-apps-launcher

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

    该主题专家目前正在感恩节假期。 请期待回复延迟...

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

    您好、Andrew、
    在我的设置中、我当前处于 ti-apps-launcher 存储库的 commit ebf367f。
    最后、我看到了您显示的警告:

    root@ae3a5f28f180:~/ti-apps-launcher# make -C build
    make: Entering directory '/root/ti-apps-launcher/build'
    [  0%] Built target ti-apps-launcher_autogen_timestamp_deps
    [  4%] Automatic MOC for target ti-apps-launcher
    AutoMoc: /root/ti-apps-launcher/backend/includes/camera.h:31:1: warning: Property declaration gst_pipeline has neither an associated QProperty<> member, nor a READ accessor function nor an associated MEMBER variable. The property will be invalid.
    [  4%] Built target ti-apps-launcher_autogen
    [  9%] Generating qrc_ti-apps-launcher.cpp
    Detected locale "C" with character encoding "ANSI_X3.4-1968", which is not UTF-8.
    Qt depends on a UTF-8 locale, and has switched to "C.UTF-8" instead.
    If this causes problems, reconfigure your locale. See the locale(1) manual
    for more information.
    [ 14%] Building CXX object CMakeFiles/ti-apps-launcher.dir/ti-apps-launcher_autogen/mocs_compilation.cpp.o
    [ 19%] Building CXX object CMakeFiles/ti-apps-launcher.dir/ti-apps-launcher.cpp.o
    [ 23%] Building CXX object CMakeFiles/ti-apps-launcher.dir/backend/appsmenu.cpp.o
    [ 28%] Building CXX object CMakeFiles/ti-apps-launcher.dir/backend/arm_analytics.cpp.o
    [ 33%] Building CXX object CMakeFiles/ti-apps-launcher.dir/backend/benchmarks.cpp.o
    [ 38%] Building CXX object CMakeFiles/ti-apps-launcher.dir/backend/camera.cpp.o
    /root/ti-apps-launcher/backend/camera.cpp: In member function 'void Camera::get_camera_info(std::map<std::__cxx11::basic_string<char>, std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >&)':
    /root/ti-apps-launcher/backend/camera.cpp:40:39: warning: ignoring attributes on template argument 'int (*)(FILE*)' [-Wignored-attributes]
       40 |     unique_ptr<FILE, decltype(&pclose)> pipe(popen(command.c_str(), "r"), pclose);
          |                                       ^
    [ 42%] Building CXX object CMakeFiles/ti-apps-launcher.dir/backend/deviceinfo.cpp.o
    [ 47%] Building CXX object CMakeFiles/ti-apps-launcher.dir/backend/gpu_performance.cpp.o
    [ 52%] Building CXX object CMakeFiles/ti-apps-launcher.dir/backend/live_camera.cpp.o
    /root/ti-apps-launcher/backend/live_camera.cpp: In member function 'void LiveCamera::liveCamera_get_camera_info(std::map<std::__cxx11::basic_string<char>, std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >&)':
    /root/ti-apps-launcher/backend/live_camera.cpp:40:39: warning: ignoring attributes on template argument 'int (*)(FILE*)' [-Wignored-attributes]
       40 |     unique_ptr<FILE, decltype(&pclose)> pipe(popen(command.c_str(), "r"), pclose);
          |                                       ^
    [ 57%] Building CXX object CMakeFiles/ti-apps-launcher.dir/backend/run_cmd.cpp.o
    [ 61%] Building CXX object CMakeFiles/ti-apps-launcher.dir/backend/settings.cpp.o
    [ 66%] Building CXX object CMakeFiles/ti-apps-launcher.dir/backend/stats.cpp.o
    [ 71%] Building CXX object CMakeFiles/ti-apps-launcher.dir/backend/topbar.cpp.o
    [ 76%] Building CXX object CMakeFiles/ti-apps-launcher.dir/backend/wifi.cpp.o
    [ 80%] Building CXX object CMakeFiles/ti-apps-launcher.dir/utils/perf_stats.cpp.o
    /root/ti-apps-launcher/utils/perf_stats.cpp: In function 'void perfStatsDdrStatsReadCounters(uint32_t*, uint32_t*, uint32_t*, uint32_t*)':
    /root/ti-apps-launcher/utils/perf_stats.cpp:131:49: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith]
      131 |         cnt_sel[0] = (volatile uint32_t *)(base + 0x0f300000);
          |                                            ~~~~~^~~~~~~~~~~~
    /root/ti-apps-launcher/utils/perf_stats.cpp:132:49: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith]
      132 |         cnt0[0]    = (volatile uint32_t *)(base + 0x0f300104);
          |                                            ~~~~~^~~~~~~~~~~~
    /root/ti-apps-launcher/utils/perf_stats.cpp:133:49: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith]
      133 |         cnt1[0]    = (volatile uint32_t *)(base + 0x0f300108);
          |                                            ~~~~~^~~~~~~~~~~~
    /root/ti-apps-launcher/utils/perf_stats.cpp:134:49: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith]
      134 |         cnt2[0]    = (volatile uint32_t *)(base + 0x0f30010C);
          |                                            ~~~~~^~~~~~~~~~~~
    /root/ti-apps-launcher/utils/perf_stats.cpp:135:49: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith]
      135 |         cnt3[0]    = (volatile uint32_t *)(base + 0x0f300110);
          |                                            ~~~~~^~~~~~~~~~~~
    [ 85%] Building CXX object CMakeFiles/ti-apps-launcher.dir/configs/platform.cpp.o
    [ 90%] Building CXX object CMakeFiles/ti-apps-launcher.dir/qrc_ti-apps-launcher.cpp.o
    [ 95%] Linking CXX executable ti-apps-launcher
    [100%] Built target ti-apps-launcher
    make: Leaving directory '/root/ti-apps-launcher/build'

    但我得到了一个有效的二进制文件:

    root@ae3a5f28f180:~/ti-apps-launcher# ls -l build/
    total 37176
    -rw-r--r-- 1 root root    69833 Dec  1 05:59 CMakeCache.txt
    drwxr-xr-x 8 root root     4096 Dec  1 06:08 CMakeFiles
    -rw-r--r-- 1 root root    25023 Dec  1 05:59 Makefile
    -rw-r--r-- 1 root root     2898 Dec  1 05:59 cmake_install.cmake
    -rw-r--r-- 1 root root 31270203 Dec  1 06:01 qrc_ti-apps-launcher.cpp
    -rwxr-xr-x 1 root root  6690032 Dec  1 06:08 ti-apps-launcher
    -rw-rw-r-- 1 root root     3506 Dec  1 05:59 ti-apps-launcher.qrc.depends
    drwxr-xr-x 4 root root     4096 Dec  1 06:00 ti-apps-launcher_autogen
    root@ae3a5f28f180:~/ti-apps-launcher# file build/ti-apps-launcher
    build/ti-apps-launcher: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=7e9ef82e9f733e62405fea7ee196cf085abed154, for GNU/Linux 3.7.0, not stripped

    请从上述日志中验证大致的文件大小和类型。  
    我在 MakeLists 中为 AM62P 添加了以下内容:

    add_compile_definitions (SOC_AM62P=1)#(如果目标为 AM62P) 

    请确保您已添加适用于 AM62x 的闪存。

    我能够通过将二进制文件复制到/usr/bin 并运行“systemctl start ti-apps-launcher“来验证二进制文件是否正常工作。

    请交叉检查您的文件是否已正确复制、复制/运行后不应出现 0 字节二进制文件。

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

    尊敬的 Divyansh:

    感谢您就此问题回复我。  事实证明、该构建实际上有效、可以在我们的平台 (AM62X) 上执行二进制文件。  二进制文件在复制到 SDCard 时已损坏、但现在可以正常工作。   

    然而、我们一直在与 qt.io 讨论、并可能继续直接使用 Boot2Qt(这使用了 TI/QT.IO 必须组合在一起的 BSP)。  使用 QT 6.8 的 repo 版本和使用 V6.9 的 V11 SDK 似乎存在一些问题、而且通过 Docker 占用的构建时间非常慢、不适合开发。  我相信 TI 可能正在开发使用最新 QT 6.10 的新版本、或许会考虑恢复到 V10 SDK 下使用的编译方法(速度相对较快,因为所有这些都是在本地完成的)。

    谢谢、

    Andrew

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

    您好、Andrew、

    我们与 Qt 合作开发 Boot2Qt、但我们没有参与开发、Qt 开发人员率先完成了开发。

    此致、
    Krunal