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/AM5728:应用程序启动问题

Guru**** 2933740 points

Other Parts Discussed in Thread: AM5728

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/670324/linux-am5728-application-start-issue

器件型号:AM5728

工具/软件:Linux

你(们)好。

我使用的是 AM572x 定制板。 我已注册在系统服务上启动应用程序。 启动应用程序时出现问题。

1.  某些线程将不起作用,但是...从控制台手动启动应用程序时,它没有问题。

2. 当我使用服务设置"StandardOutput = journal + console"时,以下输出将无限期显示。 我需要查看应用程序的日志输出。 但我无法看到这些无限期消息。

这是控制台输出:

----------------------------------------------------

soot23-initscript.sh[839]:

soot23-initscript.sh[839]:

soot23-initscript.sh[839]:

soot23-initscript.sh[839]:

…

此致、

John Kim

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

    您好、John、

    如果应用程序从控制台手动启动时没有问题,则意味着您的系统服务中没有导出的相同环境。 请以 种方式导出它们。

    此致、
    Kemal

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

    正如您所教授的、在首次设置环境变量后、我尝试运行我的应用程序。
    但是,问题没有得到解决。

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

    调试 sootoo23-InitScript.sh 服务、它是 这些无限期消息的主要原因。

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

    您好、Kemal、

    为什么您认为 sootoo23-InitScript.sh 脚本有问题?

    从控制台手动运行时,此脚本可以正常运行,没有任何问题。

    这是脚本内容。
    ----------------------------------------

    !/bin/sh
    fbset -g 800 480 800 480 32;
    导出 QT_QPA_platform = linuxfb;
    导出 LD_LIBRARY_PATH ="/ lib";

    /MyApp
    ----------------------------------------

    此致、
    John Kim

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

    请将此内容添加到您的脚本中:

    #重要的系统环境变量
    scripts=/etc/profile.d /*.sh
    ,用于$scripts
    中的 f 确实
    可以获得$f
    DONE 

    我从 这里取了它

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

    2018年3月8日8:28 PM 与发布的内容相同。

    我已经尝试过该内容、
    问题未得到解决。

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

    您能否附加 sootoo23-InitScript.sh 并发布您启用该服务的确切步骤? 我将在我的结尾处尝试它

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

    感谢你的答复



    "/etc/init.d/sootoo23-InitScript.sh "
    ----------------------------------------------------
    !/bin/sh

    fbset -g 800 480 800 480 32;

    # PRU CORE & eth 模块插件
    insmod /lib/modules/prueth/pruss.ko;
    insmod /lib/modules/prueth/pruss_intc.ko;
    insmod /lib/modules/prueth/rpmsg_pru.ko;
    insmod /lib/modules/prueth/pru_rproc.ko;
    insmod /lib/modules/prueth/prueth.ko;

    # DIO 可以连接
    IP 链路设置 CAN0类型 CAN 比特率1000000三路采样打开;
    IP 链路设置 CAN0 UP;
    IP 链路设置 CAN1类型 CAN 比特率1000000三路采样打开;
    IP 链路设置 CAN1 UP;

    #导出
    导出 QT_QPA_platform=linuxfb;
    导出 LD_library_path="/lib";

    执行进程和应用程序
    /apps/MPU_APP
    ----------------------------------------------------



    "/lib/systemd/system/sootoo23.service "
    ----------------------------------------------------
    [单位]
    Description=安抚奶嘴23脚本
    after = systemd-remount-fs.service systemd-tmpfiles-setup.service auditd.service syslog.target

    [服务]
    环境="LD_library_path=/lib"
    ExecStart=/etc/init.d/sootoo23-InitScript.sh
    StandardOutput=journal+console
    #StandardOutput=控制台

    [安装]
    WantedBy=多用户目标
    ----------------------------------------------------

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

    您的应用程序打印该吉巴尔输出。 请参见我的输出。 一切都很清楚。

    [15.895457]  soos23-initscript.sh[257]:qtApp 正在启动

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

    请更详细地解释。
    问题所在的部分以及如何解决。

    此外、我还想知道从控制台手动运行应用程序时为什么没有问题。

    以下是我从控制台手动运行的日志。

    ------------------------------------------------------

    主起点2018年3月12日15:47:32
    SQLite 库版本:3.5.9
    [DBOpen] DB 打开名称:/.db/DB.sqlite
    [DBOpen] DB 打开名称:/.db/LDB.sqlite
    [DBOpen] DB 打开名称:/.db/EDB.sqlite
    [dBm_Init]完成。
    NET eth0:正在初始化 cpsw 版本1.15 (0)
    NET ETH0:找到 PHY:ID 是0x221622
    8021q:将 VLAN 0添加到设备 eth0上的硬件过滤器
    CMD = ifconfig eth0 0xc0a80032 up;
    IP:0xc0a80032
    cmd = route add default GW 0xc0a80001;
    GW:0xc0a80001
    来自 RTC 的[Timesynync]时间同步
    [PCProcessMain]开始!!
    [IOM_Init]可以超时!
    [HMIProcess]流程开始。
    [ConsoleProcessMain]启动

    秘书长的报告
    **        版权所有(C)**** 有限公司          **
    **         ----------------------------------          **
    **          产品**** -IED V:1.00           **
    秘书长的报告

    提示>

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是一个有趣的问题、您在这里问我。 我怎么知道、您自己的第三方应用程序有什么作用? 请给出建议?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我认为这个问题不是“应用”的问题。

    小心...
    删除了"服务中的"StandardOutput"配置、应用 程序运行良好。

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

    您是否正在使用 最新 的处理器 SDK?

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

    主机 PC 操作系统:Ubuntu 16...04 Linux 64位
    AM5728 BSP:U-BOOT-2016.05 / Linux-RT-4.4.19
    AM5728 SDK 版本:TI-processor-sdk-linux-rt-am57xx-evm-03.01.00.06
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这也是您的"应用"。 我在 ti-processor-sdk-linux-rt-am57xx-evm-03.01.00.06上检查过、没有此类问题。 请根据您的应用创建一个简单的演示应用程序、然后在电路板上进行测试、如果该打印不可读、请连接该演示应用程序在我的一侧进行测试。

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

    感谢你的答复

    我有一个问题。

    是否可以删除脚本名称输出?
    我希望仅输出应用程序的输出。

      >> soot23-initscript.sh[257]:QT 应用程序启动  

      >> QT 应用程序启动

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

    在 Linux 环境中、一切都是不可能的。

    脚本名称由中的标识符打印 /build/arago-tmp-external-linaro-toolchain/work/armv7ahf-neon-linux-gnueabi/systemd /git/src/journal/journald-console.c、注释掉您不想看到的消息的 IOVEC_SET_string。

    /*首先:时间戳*/
    if (prefix_timestamp()){
    assert_se (clock_gettime (clock_monotonic、&ts)= 0);
    xsprintf (tbuf、"[%5" PRI_TIME"。%06ld]"、
    ts.tV_sec、
    tV.tV_nsec / 1000);
    IOVEC_SET_string (iovec[n+]、tbuf);
    }
    
    /*第二:标识符和 PID */
    如果(ucred){
    if (!identifier){
    get_process_comm(ucred->pid,&ident_buf);
    标识符= ident_buf;
    }
    
    xsprintf (header_pid、"["pid_FMT"]:"、ucred->pid);
    
    if (标识符)
    IOVEC_SET_string (iovec[n+]、标识符);
    
    IOVEC_SET_string (iovec[n+]、header_pid);
    } 否则、如果(标识符){
    IOVEC_SET_string (iovec[n+]、标识符);
    IOVEC_SET_string (iovec[n+]、":");
    } 

    您可以在 此处找到处理器 SDK 03.01.00.06构建步骤

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

    我通过修改 journalald 控制台部分来解决了这个问题。