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/AM5726:热监测和频率测量

Guru**** 2540720 points
Other Parts Discussed in Thread: AM5728

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/592878/linux-am5726-thermal-monitoring-and-frequency-measurements

器件型号:AM5726
主题中讨论的其他器件:AM5728DRA752

工具/软件:Linux

您好!

请帮助我们解决有关 AM572x IDK 上的热监控和频率配置的以下问题。

此致、

Joakim

------

我对 AM5728 IDK 上的频率配置和热监控有一些疑问。

我使用 TI SDK 03.03.00.04中的内核。

-         CONFIG_DRA752_HEATCH 是否是过热保护的关键开关?

-         CONFIG_TI_Thermal 是允许<cat /sys/class/thermal/thermal_zone0/temp> 访问结温的开关。 但此开关取决于 CPU_Thermal [=y],CPU_Thermal 用“这通过降低频率实现了通用 CPU 冷却机制”来描述。 如果我理解正确的话、这个机制只会在超过特定温度阈值时激活。 但是、不能以恒定频率运行 CPU 并读取结温。 TI 是否可以调整此驱动程序?

-         如果我选择性能调节器、 打印<1500000>、我在几乎空闲的系统上以大约10MHz 的频率测量 perf。 是否有控制算法降低频率、或者内核刚刚设置为挂起状态、在这种状态下不执行指令。 这对实时行为有多大影响?

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

    这种行为可以解释为按需性能。 技术术语是 SmartReflex 和电源管理。 有关详细信息、请参阅链接的文章:
    wiki.tiprocessors.com/.../Linux_Core_Power_Management_User's_Guide_(v4.1)

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

    您好!

    最后、我可以进一步研究 Linux 内核配置。

     

    我的设置:

    我从 http://software-dl.ti.com/processor-sdk-linux-rt/esd/AM57X/latest/exports/am57xx-evm-linux-rt-sdk-src-03.03.00.04.tar.xz 获得了最新的 Linux 源代码

    当我`uname–a`时在我的目标上

    Linux Sitara 4.4.4.41-rt50-g968d071ce9 #3 SMP 抢占 RT 5月19日星期五10:12:37 CEST 2017 armv7l GNU/Linux

    因此、我们正在处理相同的 git commit。

    我同意我们必须禁用 CONFIG_CPU_FREQ 和 CONFIG_CPU_IDLE 才能运行 RT 修补内核。 但我们还想记录结温、以跟踪负载、频率和温度的相关性。 到目前为止、我们只能使用读取温度  但仅在启用 TI_Thermal 时提供该接口。 但 TI_Thermal 取决于 CPU_热力、这取决于 CPU_FREQ。

    那么、没有启用 CPU 电源管理的任何配置时、是否有另一种方法来跟踪温度?

    此致、

    Joakim

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

    "我同意我们必须禁用 CONFIG_CPU_FREQ 和 CONFIG_CPU_IDLE 才能运行 RT 修补内核。 "

    从何处获取此信息? 您是否计划使用 ti-processor-sdk-linux-rt-am57xx-evm-03.03.00.04?

    使用 cpufreq 时,默认情况下会选择按需调节器。 您可以切换到用户空间调节器、因此 MPU 频率将保持恒定、除非您决定手动更改。

    另一种方法是从 Linux 内核禁用 CPU_Thermal 和 CPU_FREQ、然后通过 sysfs 条目仅在用户空间中启用超级管理、请参阅下面的 wiki:

    processors.wiki.ti.com/index.php/DRA7xx_GLSDK_7.02.00.02_Release_Notes#Known_Issues - GLSDK-1725

    另请参阅以下指针是否将在帮助中:

    processors.wiki.ti.com/.../AM57x_Thermal_Considerations
    processors.wiki.ti.com/.../GLSDK_Thermal_framework

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

    您好、Pavel、

    是的、我们使用的是 AM572x IDK 上的 ti-processor-sdk-linux-rt-am57xx-evm-03.03.00.04。

    [引用 user="Pavel Bodev"]其他方法可以是从 Linux 内核禁用 CPU_Thermal 和 CPU_FREQ,然后通过 sysfs 条目仅在用户空间中启用超级管理

    /sys/class/thermal/thermal_zone0存在、但如果我启用了 thermical_zone0 ( echo -n"enabled">/sys/class/thermal/thermal_zone0/mode) 、仍然无法获取温度。

    CAT:/sys/class/thermal/thermal_zone0/temp:无效参数 

    因此、仅当如上所述启用 TI_热力 时才会提供该 sysfs 接口。

    我们是否错过了激活此界面的内容?

    感谢您的回答和问候

    电源 Joakim 和我 正在共同解决这个问题。

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

    Guy、

    [引用 user="Guy Bilgerig"]/sys/class/thermal/thermal_zone0存在,但如果我启用了 thermical_zone0 ( echo -n "enabled">/sys/class/thermal/thermal_zone0/mode) ,仍然无法获取温度。

    您能否检查是否实际设置了"已启用"(在"已启用"之前和之后执行"mode"条目)?

    您是否还有以下可用路径?

    /sys/devices/virtual/thermal/thermal_zone0/mode

    此致、
    帕维尔

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

    您好、Pavel、

    是的、该模式随后启用、并且/sys/devices/virtual/thermal 也存在。

    root@Sitara:// cat /sys/class/thermal/thermal_zone0/mode
    disabledroot
    @Sitara:// echo -n "enabled">/sys/class/thermal/thermal_zone0/mode
    root@Sitara:// cat /sys/class/thermal/thermal_zone0/mode
    enabled
    root@Sitara:// cat /sys/class/thermal/thermal_zone0/temp
    cat:/sys/class/thermal/thermal_zone0/temp:invalid argument
    root@Sitara://
    
    root@Sitara:// cat /sys/devices/virtual/thermal/thermal_zone0/mode
    enabled
    root@Sitara:// cat /sys/devices/virtual/thermal/thermal_zone0/temp
    cat:/sys/devices/virtual/thermal/thermal_zone0/temp:invalid arge. 

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

    您好、Pavel、

     在另一个线程中、您建议使用 TI 的 omapconf。 我看到您也可以使用它来读取温度、如下所示:

    用户@Sitara:~μ C/omapconf$ sudo omapconf show temp MPU
    OMAPCONF (修订版1.73-nogit Build Thu Jun 8 09:59:20 UTC 2017)
    
    HW 平台:
    通用 DRA74X (平展器件树)
    DRA75X ES2.0 GP 器件(标准性能(1.0GHz))
    TPS659038 ES2.2
    
    软件编译详细信息:
    编译:编译:
    版本:Debian GNU/Linux 8
    内核:
    版本:4.4.41-rt50-g968d071ce9
    作者:Devel@debian
    工具链:GCC 4.9.4版(Linaro GCC 4.9-2017.01)
    键入:#12 SMP preempt RT
    日期:2017年6月7日星期三16:47:59 CEST
    
    51
    

    因此、实际上这 也是一种在没有 sysfs 的情况下获取温度的方法。 是否可以替代硬件平台和软件构建详细信息? 那么、我在不使用另一条命令解析输出的情况下得到51个答案吗?

    此致、Guy

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

    键入"./omapconf --help"以获取可用命令和选项的完整列表。

    如果没有此类选项、则应更改 omapconf 源并构建新的二进制文件。

    此致、
    帕维尔