• Hey,


    Here we are again.

    During the lifecycle of the EFUS board we have used different generations . But recently we have been having overheating problems of the CPU.

    Our initial baseboard, which we still use, does not do any thermal management (although it was advised, this is a major design flaw).


    We have noticed that a few years back (When exactly, why or by who is unknow for me) the IMX6 processor has changed:

    The IMX6 on the EFUS board has changed from a dual core to a quad core:

    mcimx6u5evm10ac ==> mcimx6q5eym10ae


    although the overheating problem was not present in the beginning, we feel like it is only getting worse recently, so we need to take action.

    Our application does not need a quad core CPU running at high speeds.


    My question is thus: can we lower the amount of active cores or reduce the speed of the processor?

    Our application requires a waterproof/dustproof solution, drilling holes for a fan to create air circulation is not possible.

    We have provided some thermal management and this helps to reduce the temperature drastically. Yet we want to investigate the possibility to lower the CPU speed.


    The core temperature sometimes reaches over 100 °C, resulting in dangerous situations.

    The visual problem is that our display starts flickering with horizontal black lines (connected via LVDS on the EFUS).


    If you have advice for other solutions, feel free to let us know.


    Thx

  • Hello,


    we can try to deploy dvfc driver which sets cpu-/perclock according the current demands.

    Which kernel-/HW-/OS versions you are using (see HLKM\platform)?

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.

  • This is from the serial interface:

    Microsoft Windows CE Bootloader Common Library Version 1.2 Built Jul 20 2017 14:04:34

    Microsoft Windows CE Bootloader for efusA9 Built Aug 2 2017

    Portions copyright (c) 2017 F&S Elektronik Systeme GmbH

    Boot Loader, Version 1.40

    NBoot, Version VN36

    HW rev. 1.20


    efusA9 V2.40 - Firmware Init

    Copyright (c) 2013 F&S Elektronik Systeme GmbH

    Build: Feb 9 2018/15:02:51


    Sometimes we completely reset the EFUS and load a later version of NBoot/EBoot:

    NBoot: nbootimx6_48

    EBoot: ebootIMX6_20 or ebootIMX6_21

    Kernel w13: XIPiMX6_C8E_V240_Perdum_180316 - Adds Telit drivers - final


    This is all the information I could find, does this suffice?




  • Hello,


    this information is sufficient. I will add the dvfc feature to a kernel based on "XIPiMX6_C8E_V240_Perdum_180316". This is your custom kernel. I will let you know when you can download it.

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.

  • Hello,


    no sorry. I stuck a bit while implementation, it's no as easy as I thought.

    I try to provide you a version with 400MHz fixed clock today - do you think it is useful? Nevertheless I will proceed and spend additional time while you test.

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.

  • Hello, please test:


    1. run ndcucfg on any console (e.g. telnet) and enter "core clock" assume the result is about 792MHz.

    2. Copy the DLL from the attachment to ffsdisk

    3. Do registering according the txt file from attachment (e.g. by console command "ndcucfg -B\<path_and_name_of_txt>)

    4. Reboot and check "core clock" again, the result should be 400MHz and heat should be drastically reduced


    Can you confirm?

    Files

    • dvfcbeta.zip

      (7.46 kB, downloaded 218 times, last: )

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.

  • I want to use NDCUCFG along the serial interface because along ethernet is not possible but I do not manage to start NDCUCFG.


    Disable serial debug ouput during boot [Y] (Y/N) ? :Y

    > Debug output disabled !!!

    > Press S during boot to step into bootloader.


    :> <0><0>HW-Watchdog: DELAYED


    efusA9 - WindowsCE Bootloader


    :> <0><0>HW-Watchdog: DELAYED


    efusA9 - WindowsCE Bootloader


    :> <0><0>HW-Watchdog: DELAYED


    efusA9 - WindowsCE Bootloader


    :>

  • Seems the image is not available any more.

    What's the output of enter bootloader command "i"?

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.

  • :> i

    efusA9 boot options valid : YES

    Start Download after reboot : no

    Download kernel to : FLASH

    Kernel load/store compression : OFF

    Size of area for OS image : 60 MB

    Size of FFSDISK : 196 MB

    Format of FFSDISK : F3S

    F3S serial number : 9787132B02D3

    Launch image after reboot : no

    Kernel checksum calculation : disabled

    Output debug messages at serial port : no

    Bootloader Network setting valid : YES

    -MAC Address : 0:5:51:18:C8:C6

    -Use DHCP to get IP address: YES

    WindowsCE MAC address valid : yes

    -WindowsCE MAC Address : 0:5:51:18:C8:C6


    :>

  • "Launch image after reboot : no"!

    Must be "yes"!


    Try to enter "L1" and reboot if this does not work reflash the kernel.

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.

  • Reenabel the boot output again, assume there i no valid image in Flash and we stop in EBoot or while load image so that ndcucfg is not available.

    Did you reflash already the image?

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.

  • Below the debug output. Windows and the application are starting nicely.


    <0><0>INFO:OALLogSetZones: dpCurSettings.ulZoneMask: 0xb


    Microsoft Windows CE Bootloader Common Library Version 1.2 Built Aug 6 2018 11:39:10

    Microsoft Windows CE Bootloader for efusA9 Built Jan 20 2021

    Portions copyright (c) 2017 F&S Elektronik Systeme GmbH

    Boot Loader, Version 2.0

    NBoot, Version VN45

    HW rev. 1.20


    System ready!

    Preparing for download...

    Press >S< to step into monitor...


    InitLCD...

    Display-Mode: 20, Name Perdum Display, 1024x768, bpp=32, Voltage=3.3V

    LCD: Width=1024 Height=768 Bpp=32

    In Length : 0x00000000

    Kernel (2998kB) read from flash disk started finished in 490 milliseconds

    Kernel read from NAND

    INFO: OEMLaunch: Jumping to Physical Address 0x10220000h (Virtual Address 0x10220000h)...



    Jumping to Kernel @ 0x10220000

    INFO:OALLogSetZones: dpCurSettings.ulZoneMask: 0xb

    Windows CE Kernel for ARM (Thumb Enabled)

    OAL: Enabling L2 cache

    OEMInit: silicon rev = 0x16

    SMP support enabled


    efusA9 V2.40 - Firmware Init

    Copyright (c) 2013 F&S Elektronik Systeme GmbH

    Build: Feb 9 2018/15:02:51

    OAL: Detected 4 CPUs

    OAL: Other 3 CPU cores started

    OAL: OEMGetRamTable TotalMemSize=1024 VidMemSize=120

    OAL: HW watchdog enabled

    WARNING: SNVS was reset.

    [OAL] MACB: Disabled

    [OAL] RestartReason: IPP

    OAL: Boot display enabled. Settings imported successfully.

    FSPART: FS partition driver loaded

    BINFS: RegisterVolume - Mounted volume '\BINFS'

    F3S_FSD: Checking serial number...

    F3S_FSD: Failsafe Flash File System - V2.13

    F3S_FSD: Volume successfully mounted at FFSDISK (size=192 MB)!

    FS-PM: STARTED

    BE2: Version 1.4, ActiveKey = Drivers\Active\01

    BE2: Version 1.4, ActiveKey = Drivers\Active\05

    IPU: Version 1.4, ActiveKey = Drivers\Active\10

    PP: Version 1.1, ActiveKey = Drivers\Active\19

    VDI: Version 1.1, ActiveKey = Drivers\Active\20

    ENET: Version 1.5, ActiveKey = Comm\ETHNETA

    ENETGetPHYId: No external PHY found

    ENET: ENETEnetAutoNego TIMEOUT detecting PhyID

    ENET: ENETEnetAutoNego unknown Phy

    ETHMAN: Version 1.2, ActiveKey = Drivers\Active\32

    BE2: Version 1.4, ActiveKey = Drivers\Active\35

    NI2C: Version 1.2, ActiveKey = Drivers\Active\36

    NI2C: Version 1.2, ActiveKey = Drivers\Active\37

    NI2C: Version 1.2, ActiveKey = Drivers\Active\38

    Serial: Version 1.11, ActiveKey = Drivers\Active\39

    Serial: Port disabled. Serial debug is on !

    Serial: Version 1.11, ActiveKey = Drivers\Active\40

    Serial: Version 1.11, ActiveKey = Drivers\Active\41

    Serial: Version 1.11, ActiveKey = Drivers\Active\42

    TCH: Version 1.4, ActiveKey = Drivers\Active\43

    SHC: Version 1.6, ActiveKey = Drivers\Active\44

    SHC: Version 1.6, ActiveKey = Drivers\Active\45

    CID: Version 2.6, ActiveKey = Drivers\Active\46

    CID: Version 2.6, ActiveKey = Drivers\Active\47

    PWM: Version 1.3, ActiveKey = Drivers\Active\48

    Freq = 0x0000c350 = 50000

    Steps = 0x00000fff = 4095

    Default = 0x000009c4 = 2500

    Mode = 0x00000000 = 0

    Channel = 0x00000004 = 4

    index = 0x00000004 = 4

    NSPI: Version 3.8, ActiveKey = Drivers\Active\49

    NSPI: Version 3.8, ActiveKey = Drivers\Active\50

    EXTRTC: Version 1.2, ActiveKey = Drivers\Active\51

    PPU: Version 1.1, ActiveKey = Drivers\Active\52

    WAV: Version 1.3, ActiveKey = Drivers\Active\53

    BCS: Version 1.4, ActiveKey = Drivers\Active\54

    DIO: Version 1.4, ActiveKey = Drivers\Active\55

    FRW: Version 1.3, ActiveKey = Drivers\Active\62

    GALCORE 4.6.9(9754) (Aug 13 2014 10:51:18)

    Major GPU: SysIntr=33 MemBases=0x130000 MMU Version=0

    2D GPU: SysIntr=34 MemBases=0x134000 MMU Version=0

    Video memory: BaseAddress=0x0 PhysBase=0x28040000 size=0x7000000 physSize=0x0

    LCD: Version 1.5, ActiveKey = Drivers\Display\LCD

    LCD: Read registry settings from Drivers\Display\LCD

    =0x3001000 LCDOut=0x3000000

    LCD: OutConfig: 24 BIT

    LCD: LCD_SetVEEFreq(100000)

    LCD : dwContrastFreq =100000Hz

    LCD : l_dwContrastPWMSteps = 6598

    LCD: --LCD_HWInit(1)

    LCD: GetLCDcontrast: ControlPanel\Keybd returns 0x7ff

    LCD: GetLCDcontrast: ModeContrast=0x500, RegContrast=0x7ff

    LCD: LCD_SetVEEFreq(100000)

    LCD : dwContrastFreq =100000Hz

    LCD : l_dwContrastPWMSteps = 6598

    LCD: SetContrast: new=0x7ff old=0xffffffff

    LCD: G2DAccelLevel 0x3

    LCD: UseNEON=1, UseGC2D=1 0x3

    LCD: Display-Mode 20, Name Perdum Display

    LCD: SetMode NewMode=0, CurrentMode=0, bFirstTimeInit=1

    SHC: [USDHC3] SD card inserted

    LCD: SetContrast: new=0x7ff old=0x7ff

    EETI - Touchp: 2014-09-02 3.1.8.0002

    CheckAutoStart: Version 1.7, LaunchNum = 100

    NDCUCFG V 69 started. Platform: efusA9

    NDCUCFG Open COM4 at 115200 Baud

    CreateFile() failed -> ERROR COM4

    SoftRTC disabled

    I'm a TSForm running on WinCE

    SQLite error (1): duplicate column name: extra_info

    LCD: SetContrast: new=0x7ff old=0x7ff

    08789794 | 1. Debug | Parameter [55] ENGINE_SPEED_CURRENT is being updated with default value 0

    > [11:50:25] Numeric Param | [000] 108789794 | 1. Debug | Initializing Parameter [57] ENGINE_ACTIVE_ERRORS from system


    > [11:50:25] Numeric Param | [000] 108789794 | 1. Debug | Ini

  • Ok, you see ndcucfg is redireced to COM4:

    NDCUCFG V 69 started. Platform: efusA9

    NDCUCFG Open COM4 at 115200 Baud

    CreateFile() failed -> ERROR COM4


    Assume COM4 is in use, not installed or does not exist! So redirect "ndcucfg" to COM1 (debug port) and switch off debug output again:

    HKLM/System/ndcucfg/port="COM1:". You may use local console if Ethernet and RS232 instance of ndcucfg is not available.


    Or erase Registry by bootloder command "R" ..., your kernel V2.4 180316 should use default setting this is COM1:!


    So i assume you set "COM4:" elsewhere in your setup procedure?

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.

  • As I told DLL must be copied to ffsdisk.

    HW Revison on efusA9 must be 1.2 or higher.

    I test it on a efusA9 HW Rev1.2 single core and on a efusA9R2 Rev1.0 quad core.


    In the serial boot log you should see something like this if the driver is loaded:

    ...

    PWM: Version 1.4, ActiveKey = Drivers\Active\51

    EXTRTC: Version 1.2, ActiveKey = Drivers\Active\52

    DVFC: Version 1.0, ActiveKey = Drivers\Active\53

    PPU: Version 1.1, ActiveKey = Drivers\Active\54

    BCS: Version 1.4, ActiveKey = Drivers\Active\55

    ...

    You can also use ndcucfg -> device enum for check if driver is loaded.


    Please come back here with the answers then I will do further checks.

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.