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.

TMDSIDK574: Linux demo for thermal evaluation

Part Number: TMDSIDK574
Other Parts Discussed in Thread: AM5748

Hi,

My customer wants to evaluate AM54x thermal behavior on TMDSIDK574.

Do we have below demo code running on Linux?
- Use ARM and C66x. (GPU and IVAHD are not needed)
- ARM and DSP frequency can be changed.

And is it possible to monitor device internal temperature from terminal or GUI?

Thanks and regards,
Koichiro Tashiro

  • Hi Tashiro-san,

    For loading the Arm A15s in thermal stress testing, we will typically run a benchmark program like Dhrystone, or memtester to put a large load on the MPU.  This will show worst case performance, and may be more desirable to run applications that better represent the expected loading in the final product.

    On the DSP, there a several OpenCL-based example programs provided in the SDK that can be ran to exercise the C66 in parallel with the A15s.

    The Arm frequency can be dynamically changed on the Linux command line (assuming non-RT Linux).  This will require changing the MPU governor to "userspace" so you can manually set and hold a specific frequency (1000, 1178 and 1500MHz are available by default).

    The DSP frequency is set at boot time by u-boot, and would need to be rebuilt to change the frequency.  To the best of my knowledge, OPP_NOM, OPP_OD and OPP_HIGH are available in the u-boot menu configuration.

    To monitor on-die temperature, have a program called "omapconf" included in the TI Processor SDK Linux filesystem that can be used to poll all thermal sensors on the device.

    In the example below, I run "omapconf" with additional arguments "show temp" to only report the thermal sensors (it can show many more things as well).

    e.g.:

    root@am57xx-evm:~# omapconf show temp                                                            
    OMAPCONF (rev v1.74-1-g40ab0a2 built Sun May 31 06:18:34 UTC 2020)                               
                                                                                                     
    HW Platform:                                                                                     
      Generic DRA74X (Flattened Device Tree)                                                         
      DRA76X ES1.0 GP Device (STANDARD performance (1.5GHz))                                         
                                                                                
                                                                                                     
    SW Build Details:                                                                                
      Build:                                                                                         
        Version:                            
      Kernel:                                                                                        
        Version: 5.4.43-rt25-g17e2c5c658                                                             
        Author: dilbert@nfsbox                                                                       
        Toolchain: gcc version 9.2.1 20191025 (GNU Toolchain for the A-profile Architecture 9.2-2019.
    12 (arm-9.10)                                                                                    
        Type: #33 SMP PREEMPT_RT                                                                     
        Date: Thu Jul 2 13:48:44 CDT 2020                                                            
                                                                                                     
    |--------------------------------------------|                                                   
    | Sensor | Temperature (C) | Temperature (F) |                                                   
    |--------------------------------------------|                                                   
    | MPU    | 48              | 118             |                                                   
    | GPU    | 47              | 116             |                                                   
    | CORE   | 47              | 116             |                                                   
    | IVA    | 47              | 116             |                                                   
    | DSPEVE | 47              | 116             |                                                   
    |--------------------------------------------| 

    Regards,
    Mike

  • Hi Michael,

    Thanks for your quick reply!
    Let me ask some more questions.

    Regarding A15 stress tests, are there Dhrystone or memtester available in SDK demo?
    If not, where and how customer gets them and put it in Linux?

    For DSP demo, there are many demos available for AM574x IDK.

    https://software-dl.ti.com/processor-sdk-linux/esd/docs/06_03_00_106/linux/Examples_and_Demos.html

    But it is not clear which ones are suitable to test DSP.
    Could you point me some?

    Customer wants to evaluate slower frequencies such as 300MHz, 600MHz, 800MHz for A15.
    I am not familiar the MPU governor. Is it possible to add frequency ranges other than default settings?

    Thanks and regards,
    Koichiro Tashiro

  • Hi Michael,

    Customer wants to change A15 frequency to 600MHz.
    Is it possible for you to make this change in the MPU governor and send me the prebuild image?

    Thanks and regards,
    Koichiro Tashiro

  • Hi Mike,

    Could you reply to my additional questions?

    Thanks and regards,
    Koichiro Tashiro

  • Hi Tashiro-san,

    We have an app note that talks about setting custom MPU frequencies: https://software-dl.ti.com/processor-sdk-linux/esd/docs/06_03_00_106/linux/How_to_Guides_Linux_Porting_Guide_AM571x_AM570x_Speed_Grades.html

    Following these steps would allow the customer to test each frequency they are interested in.  The app note above talks about creating new device tree entries to override the default speeds.

    For your other questions, dhrystone and memtester are provided in the filesystem and can be ran from the command line.

    To test the DSP, it would probably make sense to pick a test case that most accurately represents the end use case.

    Regards,
    Mike

  • Hi Mike,

    I'am client who asked above questions.

    When I placed TMDSIDK574 in thermal chamber that is set to +80℃,
    TMDSIDK574 is suddenly turned off (the power is turned off).
    I guess the junction temparture reached at 105℃ (=operatinal max value).

    Is this phenomenon designed to protect the device intentionally?
    or
    Is this phenomenon caused as the result of limitation in terms of the device's performance involuntarily?

    Thanks and regards,

    Hiroki Fujii

  • HI Hiroki-san,

    This is normal behavior.  The AM5748 has an industrial temperature rating of 105C as you said.  The Linux thermal framework will periodically sample the thermal sensors on the device, and will shutdown the device if this temperature is exceeded (the temperature is defined in the device tree).  The kernel log will output messages when this is occurring.  If the kernel should lock for some reason, or thermal framework disabled, the device will automatically shutdown at 125C.

    I will also add that the heatsink provided on the EVM is intended for ambient conditions in a lab/ office setting.  If the application needs to operate in an environment of up to 80C, more comprehensive thermal management will be required (larger heatsink and/ or addition of a fan).

    Regards,
    Mike