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**** 2616675 points

Other Parts Discussed in Thread: AM5728

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/572833/linux-am5728-touchscreen-settings

器件型号:AM5728

工具/软件:Linux

大家好、

 我之所以提出这一点、是因为触摸触摸屏时出现 UDP 丢弃问题。 我已将 UDP 缓冲区大小增加到最大值(这解决了丢包问题、除了使用触摸屏时、换言之、除非触摸屏、否则没有丢包)、因此我认为这必须是触摸屏问题。

我感觉当使用触摸屏时、系统会忽略当前任务(UDP 套接字读取)、并直接跳转到触摸屏事件。 是否有任何方法可以降低其优先级或只是让其等待其他进程?

或任何其他想法都是值得欢迎的。

谢谢你。

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

    软件团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Xiang、

    最新的 Processor SDK 是否也会出现这种情况? 如何测量数据包丢失?

    此致、
    Kemal

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

    您好、Kemal、

    我在最新 PDK 3.2.0.5上遇到编译问题。 所以我返回到了  3.1.0.6.但不要认为它很重要。

    我使用 iperf、  

    服务器:iperf -s -u 31680

    客户端:iperf -u -c 10.1.7.57 -f M -b 120000000 -l 31680

    以及我自己的测试应用。 它们都显示了类似的问题。

    我可以将速度从120mbps 提高到500Mbps、如果我根本不使用触摸屏、服务器就能接收到所有内容。  

    但是、如果我在测试过程中尝试触摸触摸屏、则会显示一个或两个墨滴。 当我在几秒钟内未触摸它之后第一次触摸它时、感觉它会丢弃1个数据包。 如果在第一次触摸后连续触摸/按/移动/多点触摸、则仅显示1滴。 但是、如果我触摸它、然后等待几秒钟、再次触摸、它可能会显示第二次下降。 如果我触摸触摸屏的不同区域、它也会下降更多、而不是按下/释放同一个点。  

    我想、当触摸屏在特定时间内不使用时、它会进入某种睡眠模式。 它在被触摸后唤醒、唤醒过程事件/中断会阻止 UDP 进程读取当前数据包。

    是否有任何方法可以更改设置、使触摸屏永远不会进入"睡眠"状态?  

    还是其他建议?

    关于 iperf 的另一个问题。 人们说 iperf 很旧、建议使用 iperf3。 如何在 EVM 上安装 iperf3?

    谢谢你

    Peter

     

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

    您能否使用 ftrace irqsoff preempoff 查看触摸屏驱动程序在调度程序中花费的时间。
    要安装 iperf3、请按照 以下 步骤操作、并在最后一步中键入$ MACHINE=AM335x-EVM bitbake iperf3。

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

    您好、Kemal、

    我看不到"/sys/kernel/debug 下的"tracing"、我做错了吗?

    root@am57xx-EVM:~# mount -t debugfs nodev /sys/kernel/debug
    挂载:nodev 已挂载或/sys/kernel/debug 忙
    root@am57xx-EVM:~# cd /sys/kernel/debug
    root@am57xx-evm:/sys/kernel/debug ls
    48890000.usb fault_arn_bytes omap_mux 稳压器
    488d0000.usb GPIO omapdss remoteproc
    ASOC hid opp sched_features
    BDI IIO pinctrl sleep_time
    蓝牙 memblock pm_debug suspend_stats
    CLK mmc0 pm_QoS ubi
    dma_Buf mmc1 PWM 子模块
    DRI mmc2 RAS USB
    extfrag omap_iommu regmap WAKEUP_Sources
    root@am57xx-EVM:/sys/kernel/debug

    我还尝试以下操作、以确保启用了示踪剂。

    CONFIG_FUNCTION_Tracer =y
    CONFIG_FUNCTION_graph_Tracer =y
    CONFIG_STACK_Tracer =y
    CONFIG_DYNAL_FTRACE=y 

    但是、这样做之后、我仍然没有在配置文件中看到它们=y、只能看到它们  

    CONFIG_WASE_FUNCTION_Tracer = y
    CONFIG_WASE_FUNCTION_graph_Tracer = y
    CONFIG_WASE_DYNAL_FTRACE=y
    CONFIG_WASE_FTRACE_MCOUNT_RECODE=y

    ,这仅意味着系统支持它们。

    有什么想法吗?

    此致、

    Peter

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

    请在 menuconfig 中启用以下配置:
    内核黑客-->[*]攻击-->[*]中断关闭延迟跟踪器
                                                               [*]抢占关闭延迟跟踪器

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

    启用示踪剂时遇到问题。  

    这里创建了另一个线程  

    我将在解决示踪剂问题后继续此主题。

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

    在这里创建了另一个线程

    我将在解决示踪剂问题后继续此主题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    基本上、正如我们在其他两个线程上讨论的那样、重新编译的内核无法正确引导。  e2e.ti.com/.../2109649

    您(TI)能否提供已编译和可立即使用的图像以及调试此主题顶部提到的触摸屏问题所需的所有功能? 它应包括启用" Tracer"的模块和其他模块。 我的平台是不带摄像头模块的 AM5728 EVM。

    谢谢你。

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

    [引用用户="Kemal R. Shakir"]

    您能否使用 ftrace irqsoff preempoff 查看触摸屏驱动程序在调度程序中花费的时间。
    要安装 iperf3、请按照 以下 步骤操作、并在最后一步中键入$ MACHINE=AM335x-EVM bitbake iperf3。

    [/报价]

    我能够

    echo irqsoff >/sys/kernel/debug/tracing/current_tracer

    然后

    Cat /sys/kernel/debug/tracing

    并查看一组 IRQ (我猜是吗?) 具有时间戳。

    但我到底在寻找什么呢?  如何知道 触摸屏驱动程序在调度程序中花费了多长时间?

    谢谢你。

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

    您能否在启用 irqsoff 和启用 preemutoff 的情况下、在测试前后附加跟踪和 cat /proc/interrupts 日志

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

    首先、我注意到、启用 irqsoff 抢占后、UDP 数据包显著下降、我猜这是预料之中的。

    下面是我所做的:

    1)回波 irqsoff >  /sys/kernel/debug/tracing/current_tracer

      回波抢占 >  /sys/kernel/debug/tracing/current_tracer

    2) 2) cat /proc/interrupts >/home/root/interrupts_before.txt

    3) 3)在电路板上启动 UDP 接收器应用、在主机上启动 UDP 发送器应用、开始传输。

    4) cat trace >/home/root/trace.txt

    5) 5)使用触摸屏几秒钟、按 Ctrl+c 结束记录。

    6) cat /proc/interrupts >/home/root/interrupts_after.txt

    以下是这些文件。 希望他们能提供帮助

    e2e.ti.com/.../interrupts_5F00_after.txte2e.ti.com/.../interrupts_5F00_before.txte2e.ti.com/.../trace.txt

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否还可以从此序列附加日志?

    1)回波 irqsoff >/sys/kernel/debug/tracing/current_tracer
    2) 2) cat /proc/interrupts >/home/root/interrupts_irqsoff_before.txt
    3) 3)在电路板上启动 UDP 接收器应用、同时触摸屏幕。
    4) cat /proc/interrupts >/home/root/interrupts_irqsoff_after.txt
    5)回波抢占>/sys/kernel/debug/tracing/current_tracer
    6) cat /proc/interrupts >/home/root/interrupts_preemptoff_before.txt
    7) 7)在电路板上启动 UDP 接收器应用、同时触摸屏幕。
    8) cat /proc/interrupts >/home/root/interrupts_preemptoff_after.txt
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    以下是文件。 我在执行4)和8)操作时使我的应用程序保持运行。 e2e.ti.com/.../interrupts_5F00_preemptoff_5F00_before.txte2e.ti.com/.../interrupts_5F00_preemptoff_5F00_after.txte2e.ti.com/.../interrupts_5F00_irqsoff_5F00_after.txte2e.ti.com/.../interrupts_5F00_irqsoff_5F00_before.txt 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    抱歉、我忘记了要求跟踪日志。 在步骤4)和8)之后、您是否还可以连接 cat trace >/home/root/trace_irqsoff.txt 和 cat trace >/home/root/trace_preemptoff.txt。 如果您重新获取包含这两个日志的所有日志、将会非常好。 很抱歉。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    没问题。  

    由于我降低了 UDP 传输速度、因此我在该测试中看不到数据包丢失。 我想如果我把它快速发送、那么很难找到这个问题。

    e2e.ti.com/.../trace_5F00_irqsoff.txte2e.ti.com/.../trace_5F00_preemptoff.txte2e.ti.com/.../3252.interrupts_5F00_irqsoff_5F00_after.txte2e.ti.com/.../6866.interrupts_5F00_preemptoff_5F00_after.txte2e.ti.com/.../5327.interrupts_5F00_irqsoff_5F00_before.txte2e.ti.com/.../8032.interrupts_5F00_preemptoff_5F00_before.txt

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

    我已经尝试了一些变通办法、看起来确实有效。 如何降低中断优先级、以便触摸屏不会干扰其他进程?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我在 trace_preemptoff.txt 日志上看到这些额外的2us 延迟、似乎 IRQ/75导致了这些软件包丢失。 在此线程中、您可以找到有关更改中断优先级的信息。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我无法根据您提供的链接更改优先级。 有些功能不同、我不知道在我的案例中应该更改哪一个。 请提供更详细的平台指定说明。 谢谢你。