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.

AM2434: EtherNet/IP Ethernet Link Test Failed on AM243 with dp83822 PHY

Part Number: AM2434
Other Parts Discussed in Thread: AM2432, LP-AM243, DP83869, SYSCONFIG

Hi expert,

 

    Customer has issue about new SDK with dp83822 PHY. Their product use AM243 with dp83822 PHY. They implemented dp83822 PHY driver and pass successfully CT19/CT20 Ethernet Link Test with mcu_plus_sdk_am243x_08_06_00_45.

but they can't use the same driver to pass CT19/CT20 Ethernet Link Test with ind_comms_sdk_am243x_09_00_00_03.

 

  1. Test result

mcu_plus_sdk_am243x_08_06_00_45: pass

Attached: 08_CT20.log, 08.pcapng

 08.pcapng08_CT20.log

ind_comms_sdk_am243x_09_00_00_03: failed

Attached: 09_CT20.log, 09.pcapng

 09.pcapng09_CT20.log

  1. Assessing result of Attribute 1 (Interface Speed) / 2 (Interface Flags) / 6 (Interface Control)

We find some different behavior between two version.

These maybe the reason of failed result.

 

mcu_plus_sdk_am243x_08_06_00_45

ind_comms_sdk_am243x_09_00_00_03

Attribute 1: connect 100M

64 00 00 00

0A 00 00 00

Attribute 1: no connection

00 00 00 00

0A 00 00 00

Attribute 2: connect 100M

0F 00 00 00

0F 00 00 00

Attribute 2: no connection

00 00 00 00

13 00 00 00

 

mcu_plus_sdk_am243x_08_06_00_45:

 

ind_comms_sdk_am243x_09_00_00_03:

 

  1. The License Expired issue is reproduced under 5 times Ethernet Link Test.

mcu_plus_sdk_am243x_08_06_00_45: pass

 

ind_comms_sdk_am243x_09_00_00_03: failed

Attached: 09_5times.log, 09_5times.pcapng

We get the License Expired log.

 09_5times.log09_5times.pcapng

What the different between two version of SDK?

How do they fix these issue?

  • Hi Andre

    I have raised the request to Kunbus. Let me try to get back on this by tomorrow

  • Is customer trying the latest drop that was provided last week.

  • Hi Andre,

    Hi, first I want to be sure about board. Can they send us the board description? Is it AM243x-EVM or AM64x-EVM or AM243x-LP or some custom board? Why I’m asking is that I also can reproduce “License Expired“, but only in case when I try to use AM64x-EVM application image on AM243x-EVM board or vice versa.

    The other point can be that old configuration stored in NV memory was applied due to some reason.

  • Hi Nilabh,

    We use own board with AM243 that part number is AM2432 BKFGHIALXR.

    Firmware is based on ethernetip_adapter_generic_device_mii_demo_am243x-lp_r5fss0-0_freertos_ti-arm-clang.

    We have run "Reset DUT to Factory Defaults" command before we start 5 times Ethernet Link Test, so EEPROM has latest configuration.

    Thanks,

    Chia-Hsun

  • Nilabh,

       When will we release new SDK which integrates this EA release.

    Regards

    Andre 

        

  • Hi Nilabh,

    Do you have any updates on this issue from Kunbus?

    The version which you provide last week can pass this issue.

    But I check the project content, they still use mcu_plus_sdk_am243x not ind_comms_sdk_am243x.

    Please also confirm the SDK version which they use.

    Thanks,

    Chia-Hsun 

  • Nilabh,

        Customer reports the EA release still based on MCU_PLUS_SDK8.6.x.x not Industrial communicate SDK 9.0. As reported at beginning, MCU+ SDK8.6 doesn't shows problem but the latest Industrial comms SDK has.  So they don't think this issue is solved by EA release. We still need your help to check what modification in Industrial comms SDK 9.0 and provide solution based on Industrial comms SDK 9.x.

    Regards

    Andre

  • Nilabh,

         Would you mind to have a 3-way conference call next week to close this issue? I have sent separated mail to you, please let me know if this is ok to you and 3rd party. 

    Regards

    Andre

  • Hi Andrea,

    Since this is a EA release, it is based on SDK 8.6, please note that once released it will be with Industrial comms SDK 9.1

  •  Would you mind to have a 3-way conference call next week to close this issue? I have sent separated mail to you, please let me know if this is ok to you and 3rd party. 

    Yes, sure, Let me try to arrange it next week.

  • Hi Nilabh,

    Does Kunbus have any comment on this issue?

    Does TI have schedule about Industrial comms SDK 9.1?

    Thanks,

    Chia-Hsun

  • Hi Ch Li,

    Could you please check in syscfg if the mdio mode is selected to phy polling or not, if not then please set it to polling mode and try the test again. We are working on scheduling a call with Kunbus.

  • Hi Nilabh,

    Thank you for your help.

    The Issue 1 and 2 are solved by changing PHY mdio mode, but Issue 3 (License Expired) is still can reproduce.

    The log also show "pbuf_alloc failed on receiving nrt frame".

    What scenario may lead to this result?

    Thanks,

    Chia-Hsun

  • Do you see this happening in release mode or debug mode binary or in both. I am able to see this issue in debug mode but not in release mode, could you please check it and let me know.

  • Hi Nilabh,

    We use Release version.

    What scenario that you see this issue?

    Could you share TI software design which scenario will lead to "License Expired"?

    Thanks,

    Chia-Hsun

  • This issue occurs when there is a mismatch in the device type.  when I try to use AM64x-EVM application image on AM243x-EVM board or vice versa.

    The other point whigh Kunbus suggested  that old configuration stored in NV memory was applied due to some reason.

  • Hi Chia-Hsun

    could you please read the JTAG User ID register please and let us know the content of it. This will confirm us that the license expiry is not caused by the part number mismatch. Please read from Feb board where you are able to recreate the license expiry issue.

  • Hi Nilabh,

    Our value is 0x3204d2ed.

    We get this value by directly reading value at address "0x43000018".

    Thanks,

    Chia-Hsun

  • Hi Nilabh,

    The issue we need to discuss today.

    1. Release schedule of new SDK.

    2. License Expired

    - In EtherNet/IP stack software design, which scenario will lead to "License Expired"?

    - If "License Expired" occurred, how can we find or debug on this issue?

    3.New Issue today – 20 times LLDP MIB Test will lead stack crash.

    - Environment: CT20 / AM243-LP(E3) / ind_comms_sdk_am243x_09_00_00_03

    - Is this Test Case necessary in conformance Test?

    Thanks,

    Chia-Hsun

  • Attaching UART console output

  • Hi all,

    could you provide us UART log, CT20 log, and Wireshark trace recorded in parallel (!!). If you run any (developer or conformance test with CT20 multiple time, please record the entire logs over the full test duration, and not just logs for individual test cycles. Also consider to check the Disable Log Suppression in CT20. This will make the log file larger, but will contain the full information.

    Thanks, Martin 

  • Hi Martin,

    The below log is UART log from boot, and the license expired message is shown when 7th Ethernet Link Test.

    We add log on each function of PHY driver and EEPROM related function,

    CUST_DRIVERS_PRM_ read / write

    CUST_DRIVERS_eepromWriteTask

    because we also change the EEPROM component.

    The test about adding HWAL_cyclicTrigger() after OSAL_SCHED_yield().

    The test result is still failed, but License Expired message doesn't print again.

    Thanks,

    Chia-Hsun

    //--------------------------------------------------------------------------------------------------------------------------

    DMSC Firmware Version 9.0.7--v09.00.07 (Kool Koala)
    DMSC Firmware revision 0x9
    DMSC ABI revision 3.1

    [BOOTLOADER_PROFILE] Boot Media : NOR SPI FLASH
    [BOOTLOADER_PROFILE] Boot Media Clock : 133.333 MHz
    [BOOTLOADER_PROFILE] Boot Image Size : 760 KB
    [BOOTLOADER_PROFILE] Cores present :
    r5f0-0
    [BOOTLOADER PROFILE] SYSFW init : 24359us
    [BOOTLOADER PROFILE] System_init : 10732626us
    [BOOTLOADER PROFILE] Drivers_open : 552us
    [BOOTLOADER PROFILE] Board_driversOpen : 164us
    [BOOTLOADER PROFILE] Sciclient Get Version : 19691us
    [BOOTLOADER PROFILE] CPU load : 2280574us
    [BOOTLOADER_PROFILE] SBL Total Time Taken : 2320553us

    [BOOTLOADER_PROFILE] DEVICE_JTAG_USERID_REG [31:00] : 0x3204D2ED
    [BOOTLOADER_PROFILE] DEVICE_JTAG_USERID_REG [31:13] : 0x19026 (DEVICE_ID)
    [BOOTLOADER_PROFILE] R5FSS Clock : 400.000 MHz
    [BOOTLOADER_PROFILE] R5FSS is Dual-Core Mode or not : No (A R5FSS has one core)

    Image loading done, switching to application ...
    Pruicss max =3 selected PRU:3
    PRM_read: type=2, ofst=0x200, len=0x160
    Did Map 0x30080000 len 0x2000 to 0x30080000 (dram0)
    Did Map 0x30082000 len 0x2000 to 0x30082000 (dram1)
    Did Map 0x300b4000 len 0x4000 to 0x300b4000 (iram0)
    Did Map 0x300b8000 len 0x4000 to 0x300b8000 (iram1)
    Did Map 0x30090000 len 0x10000 to 0x30090000 (shdram)
    Did Map 0x300a2000 len 0x400 to 0x300a2000 (control0)
    Did Map 0x300a4000 len 0x400 to 0x300a4000 (control1)
    Did Map 0x300a0000 len 0x2000 to 0x300a0000 (intc)
    Did Map 0x300a6000 len 0x2000 to 0x300a6000 (cfg)
    Did Map 0x300a8000 len 0x2000 to 0x300a8000 (uart0)
    Did Map 0x300ae000 len 0x2000 to 0x300ae000 (iep)
    Did Map 0x300b0000 len 0x2000 to 0x300b0000 (ecap0)
    Did Map 0x300b2000 len 0x400 to 0x300b2000 (mii_rt)
    Did Map 0x3009f000 len 0x1c00 to 0x3009f000 (mdio)
    Did Map 0x3008a000 len 0x2000 to 0x3008a000 (txPru0Iram)
    Did Map 0x3008c000 len 0x2000 to 0x3008c000 (txPru1Iram)
    Did Map 0x300a5000 len 0x100 to 0x300a5000 (txPru0CtlReg)
    Did Map 0x300a5000 len 0x100 to 0x300a5000 (txPru1CtlReg)
    DP83822 detected
    DP83822 detected
    Phy 0, softwareReset
    Phy 0, readExtendedRegister: addr=467, data=343
    Phy 0, readExtendedRegister: addr=468, data=0
    Phy 0, 0x467=343, 0x468=0
    Phy 1, softwareReset
    Phy 1, readExtendedRegister: addr=467, data=f43
    Phy 1, readExtendedRegister: addr=468, data=0
    Phy 1, 0x467=f43, 0x468=0
    PRU_PHY_detect:185 Phy 0 alive
    Phy 0, setLinkConfig: auto=1, speed=10, duplex=0
    Phy 0, setPowerMode: 1
    Phy 0, setPowerMode: 0
    Phy 0, setPowerMode: 0
    Phy 0, getAutoNegotiation: 1
    Phy 1, setLinkConfig: auto=1, speed=10, duplex=0
    Phy 1, setPowerMode: 1
    Phy 1, setPowerMode: 0
    Phy 1, setPowerMode: 0
    Phy 1, getAutoNegotiation: 1
    Phy 0, setMIIMode
    Phy 1, setMIIMode
    +EI_API_ADP_pruicssStart
    -EI_API_ADP_pruicssStart
    EMIF16 Slave Test
    Local interface IP is 192.168.1.10
    EI_API_ADP_getMacAddr: 1c:63:49:20:7c:63
    EtherNet/IP Init Finish
    Phy 0, getSpeedDuplex: 2, reg:4315
    Phy 0, commandFxn: cmd=12, data=2
    Phy 0, getPowerMode: 0
    Phy 0, setPowerMode: 0
    Phy 0, getPowerMode: 0
    Phy 0, getPowerMode: 0
    Phy 0, getPowerMode: 0
    PRM_write: type=2, ofst=0x200, len=0x160
    Phy 0, setLinkConfig: auto=0, speed=100, duplex=1
    Phy 0, setPowerMode: 1
    Phy 0, setMdixMode: 2
    Phy 0, setPowerMode: 0
    eepromWriteTask Finish
    Phy 0, getSpeedDuplex: 2, reg:15
    Phy 0, commandFxn: cmd=12, data=2
    tcp_err_handler: Connection reset. (-14)
    PRM_write: type=2, ofst=0x200, len=0x160
    eepromWriteTask Finish
    Phy 0, setLinkConfig: auto=0, speed=10, duplex=1
    Phy 0, setPowerMode: 1
    Phy 0, setMdixMode: 2
    Phy 0, setPowerMode: 0
    Phy 0, getSpeedDuplex: 1, reg:7
    Phy 0, commandFxn: cmd=12, data=1
    tcp_err_handler: Connection reset. (-14)
    PRM_write: type=2, ofst=0x200, len=0x160
    Phy 0, setLinkConfig: auto=1, speed=10, duplex=0
    Phy 0, setPowerMode: 1
    Phy 0, setPowerMode: 0
    eepromWriteTask Finish
    Phy 0, getSpeedDuplex: 2, reg:715
    Phy 0, commandFxn: cmd=12, data=2
    tcp_err_handler: Connection reset. (-14)
    Phy 0, getPowerMode: 0
    Phy 0, setPowerMode: 0
    Phy 0, getPowerMode: 0
    Phy 0, getPowerMode: 0
    Phy 0, getPowerMode: 0
    PRM_write: type=2, ofst=0x200, len=0x160
    Phy 0, setLinkConfig: auto=0, speed=100, duplex=1
    Phy 0, setPowerMode: 1
    Phy 0, setMdixMode: 2
    Phy 0, setPowerMode: 0
    eepromWriteTask Finish
    Phy 0, getSpeedDuplex: 2, reg:4015
    Phy 0, commandFxn: cmd=12, data=2
    tcp_err_handler: Connection aborted. (-13)
    PRM_write: type=2, ofst=0x200, len=0x160
    eepromWriteTask Finish
    Phy 0, setLinkConfig: auto=0, speed=10, duplex=1
    Phy 0, setPowerMode: 1
    Phy 0, setMdixMode: 2
    Phy 0, setPowerMode: 0
    Phy 0, getSpeedDuplex: 1, reg:7
    Phy 0, commandFxn: cmd=12, data=1
    tcp_err_handler: Connection reset. (-14)
    PRM_write: type=2, ofst=0x200, len=0x160
    Phy 0, setLinkConfig: auto=1, speed=10, duplex=0
    Phy 0, setPowerMode: 1
    Phy 0, setPowerMode: 0
    eepromWriteTask Finish
    Phy 0, getSpeedDuplex: 2, reg:715
    Phy 0, commandFxn: cmd=12, data=2
    tcp_err_handler: Connection reset. (-14)
    Phy 0, getPowerMode: 0
    Phy 0, setPowerMode: 0
    Phy 0, getPowerMode: 0
    Phy 0, getPowerMode: 0
    Phy 0, getPowerMode: 0
    PRM_write: type=2, ofst=0x200, len=0x160
    eepromWriteTask Finish
    Phy 0, setLinkConfig: auto=0, speed=100, duplex=1
    Phy 0, setPowerMode: 1
    Phy 0, setMdixMode: 2
    Phy 0, setPowerMode: 0
    Phy 0, getSpeedDuplex: 2, reg:15
    Phy 0, commandFxn: cmd=12, data=2
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    PRM_write: type=2, ofst=0x200, len=0x160
    eepromWriteTask Finish
    Phy 0, setLinkConfig: auto=0, speed=10, duplex=1
    Phy 0, setPowerMode: 1
    Phy 0, setMdixMode: 2
    Phy 0, setPowerMode: 0
    Phy 0, getSpeedDuplex: 1, reg:7
    Phy 0, commandFxn: cmd=12, data=1
    tcp_err_handler: Connection reset. (-14)
    PRM_write: type=2, ofst=0x200, len=0x160
    Phy 0, setLinkConfig: auto=1, speed=10, duplex=0
    Phy 0, setPowerMode: 1
    Phy 0, setPowerMode: 0
    eepromWriteTask Finish
    Phy 0, getSpeedDuplex: 2, reg:715
    Phy 0, commandFxn: cmd=12, data=2
    tcp_err_handler: Connection reset. (-14)
    Phy 0, getPowerMode: 0
    Phy 0, setPowerMode: 0
    Phy 0, getPowerMode: 0
    Phy 0, getPowerMode: 0
    Phy 0, getPowerMode: 0
    PRM_write: type=2, ofst=0x200, len=0x160
    Phy 0, setLinkConfig: auto=0, speed=100, duplex=1
    Phy 0, setPowerMode: 1
    Phy 0, setMdixMode: 2
    Phy 0, setPowerMode: 0
    eepromWriteTask Finish
    Phy 0, getSpeedDuplex: 2, reg:15
    Phy 0, commandFxn: cmd=12, data=2
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    PRM_write: type=2, ofst=0x200, len=0x160
    eepromWriteTask Finish
    Phy 0, setLinkConfig: auto=0, speed=10, duplex=1
    Phy 0, setPowerMode: 1
    Phy 0, setMdixMode: 2
    Phy 0, setPowerMode: 0
    Phy 0, getSpeedDuplex: 1, reg:7
    Phy 0, commandFxn: cmd=12, data=1
    tcp_err_handler: Connection reset. (-14)
    PRM_write: type=2, ofst=0x200, len=0x160
    Phy 0, setLinkConfig: auto=1, speed=10, duplex=0
    Phy 0, setPowerMode: 1
    Phy 0, setPowerMode: 0
    eepromWriteTask Finish
    Phy 0, getSpeedDuplex: 2, reg:715
    Phy 0, commandFxn: cmd=12, data=2
    tcp_err_handler: Connection reset. (-14)
    Phy 0, getPowerMode: 0
    Phy 0, setPowerMode: 0
    Phy 0, getPowerMode: 0
    Phy 0, getPowerMode: 0
    Phy 0, getPowerMode: 0
    PRM_write: type=2, ofst=0x200, len=0x160
    Phy 0, setLinkConfig: auto=0, speed=100, duplex=1
    Phy 0, setPowerMode: 1
    Phy 0, setMdixMode: 2
    Phy 0, setPowerMode: 0
    eepromWriteTask Finish
    Phy 0, getSpeedDuplex: 2, reg:15
    Phy 0, commandFxn: cmd=12, data=2
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    PRM_write: type=2, ofst=0x200, len=0x160
    eepromWriteTask Finish
    Phy 0, setLinkConfig: auto=0, speed=10, duplex=1
    Phy 0, setPowerMode: 1
    Phy 0, setMdixMode: 2
    Phy 0, setPowerMode: 0
    Phy 0, getSpeedDuplex: 1, reg:4007
    Phy 0, commandFxn: cmd=12, data=1
    tcp_err_handler: Connection reset. (-14)
    PRM_write: type=2, ofst=0x200, len=0x160
    Phy 0, setLinkConfig: auto=1, speed=10, duplex=0
    Phy 0, setPowerMode: 1
    Phy 0, setPowerMode: 0
    eepromWriteTask Finish
    Phy 0, getSpeedDuplex: 2, reg:715
    Phy 0, commandFxn: cmd=12, data=2
    tcp_err_handler: Connection reset. (-14)
    Phy 0, getPowerMode: 0
    Phy 0, setPowerMode: 0
    Phy 0, getPowerMode: 0
    Phy 0, getPowerMode: 0
    Phy 0, getPowerMode: 0
    PRM_write: type=2, ofst=0x200, len=0x160
    Phy 0, setLinkConfig: auto=0, speed=100, duplex=1
    Phy 0, setPowerMode: 1
    Phy 0, setMdixMode: 2
    Phy 0, setPowerMode: 0
    eepromWriteTask Finish
    Phy 0, getSpeedDuplex: 2, reg:15
    Phy 0, commandFxn: cmd=12, data=2
    tcp_err_handler: Connection aborted. (-13)
    PRM_write: type=2, ofst=0x200, len=0x160
    eepromWriteTask Finish
    Phy 0, setLinkConfig: auto=0, speed=10, duplex=1
    Phy 0, setPowerMode: 1
    Phy 0, setMdixMode: 2
    Phy 0, setPowerMode: 0
    Phy 0, getSpeedDuplex: 1, reg:7
    Phy 0, commandFxn: cmd=12, data=1
    tcp_err_handler: Connection reset. (-14)
    PRM_write: type=2, ofst=0x200, len=0x160
    Phy 0, setLinkConfig: auto=1, speed=10, duplex=0
    Phy 0, setPowerMode: 1
    Phy 0, setPowerMode: 0
    eepromWriteTask Finish
    Phy 0, getSpeedDuplex: 2, reg:715
    Phy 0, commandFxn: cmd=12, data=2
    tcp_err_handler: Connection reset. (-14)
    HWAL_IPP_protectorWakeupIPP:671:>Error = 0x3900006e

    *********************************************************************
    LICENSE EXPIRED

    *********************************************************************
    Did End Task HWALWatchDog
    Phy 1, setPowerMode: 1
    pbuf_alloc failed on receiving nrt frame
    pbuf_alloc failed on receiving nrt frame
    pbuf_alloc failed on receiving nrt frame
    pbuf_alloc failed on receiving nrt frame
    pbuf_alloc failed on receiving nrt frame
    pbuf_alloc failed on receiving nrt frame
    pbuf_alloc failed on receiving nrt frame

  • Hi Joshua,

    thank you for a log. After discussion with Andreas the understanding is that HWAL_cyclicTrigger() call is still evaluated on side of HWAL.
    The call needs to be executed in several milliseconds cycle. 

    The call is executed by packet task (task priority 20). When this task is blocked by another task or by writing of data to non-volatile memory (EEPROM, FLASH) than the HWAL_cyclicTrigger call is not executed in time and you can face "LICENSE EXPIRED" issue. From our last call I understand that you are using your own EEPROM driver and you also adapted the EEPROM write task. Means I will expect problem there. Please try to adapt just CUST_DRIVERS_eepromWriteTask function (without changing other part of code of CUST_drivers.c file) and let us know what is the result. When the "LICENSE EXPIRED" issue will be still reported we will need to see "Runtime Object View" snapshot from time when issue is reported.

    With best regards
    Jiri Biel

  • Please refer to this for details on ROV: software-dl.ti.com/.../rov.html

  • Hi Jiri,

    Thank you for your support.

    I try to use AM243-LP to test "runtime object view" with EtherNet/IP project, but I can't see the "OS kernel" in Viewable Modules.

    (ind_comms_sdk_am243x_09_00_00_03/examples/industrial_comms/ethernetip_adapter_demo/device_profiles/generic_device/mii/am243x-lp)

    So I try to use hello_world project,  I can see the "OS kernel" and can view task information.

    (ind_comms_sdk_am243x_09_00_00_03/mcu_plus_sdk/examples/hello_world/am243x-lp/r5fss0-0_freertos)

    Do I miss something setting in the EtherNet/IP project?

    Thanks,

    Joshua

  • Hi Joshua,

    Please open syscfg_c.rov.xs file , YOu can find it in the ccs project itself

    then modify the path as

    var crovFiles = [
    "mcu_plus_sdk/source/kernel/freertos/rov/FreeRTOS.rov.js",
    ];
    Then rebuild the project and reopen the rov and let me know.

  • Hi Nilabh,

    After I change this file, it works.

    Thank you for your help.

    Hi  Jiri,

    This issue is occurred when we only change EEPROM driver without modifying any CUST_drivers.c.
    Modifying CUST_drivers.c aim at trying to workaround and finding the reason of this issue.
    The ROV which I capture is without modifying architecture of CUST_drivers.c.
    (Only modify EEPROM driver in mcu_plus_sdk)

    -- without HWAL_cyclicTrigger()

    Handle Name Priority Base Priority State StackBase EstimatedFreeStackSize CurrentStackTop
    0x700841c8 LinkTask 24 24 Blocked 0x700843c0 7296 0x70086324
    0x70084268 RxTask 20 20 Blocked 0x700863c0 6016 0x70087d0c
    0x7008a41c HWALLicense 8 8 Blocked 0x41013800 2560 0x410146c4
    0x7008acbc packet 20 20 Blocked 0x41012000 1792 0x41012f0c
    0x7008af9c cyclicIo 20 20 Blocked 0x41013000 1792 0x4101370c
    0x7008b27c statistic 14 14 Running 0x41016000 128 0x41016354
    0x7008b55c lldpRcv 8 8 Blocked 0x41010000 1792 0x4101070c
    0x700ad440 cmn_app_task 8 8 Ready 0x41014c00 1408 0x41015a24
    0x700ad7e8 IDLE 0 0 Ready 0x700a232c 3968 0x700a32d4
    0x700ad874 Tmr Svc 31 31 Delayed 0x700aa8bc 896 0x700aac4c
    0x700b1ce4 TimeSync_Del 20 20 Blocked 0x700b2c80 1920 0x700b33d4
    0x700b1d84 TimeSync_TxT 20 20 Blocked 0x700b3480 1920 0x700b3bdc
    0x700b1e24 TimeSync_TxT 20 20 Blocked 0x700b3c80 1920 0x700b43dc
    0x700b1ec4 TimeSync_NRT 16 16 Delayed 0x700b4480 1792 0x700b4bdc
    0x700b1f64 TimeSync_Bac 14 14 Delayed 0x700b4c80 1920 0x700b5414
    0x700ba5f0 tcpip_thread 14 14 Delayed 0x700b65e8 15488 0x700ba514

    -- with HWAL_cyclicTrigger()

    Handle Name Priority Base Priority State StackBase EstimatedFreeStackSize CurrentStackTop

    0x700841c8 LinkTask 24 24 Blocked 0x700843c0 7296 0x70086324
    0x70084268 RxTask 20 20 Blocked 0x700863c0 6272 0x70087d0c
    0x7008a41c HWALLicense 8 8 Blocked 0x41013800 2560 0x410146c4
    0x7008a6fc HWALWatchDog 30 30 Delayed 0x41014800 896 0x41014b4c
    0x7008acbc packet 20 20 Blocked 0x41012000 1792 0x41012f0c
    0x7008af9c cyclicIo 20 20 Blocked 0x41013000 1792 0x4101370c
    0x7008b27c statistic 14 14 Blocked 0x41016000 768 0x4101630c
    0x7008b55c lldpRcv 8 8 Blocked 0x41010000 1792 0x4101070c
    0x700ad440 cmn_app_task 8 8 Delayed 0x41014c00 1408 0x41015a24
    0x700ad7e8 IDLE 0 0 Running 0x700a232c 3968 0x700a32d4
    0x700ad874 Tmr Svc 31 31 Delayed 0x700aa8bc 896 0x700aac4c
    0x700b1ce4 TimeSync_Del 20 20 Blocked 0x700b2c80 1920 0x700b33d4
    0x700b1d84 TimeSync_TxT 20 20 Blocked 0x700b3480 1920 0x700b3bdc
    0x700b1e24 TimeSync_TxT 20 20 Blocked 0x700b3c80 1920 0x700b43dc
    0x700b1ec4 TimeSync_NRT 16 16 Delayed 0x700b4480 1792 0x700b4bdc
    0x700b1f64 TimeSync_Bac 14 14 Delayed 0x700b4c80 1920 0x700b5414
    0x700ba5f0 tcpip_thread 14 14 Delayed 0x700b65e8 15488 0x700ba534

    We use AM2432 with 400Mhz R5F and 200Mhz PRU.
    Does it maybe also the reason for this issue?
    If you need more information, don't hesitate to tell me.

    Thanks,

    Joshua

  • Hi Jiri,

    Do you have any updates about this issue?

    As ROV, After add HWAL_cyclicTrigger(), the "cmn_app_task" task still work normally.
    "WriteEEPROM" task doesn't block anything and close after write finish.
    If the EEPROM write time is the reason of this issue, could you kindly provide the timeout design?

    Thanks,
    Joshua

  • Hi Joshua,

    the point is that HWAL_cyclicTrigger call in cmn_app_task is just a workaround to be able to analyze the route cause of "LICENSE EXPIRED" issue.
    Means at the end you need to remove that call from cmn_app_task and than test again if issue was fixed.

    The assumption was that issue is in WriteEEPROM and if I remember correctly you send us just two logs:

    - with HWAL_cyclicTrigger called inside of cmn_app_task

    - without HWAL_cyclicTrigger call

    , but in both cases I assume you called WriteEEPROM directly.

    Due to that I asked for log with correct implementation WriteEEPROM called in separate task to be able to analyze better that issue.

    The timeout design is somewhere in milliseconds as I understand from our IPProtection guys.

    This kind of issue can have the impact to other features means it needs to be correctly fixed, in other case you will not see "LICENSE EXPERIENCE" issue, but you will still face issue with overflow of memory on LWIP side or other issues. Means I need to ask you again for log where WriteEEPROM is called in separate task and again with and without HWAL_cyclicTrigger call inside of "cmn_app_task".

    With best regards

    Jiri Biel 

  • Hi Jiri,

    The ROV log which I provided is using the original CUST_driver.c. (correct implementation WriteEEPROM called  in separate task)

    Thanks,

    Joshua

  • Hi Joshua,

    sorry means my previous understanding of your use case for logs was wrong.

    But still also in this case when you used unmodified CUST_driver.c (just WriteEEPROM is executing your driver implementation, predicting different one than TI provides)  the packet task is blocked as is visible from logs.

    In this case I need to ask you to check your WriteEEPROM function again.
    Please can you confirm that there is no disable global interrupt call inside or something similar?
    In such a case all other tasks can be blocked too, because scheduler can't to switch to other task in this case.

    In addition please use the case without HWAL_cyclicTrigger call in "cmn_app_task" and make a printout of WriteEEPROM execution times call.
    To do that, please update CUST_DRIVERS_eepromWriteTask function the way as is bellow:

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    static void CUST_DRIVERS_eepromWriteTask (void *pArg_p)
    {
    CUST_DRIVERS_SPermWriteParam_t* pParam = (CUST_DRIVERS_SPermWriteParam_t*) pArg_p;
    uint32_t tmStart = 0;
    uint32_t tmEnd = 0;
    uint32_t time = 0;
    int32_t err;
    if (NULL == pParam->handle)
    {
    OSAL_error (__func__, __LINE__, CUST_DRIVERS_eERR_EEPROM_HANDLE_INVALID, true, 0);
    goto laError;
    }
    if (NULL == pParam->pData)
    {
    OSAL_error (__func__, __LINE__, CUST_DRIVERS_eERR_EEPROM_DATA_INVALID, true, 0);
    goto laError;
    }
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Afterwards repeat the Ethernet link test on code (with updated "CUST_DRIVERS_eepromWriteTask" function) until you will not see "License expired" issue and sent me the generated UART log with that change.

    Best regards
    Jiri

  • Hi Jiri,

    Thank you for your help.

    We use the original architecture of "EEPROM_AT24C_write". (Only change protocol to match ours)

    After measurement, our EEPROM takes 88ms to write data.

    Thanks,

    Joshua

    //-------------------------------------------------------------

    Pruicss max =3 selected PRU:3
    PRM_read: type=2, ofst=0x200, len=0x160
    Did Map 0x30080000 len 0x2000 to 0x30080000 (dram0)
    Did Map 0x30082000 len 0x2000 to 0x30082000 (dram1)
    Did Map 0x300b4000 len 0x4000 to 0x300b4000 (iram0)
    Did Map 0x300b8000 len 0x4000 to 0x300b8000 (iram1)
    Did Map 0x30090000 len 0x10000 to 0x30090000 (shdram)
    Did Map 0x300a2000 len 0x400 to 0x300a2000 (control0)
    Did Map 0x300a4000 len 0x400 to 0x300a4000 (control1)
    Did Map 0x300a0000 len 0x2000 to 0x300a0000 (intc)
    Did Map 0x300a6000 len 0x2000 to 0x300a6000 (cfg)
    Did Map 0x300a8000 len 0x2000 to 0x300a8000 (uart0)
    Did Map 0x300ae000 len 0x2000 to 0x300ae000 (iep)
    Did Map 0x300b0000 len 0x2000 to 0x300b0000 (ecap0)
    Did Map 0x300b2000 len 0x400 to 0x300b2000 (mii_rt)
    Did Map 0x3009f000 len 0x1c00 to 0x3009f000 (mdio)
    Did Map 0x3008a000 len 0x2000 to 0x3008a000 (txPru0Iram)
    Did Map 0x3008c000 len 0x2000 to 0x3008c000 (txPru1Iram)
    Did Map 0x300a5000 len 0x100 to 0x300a5000 (txPru0CtlReg)
    Did Map 0x300a5000 len 0x100 to 0x300a5000 (txPru1CtlReg)
    DP83822 detected
    DP83822 detected
    Phy 0, softwareReset
    Phy 0, readExtendedRegister: addr=467, data=343
    Phy 0, readExtendedRegister: addr=468, data=0
    Phy 0, 0x467=343, 0x468=0
    Phy 1, softwareReset
    Phy 1, readExtendedRegister: addr=467, data=f43
    Phy 1, readExtendedRegister: addr=468, data=0
    Phy 1, 0x467=f43, 0x468=0
    PRU_PHY_detect:185 Phy 0 alive
    Phy 0, setLinkConfig: auto=1, speed=10, duplex=0
    Phy 0, setPowerMode: 1
    Phy 0, setPowerMode: 0
    Phy 0, setPowerMode: 0
    Phy 0, getAutoNegotiation: 1
    Phy 1, setLinkConfig: auto=1, speed=10, duplex=0
    Phy 1, setPowerMode: 1
    Phy 1, setPowerMode: 0
    Phy 1, setPowerMode: 0
    Phy 1, getAutoNegotiation: 1
    Phy 0, setMIIMode
    Phy 1, setMIIMode
    +EI_API_ADP_pruicssStart
    -EI_API_ADP_pruicssStart
    EMIF16 Slave Test
    Local interface IP is 192.168.1.10
    EI_API_ADP_getMacAddr: 1c:63:49:20:7c:63
    EtherNet/IP Init Finish
    Phy 0, getSpeedDuplex: 2, reg:315
    Phy 0, commandFxn: cmd=12, data=2
    Phy 0, getPowerMode: 0
    Phy 0, setPowerMode: 0
    Phy 0, getPowerMode: 0
    Phy 0, getPowerMode: 0
    Phy 0, getPowerMode: 0
    PRM_write: type=2, ofst=0x200, len=0x160
    Phy 0, setLinkConfig: auto=0, speed=100, duplex=1
    Phy 0, setPowerMode: 1
    Phy 0, setMdixMode: 2
    Phy 0, setPowerMode: 0
    Write cycle takes 88 ms.
    Phy 0, getSpeedDuplex: 2, reg:15
    Phy 0, commandFxn: cmd=12, data=2
    PRM_write: type=2, ofst=0x200, len=0x160
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 88 ms.
    Phy 0, setLinkConfig: auto=0, speed=10, duplex=1
    Phy 0, setPowerMode: 1
    Phy 0, setMdixMode: 2
    Phy 0, setPowerMode: 0
    Phy 0, getSpeedDuplex: 1, reg:7
    Phy 0, commandFxn: cmd=12, data=1
    tcp_err_handler: Connection reset. (-14)
    PRM_write: type=2, ofst=0x200, len=0x160
    Phy 0, setLinkConfig: auto=1, speed=10, duplex=0
    Phy 0, setPowerMode: 1
    Phy 0, setPowerMode: 0
    Write cycle takes 88 ms.
    Phy 0, getSpeedDuplex: 2, reg:715
    Phy 0, commandFxn: cmd=12, data=2
    tcp_err_handler: Connection reset. (-14)
    Phy 0, getPowerMode: 0
    Phy 0, setPowerMode: 0
    Phy 0, getPowerMode: 0
    Phy 0, getPowerMode: 0
    Phy 0, getPowerMode: 0
    PRM_write: type=2, ofst=0x200, len=0x160
    Phy 0, setLinkConfig: auto=0, speed=100, duplex=1
    Phy 0, setPowerMode: 1
    Phy 0, setMdixMode: 2
    Phy 0, setPowerMode: 0
    Write cycle takes 88 ms.
    Phy 0, getSpeedDuplex: 2, reg:15
    Phy 0, commandFxn: cmd=12, data=2
    tcp_err_handler: Connection aborted. (-13)
    PRM_write: type=2, ofst=0x200, len=0x160
    Write cycle takes 88 ms.
    Phy 0, setLinkConfig: auto=0, speed=10, duplex=1
    Phy 0, setPowerMode: 1
    Phy 0, setMdixMode: 2
    Phy 0, setPowerMode: 0
    Phy 0, getSpeedDuplex: 1, reg:7
    Phy 0, commandFxn: cmd=12, data=1
    tcp_err_handler: Connection reset. (-14)
    PRM_write: type=2, ofst=0x200, len=0x160
    Phy 0, setLinkConfig: auto=1, speed=10, duplex=0
    Phy 0, setPowerMode: 1
    Phy 0, setPowerMode: 0
    Write cycle takes 88 ms.
    Phy 0, getSpeedDuplex: 2, reg:4715
    Phy 0, commandFxn: cmd=12, data=2
    tcp_err_handler: Connection reset. (-14)
    Phy 0, getPowerMode: 0
    Phy 0, setPowerMode: 0
    Phy 0, getPowerMode: 0
    Phy 0, getPowerMode: 0
    Phy 0, getPowerMode: 0
    PRM_write: type=2, ofst=0x200, len=0x160
    Phy 0, setLinkConfig: auto=0, speed=100, duplex=1
    Phy 0, setPowerMode: 1
    Phy 0, setMdixMode: 2
    Phy 0, setPowerMode: 0
    Write cycle takes 88 ms.
    Phy 0, getSpeedDuplex: 2, reg:15
    Phy 0, commandFxn: cmd=12, data=2
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    PRM_write: type=2, ofst=0x200, len=0x160
    Write cycle takes 88 ms.
    Phy 0, setLinkConfig: auto=0, speed=10, duplex=1
    Phy 0, setPowerMode: 1
    Phy 0, setMdixMode: 2
    Phy 0, setPowerMode: 0
    Phy 0, getSpeedDuplex: 1, reg:7
    Phy 0, commandFxn: cmd=12, data=1
    tcp_err_handler: Connection reset. (-14)
    PRM_write: type=2, ofst=0x200, len=0x160
    Phy 0, setLinkConfig: auto=1, speed=10, duplex=0
    Phy 0, setPowerMode: 1
    Phy 0, setPowerMode: 0
    Write cycle takes 88 ms.
    Phy 0, getSpeedDuplex: 2, reg:715
    Phy 0, commandFxn: cmd=12, data=2
    tcp_err_handler: Connection reset. (-14)
    Phy 0, getPowerMode: 0
    Phy 0, setPowerMode: 0
    Phy 0, getPowerMode: 0
    Phy 0, getPowerMode: 0
    Phy 0, getPowerMode: 0
    PRM_write: type=2, ofst=0x200, len=0x160
    Phy 0, setLinkConfig: auto=0, speed=100, duplex=1
    Phy 0, setPowerMode: 1
    Phy 0, setMdixMode: 2
    Phy 0, setPowerMode: 0
    Write cycle takes 88 ms.
    Phy 0, getSpeedDuplex: 2, reg:15
    Phy 0, commandFxn: cmd=12, data=2
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    PRM_write: type=2, ofst=0x200, len=0x160
    Write cycle takes 88 ms.
    Phy 0, setLinkConfig: auto=0, speed=10, duplex=1
    Phy 0, setPowerMode: 1
    Phy 0, setMdixMode: 2
    Phy 0, setPowerMode: 0
    Phy 0, getSpeedDuplex: 1, reg:7
    Phy 0, commandFxn: cmd=12, data=1
    tcp_err_handler: Connection reset. (-14)
    PRM_write: type=2, ofst=0x200, len=0x160
    Phy 0, setLinkConfig: auto=1, speed=10, duplex=0
    Phy 0, setPowerMode: 1
    Phy 0, setPowerMode: 0
    Write cycle takes 88 ms.
    Phy 0, getSpeedDuplex: 2, reg:4715
    Phy 0, commandFxn: cmd=12, data=2
    tcp_err_handler: Connection reset. (-14)
    Phy 0, getPowerMode: 0
    Phy 0, setPowerMode: 0
    Phy 0, getPowerMode: 0
    Phy 0, getPowerMode: 0
    Phy 0, getPowerMode: 0
    PRM_write: type=2, ofst=0x200, len=0x160
    Phy 0, setLinkConfig: auto=0, speed=100, duplex=1
    Phy 0, setPowerMode: 1
    Phy 0, setMdixMode: 2
    Phy 0, setPowerMode: 0
    Write cycle takes 88 ms.
    Phy 0, getSpeedDuplex: 2, reg:15
    Phy 0, commandFxn: cmd=12, data=2
    tcp_err_handler: Connection aborted. (-13)
    PRM_write: type=2, ofst=0x200, len=0x160
    Write cycle takes 88 ms.
    Phy 0, setLinkConfig: auto=0, speed=10, duplex=1
    Phy 0, setPowerMode: 1
    Phy 0, setMdixMode: 2
    Phy 0, setPowerMode: 0
    Phy 0, getSpeedDuplex: 1, reg:7
    Phy 0, commandFxn: cmd=12, data=1
    tcp_err_handler: Connection reset. (-14)
    PRM_write: type=2, ofst=0x200, len=0x160
    Phy 0, setLinkConfig: auto=1, speed=10, duplex=0
    Phy 0, setPowerMode: 1
    Phy 0, setPowerMode: 0
    Write cycle takes 88 ms.
    Phy 0, getSpeedDuplex: 2, reg:715
    Phy 0, commandFxn: cmd=12, data=2
    tcp_err_handler: Connection reset. (-14)
    Phy 0, getPowerMode: 0
    Phy 0, setPowerMode: 0
    Phy 0, getPowerMode: 0
    Phy 0, getPowerMode: 0
    Phy 0, getPowerMode: 0
    PRM_write: type=2, ofst=0x200, len=0x160
    Phy 0, setLinkConfig: auto=0, speed=100, duplex=1
    Phy 0, setPowerMode: 1
    Phy 0, setMdixMode: 2
    Phy 0, setPowerMode: 0
    Write cycle takes 88 ms.
    Phy 0, getSpeedDuplex: 2, reg:4015
    Phy 0, commandFxn: cmd=12, data=2
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    PRM_write: type=2, ofst=0x200, len=0x160
    Write cycle takes 88 ms.
    Phy 0, setLinkConfig: auto=0, speed=10, duplex=1
    Phy 0, setPowerMode: 1
    Phy 0, setMdixMode: 2
    Phy 0, setPowerMode: 0
    Phy 0, getSpeedDuplex: 1, reg:7
    Phy 0, commandFxn: cmd=12, data=1
    tcp_err_handler: Connection reset. (-14)
    PRM_write: type=2, ofst=0x200, len=0x160
    Phy 0, setLinkConfig: auto=1, speed=10, duplex=0
    Phy 0, setPowerMode: 1
    Phy 0, setPowerMode: 0
    Write cycle takes 88 ms.
    Phy 0, getSpeedDuplex: 2, reg:4715
    Phy 0, commandFxn: cmd=12, data=2
    tcp_err_handler: Connection reset. (-14)
    HWAL_IPP_protectorWakeupIPP:671:>Error = 0x3900006e

    *********************************************************************
    LICENSE EXPIRED

    *********************************************************************
    Did End Task HWALWatchDog
    tcp_err_handler: Connection aborted. (-13)pbuf_alloc failed on receiving nrt frame
    pbuf_alloc failed on receiving nrt frame
    pbuf_alloc failed on receiving nrt frame
    pbuf_alloc failed on receiving nrt frame

  • Hi Jiri,

    We find the way to reproduce "License expired" on LP-AM243 E3.

    Our AM243 PN is AM2432 BKFGHIALXR which R5F speed is 400Mhz.

    We need some modification to change LP-AM243 from 800Mhz to 400Mhz.

    1. Change "mcu_plus_sdk_am243x_09_00_00_35" and rebuild all lib

    source/drivers/bootloader/soc/am64x_am243x/bootloader_soc.c

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Bootloader_CoreBootInfo gCoreBootInfo[] =
    {
    {
    .tisciProcId = SCICLIENT_PROCID_MCU_M4FSS0_C0,
    .tisciDevId = TISCI_DEV_MCU_M4FSS0_CORE0,
    .tisciClockId = TISCI_DEV_MCU_M4FSS0_CORE0_VBUS_CLK,
    .defaultClockHz = (uint32_t)(400*1000000),
    .coreName = "m4f0-0",
    },
    {
    .tisciProcId = SCICLIENT_PROCID_R5_CL0_C0,
    .tisciDevId = TISCI_DEV_R5FSS0_CORE0,
    .tisciClockId = TISCI_DEV_R5FSS0_CORE0_CPU_CLK,
    .defaultClockHz = (uint32_t)(400*1000000),
    .coreName = "r5f0-0",
    },
    {
    .tisciProcId = SCICLIENT_PROCID_R5_CL0_C1,
    .tisciDevId = TISCI_DEV_R5FSS0_CORE1,
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    2. rebuild the NULL bootloader project and flash into LP-AM243.

    3. Reboot at QSPI flash mode, and UART log will print "initialized to 400000000 Hz"

    4. Start to debug and run "Ethernet Link" Test with "ethernetip_adapter_generic_device_mii_demo"

    Let me know if you can reproduce on your board.

    Maybe different EEPROM is not a reason of "License expired".

    Thanks,

    Joshua

    //---------------------------------------------

    Starting NULL Bootloader ...

    DMSC Firmware Version 9.0.7--v09.00.07 (Kool Koala)
    DMSC Firmware revision 0x9
    DMSC ABI revision 3.1

    INFO: Bootloader_runCpu:155: CPU r5f1-0 is initialized to 400000000 Hz !!!
    INFO: Bootloader_runCpu:155: CPU r5f1-1 is initialized to 400000000 Hz !!!
    INFO: Bootloader_runCpu:155: CPU m4f0-0 is initialized to 400000000 Hz !!!
    INFO: Bootloader_loadSelfCpu:207: CPU r5f0-0 is initialized to 400000000 Hz !!!
    INFO: Bootloader_loadSelfCpu:207: CPU r5f0-1 is initialized to 400000000 Hz !!!
    INFO: Bootloader_runSelfCpu:217: All done, reseting self ...

    Pruicss max =3 selected PRU:3
    Did Map 0x30080000 len 0x2000 to 0x30080000 (dram0)
    Did Map 0x30082000 len 0x2000 to 0x30082000 (dram1)
    Did Map 0x300b4000 len 0x4000 to 0x300b4000 (iram0)
    Did Map 0x300b8000 len 0x4000 to 0x300b8000 (iram1)
    Did Map 0x30090000 len 0x10000 to 0x30090000 (shdram)
    Did Map 0x300a2000 len 0x400 to 0x300a2000 (control0)
    Did Map 0x300a4000 len 0x400 to 0x300a4000 (control1)
    Did Map 0x300a0000 len 0x2000 to 0x300a0000 (intc)
    Did Map 0x300a6000 len 0x2000 to 0x300a6000 (cfg)
    Did Map 0x300a8000 len 0x2000 to 0x300a8000 (uart0)
    Did Map 0x300ae000 len 0x2000 to 0x300ae000 (iep)
    Did Map 0x300b0000 len 0x2000 to 0x300b0000 (ecap0)
    Did Map 0x300b2000 len 0x400 to 0x300b2000 (mii_rt)
    Did Map 0x300b2000 len 0x1c00 to 0x300b2000 (mdio)
    Did Map 0x3008a000 len 0x2000 to 0x3008a000 (txPru0Iram)
    Did Map 0x3008c000 len 0x2000 to 0x3008c000 (txPru1Iram)
    Did Map 0x300a5000 len 0x100 to 0x300a5000 (txPru0CtlReg)
    Did Map 0x300a5000 len 0x100 to 0x300a5000 (txPru1CtlReg)
    DP83869 detected
    DP83869 detected
    Phy 3 : Disable RGMII mode
    Phy 3 : Disable GBit ANEG
    Phy 15 : Disable RGMII mode
    Phy 15 : Disable GBit ANEG
    +EI_API_ADP_pruicssStart
    -EI_API_ADP_pruicssStart
    Local interface IP is 192.168.1.10
    EI_API_ADP_getMacAddr: 3c:e0:64:62:e3:0f
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    HWAL_IPP_protectorWakeupIPP:671:>Error = 0x3900006e

    *********************************************************************
    LICENSE EXPIRED

    *********************************************************************
    Did End Task HWALWatchDog
    PHY Disable Magnetics
    pbuf_alloc failed on receiving nrt frame
    pbuf_alloc failed on receiving nrt frame
    pbuf_alloc failed on receiving nrt frame
    pbuf_alloc failed on receiving nrt frame
    pbuf_alloc failed on receiving nrt frame

  • Hi Joshua,

    I was able to decrease the frequency from 800MHz to 400MHz on SBL_NULL image as you describe above.
    I also run the Ethernet Link Test 40 times, but I was not able to reproduce "LICENSE EXPIRED" issue (see UART log bellow).
    Only what is different in my case is SDK. I'm using IND_COMMS_SDK_09.00.00.01.

    Starting NULL Bootloader ...

    DMSC Firmware Version 8.6.4--v08.06.04 (Chill Capybar
    DMSC Firmware revision 0x8
    DMSC ABI revision 3.1

    INFO: Bootloader_runCpu:155: CPU r5f1-0 is initialized to 400000000 Hz !!!
    INFO: Bootloader_runCpu:155: CPU r5f1-1 is initialized to 400000000 Hz !!!
    INFO: Bootloader_runCpu:155: CPU m4f0-0 is initialized to 400000000 Hz !!!
    INFO: Bootloader_loadSelfCpu:207: CPU r5f0-0 is initialized to 400000000 Hz !!!
    INFO: Bootloader_loadSelfCpu:207: CPU r5f0-1 is initialized to 400000000 Hz !!!
    INFO: Bootloader_runSelfCpu:217: All done, reseting self ...

    Pruicss max =3 selected PRU:3
    Did Map 0x30080000 len 0x2000 to 0x30080000 (dram0)
    Did Map 0x30082000 len 0x2000 to 0x30082000 (dram1)
    Did Map 0x300b4000 len 0x4000 to 0x300b4000 (iram0)
    Did Map 0x300b8000 len 0x4000 to 0x300b8000 (iram1)
    Did Map 0x30090000 len 0x10000 to 0x30090000 (shdram)
    Did Map 0x300a2000 len 0x400 to 0x300a2000 (control0)
    Did Map 0x300a4000 len 0x400 to 0x300a4000 (control1)
    Did Map 0x300a0000 len 0x2000 to 0x300a0000 (intc)
    Did Map 0x300a6000 len 0x2000 to 0x300a6000 (cfg)
    Did Map 0x300a8000 len 0x2000 to 0x300a8000 (uart0)
    Did Map 0x300ae000 len 0x2000 to 0x300ae000 (iep)
    Did Map 0x300b0000 len 0x2000 to 0x300b0000 (ecap0)
    Did Map 0x300b2000 len 0x400 to 0x300b2000 (mii_rt)
    Did Map 0x3009f000 len 0x1c00 to 0x3009f000 (mdio)
    Did Map 0x3008a000 len 0x2000 to 0x3008a000 (txPru0Iram)
    Did Map 0x3008c000 len 0x2000 to 0x3008c000 (txPru1Iram)
    Did Map 0x300a5000 len 0x100 to 0x300a5000 (txPru0CtlReg)
    Did Map 0x300a5000 len 0x100 to 0x300a5000 (txPru1CtlReg)
    DP83869 detected
    DP83869 detected
    PRU_PHY_detect:185 Phy 3 alive
    PRU_PHY_detect:185 Phy 15 alive
    Phy 3 : Disable GBit ANEG
    Phy 15 : Disable GBit ANEG
    Phy 3 : RGMII enable low latency
    Phy 15 : RGMII enable low latency
    Phy 3 : RGMII set TX Half/Full Threshold: 1
    Phy 15 : RGMII set TX Half/Full Threshold: 1
    Phy 3 : RGMII set RX Half/Full Threshold: 1
    Phy 15 : RGMII set RX Half/Full Threshold: 1
    +EI_API_ADP_pruicssStart
    -EI_API_ADP_pruicssStart
    Local interface IP is 192.168.1.10
    EI_API_ADP_getMacAddr: 3c:e0:64:62:e1:57
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)

    I also measured the EEPROM timing on our side when 400MHz and 800MHz is used and timing was always same 16 ms (see UART log bellow)

    Starting NULL Bootloader ...

    DMSC Firmware Version 8.6.4--v08.06.04 (Chill Capybar
    DMSC Firmware revision 0x8
    DMSC ABI revision 3.1

    INFO: Bootloader_runCpu:155: CPU r5f1-0 is initialized to 400000000 Hz !!!
    INFO: Bootloader_runCpu:155: CPU r5f1-1 is initialized to 400000000 Hz !!!
    INFO: Bootloader_runCpu:155: CPU m4f0-0 is initialized to 400000000 Hz !!!
    INFO: Bootloader_loadSelfCpu:207: CPU r5f0-0 is initialized to 400000000 Hz !!!
    INFO: Bootloader_loadSelfCpu:207: CPU r5f0-1 is initialized to 400000000 Hz !!!
    INFO: Bootloader_runSelfCpu:217: All done, reseting self ...

    Pruicss max =3 selected PRU:3
    Did Map 0x30080000 len 0x2000 to 0x30080000 (dram0)
    Did Map 0x30082000 len 0x2000 to 0x30082000 (dram1)
    Did Map 0x300b4000 len 0x4000 to 0x300b4000 (iram0)
    Did Map 0x300b8000 len 0x4000 to 0x300b8000 (iram1)
    Did Map 0x30090000 len 0x10000 to 0x30090000 (shdram)
    Did Map 0x300a2000 len 0x400 to 0x300a2000 (control0)
    Did Map 0x300a4000 len 0x400 to 0x300a4000 (control1)
    Did Map 0x300a0000 len 0x2000 to 0x300a0000 (intc)
    Did Map 0x300a6000 len 0x2000 to 0x300a6000 (cfg)
    Did Map 0x300a8000 len 0x2000 to 0x300a8000 (uart0)
    Did Map 0x300ae000 len 0x2000 to 0x300ae000 (iep)
    Did Map 0x300b0000 len 0x2000 to 0x300b0000 (ecap0)
    Did Map 0x300b2000 len 0x400 to 0x300b2000 (mii_rt)
    Did Map 0x3009f000 len 0x1c00 to 0x3009f000 (mdio)
    Did Map 0x3008a000 len 0x2000 to 0x3008a000 (txPru0Iram)
    Did Map 0x3008c000 len 0x2000 to 0x3008c000 (txPru1Iram)
    Did Map 0x300a5000 len 0x100 to 0x300a5000 (txPru0CtlReg)
    Did Map 0x300a5000 len 0x100 to 0x300a5000 (txPru1CtlReg)
    DP83869 detected
    DP83869 detected
    PRU_PHY_detect:185 Phy 3 alive
    PRU_PHY_detect:185 Phy 15 alive
    Phy 3 : Disable GBit ANEG
    Phy 15 : Disable GBit ANEG
    Phy 3 : RGMII enable low latency
    Phy 15 : RGMII enable low latency
    Phy 3 : RGMII set TX Half/Full Threshold: 1
    Phy 15 : RGMII set TX Half/Full Threshold: 1
    Phy 3 : RGMII set RX Half/Full Threshold: 1
    Phy 15 : RGMII set RX Half/Full Threshold: 1
    +EI_API_ADP_pruicssStart
    -EI_API_ADP_pruicssStart
    Local interface IP is 192.168.1.10
    EI_API_ADP_getMacAddr: 3c:e0:64:62:e1:57
    Write cycle takes 16 ms.
    Write cycle takes 16 ms.
    Write cycle takes 16 ms.
    tcp_err_handler: Connection aborted. (-13)

    I think we need to ask Nilabh to check the procedure how to change of frequency on AM243x-LP board, because here I'm not sure whether just change in bootloader is enough or some other parts of code on side of SDK need to be modified. It will be also good to check difference between mcu_plus_sdk_am243x_09_00_00_35 and ind_comms_sdk_09.00.00.01 for any difference.

    Nilabh, please can you check?

    With best regards
    Jiri Biel 

  • I think we need to ask Nilabh to check the procedure how to change of frequency on AM243x-LP board, because here I'm not sure whether just change in bootloader is enough or some other parts of code on side of SDK need to be modified. It will be also good to check difference between mcu_plus_sdk_am243x_09_00_00_35 and ind_comms_sdk_09.00.00.01 for any difference.

    Nilabh, please can you check?

    Hi Jiri,

    Let me check this and come back by tomorrow.

  • Hi Jiri,

    Thank you for your information.

    Both of EEPROM page write has 4ms sleep for BUSY in driver, so page size is the reason of different write time.

    The page of TI Board's EEPROM is 256 Bytes, ours is 16 Bytes.

    The length of NV data is 352 Bytes, so TI Board's EEPROM need 2 cycles but ours need 22 cycles.

    Our EEPROM takes more time to write, but it doesn't block other Task.

    Do you think this issue maybe lead to system unstable?

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

    When I build the null bootloader, it seems some lib link to mcu_plus_sdk_am243x_09_00_00_35 and some link to  ind_comms_sdk_am243x_09_00_00_03/mcu_plus_sdk.

    Therefore, I rebuild both of mcu_plus_sdk_am243x_09_00_00_35 and ind_comms_sdk_am243x_09_00_00_03/mcu_plus_sdk.

    This procedure maybe need Nilabh to explain.

    I try to show our environment about reproducing "LICENSE EXPIRED" on LP-AM243.

    1. HW: LP-AM243 / PROC109E3

    2. OS: Win10

    3. Windows 10 Environment Variable

     a.INDUSTRIAL_COMMUNICATIONS_SDK_PATH: C:\ti\ind_comms_sdk_am243x_09_00_00_03

     b.MCU_PLUS_SDK_AM243X_PATH: C:\ti\mcu_plus_sdk_am243x_09_00_00_35

     c.MCU_PLUS_SDK_PATH: C:\ti\mcu_plus_sdk_am243x_09_00_00_35

    4. CCS: 12.4.0.00007

     a. Compiler: TI Clang v2.1.3LTS

     b. Products -> INDUSTRIAL COMMUNICATIONS SDK for AM243x : 9.0.0.3

     c. Products -> MCU + SDK for AM243x : 9.0.0.35

     d. Products -> SysConfig: 1.17.0

    5. NULL Bootlader project (release): ind_comms_sdk_am243x_09_00_00_03/mcu_plus_sdk/examples/drivers/boot/sbl_null/am243x-lp/r5fss0-0_nortos

    6. EtherNet/IP project (release): ind_comms_sdk_am243x_09_00_00_03/examples/industrial_comms/ethernetip_adapter_demo/device_profiles/generic_device/mii/am243x-lp/r5fss0-0_freertos

    Thanks,

    Joshua

  • Hi Joshua,

    thank you for description of EEPROM write cycles on your side.
    Now I have a better understanding of EEPROM write timing on your side.
    After discussion with IPProtection guys the 88ms write cycle still should
    not lead to "LICENSE EXPIRED"" issue.

    I tried attached sbl_null image on my AM243x-LP board, but still I was not able to
    reproduce "LICENSE EXPIRED" issue (see UART log below). I see, that stack is
    little bit less stable (the ethernet link test reports some errors, which was not
    a case before), but not the way that communication was hanging and it was always
    possible to continue in test.

    With best regards
    Jiri Biel


    Starting NULL Bootloader ...

    DMSC Firmware Version 9.0.7--v09.00.07 (Kool Koala)
    DMSC Firmware revision 0x9
    DMSC ABI revision 3.1

    INFO: Bootloader_runCpu:155: CPU r5f1-0 is initialized to 400000000 Hz !!!
    INFO: Bootloader_runCpu:155: CPU r5f1-1 is initialized to 400000000 Hz !!!
    INFO: Bootloader_runCpu:155: CPU m4f0-0 is initialized to 400000000 Hz !!!
    INFO: Bootloader_loadSelfCpu:207: CPU r5f0-0 is initialized to 400000000 Hz !!!
    INFO: Bootloader_loadSelfCpu:207: CPU r5f0-1 is initialized to 400000000 Hz !!!
    INFO: Bootloader_runSelfCpu:217: All done, reseting self ...

    Pruicss max =3 selected PRU:3
    Did Map 0x30080000 len 0x2000 to 0x30080000 (dram0)
    Did Map 0x30082000 len 0x2000 to 0x30082000 (dram1)
    Did Map 0x300b4000 len 0x4000 to 0x300b4000 (iram0)
    Did Map 0x300b8000 len 0x4000 to 0x300b8000 (iram1)
    Did Map 0x30090000 len 0x10000 to 0x30090000 (shdram)
    Did Map 0x300a2000 len 0x400 to 0x300a2000 (control0)
    Did Map 0x300a4000 len 0x400 to 0x300a4000 (control1)
    Did Map 0x300a0000 len 0x2000 to 0x300a0000 (intc)
    Did Map 0x300a6000 len 0x2000 to 0x300a6000 (cfg)
    Did Map 0x300a8000 len 0x2000 to 0x300a8000 (uart0)
    Did Map 0x300ae000 len 0x2000 to 0x300ae000 (iep)
    Did Map 0x300b0000 len 0x2000 to 0x300b0000 (ecap0)
    Did Map 0x300b2000 len 0x400 to 0x300b2000 (mii_rt)
    Did Map 0x3009f000 len 0x1c00 to 0x3009f000 (mdio)
    Did Map 0x3008a000 len 0x2000 to 0x3008a000 (txPru0Iram)
    Did Map 0x3008c000 len 0x2000 to 0x3008c000 (txPru1Iram)
    Did Map 0x300a5000 len 0x100 to 0x300a5000 (txPru0CtlReg)
    Did Map 0x300a5000 len 0x100 to 0x300a5000 (txPru1CtlReg)
    DP83869 detected
    DP83869 detected
    PRU_PHY_detect:185 Phy 3 alive
    PRU_PHY_detect:185 Phy 15 alive
    Phy 3 : Disable GBit ANEG
    Phy 15 : Disable GBit ANEG
    Phy 3 : RGMII enable low latency
    Phy 15 : RGMII enable low latency
    Phy 3 : RGMII set TX Half/Full Threshold: 1
    Phy 15 : RGMII set TX Half/Full Threshold: 1
    Phy 3 : RGMII set RX Half/Full Threshold: 1
    Phy 15 : RGMII set RX Half/Full Threshold: 1
    +EI_API_ADP_pruicssStart
    -EI_API_ADP_pruicssStart
    Local interface IP is 192.168.1.10
    EI_API_ADP_getMacAddr: 3c:e0:64:62:e1:57
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection aborted. (-13)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection aborted. (-13)
    Write cycle takes 16 ms.
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    Write cycle takes 16 ms.
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    Write cycle takes 16 ms.
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection aborted. (-13)
    Write cycle takes 16 ms.
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection aborted. (-13)
    Write cycle takes 16 ms.
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    Write cycle takes 16 ms.
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection aborted. (-13)
    Write cycle takes 16 ms.
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    Write cycle takes 16 ms.
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection aborted. (-13)
    Write cycle takes 16 ms.
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection aborted. (-13)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    Write cycle takes 16 ms.
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    Write cycle takes 16 ms.
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection aborted. (-13)
    Write cycle takes 16 ms.
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection aborted. (-13)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection aborted. (-13)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    Write cycle takes 16 ms.
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection aborted. (-13)
    Write cycle takes 16 ms.
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    Write cycle takes 16 ms.
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)

  • Hi Jiri,

    I can reproduce your result with project : 

    ind_comms_sdk_am243x_09_00_00_03/examples/industrial_comms/ethernetip_adapter_demo/device_profiles/generic_device/rgmii/am243x-lp/r5fss0-0_freertos

    There has error count show at CT20, "but no "LICENSE EXPIRED" at UART log.

    The different point is our CT20 has pop up window show "Failed to connect the DUT, abort the test!"

    Could you explain why stack is little bit less stable in 400Mhz?

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

    Nilabh recommend us use MII mode, because they seen  some instability with RGMII before.

    https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1206723/am2434-am2434-ethernet-ip-test-question

    Could you use the project which we can reproduce to try?

    ind_comms_sdk_am243x_09_00_00_03/examples/industrial_comms/ethernetip_adapter_demo/device_profiles/generic_device/mii/am243x-lp/r5fss0-0_freertos

    power cycle is necessary before test.

    Thanks,

    Joshua

  • When I build the null bootloader, it seems some lib link to mcu_plus_sdk_am243x_09_00_00_35 and some link to  ind_comms_sdk_am243x_09_00_00_03/mcu_plus_sdk.

    Therefore, I rebuild both of mcu_plus_sdk_am243x_09_00_00_35 and ind_comms_sdk_am243x_09_00_00_03/mcu_plus_sdk.

    This procedure maybe need Nilabh to explain.

    Hi Joshua,

    Industrial comms sdk internally has MCU SDK inside it. So for building null boot loader you need to build libs of MCU SDK.

  • Hi Joshua,

    I tried on AM243x-LP with adapted bootloader to 400MHz the ind_comms_sdk_am243x_09_00_00_03 EtherNet/IP Adapter MII General Device and result was similar as with yesterday test (RGMII). Means no "LICENSE EXPIRED", see UART log below. As first I need to say that we are supporting 800 MHz on AM243x TI boards without modifications. Nilabh was right. We were facing some instability issues on RGMII before, but this is not a case here. Means I can confirm that I see similar behavior on RGMII and MII when 400MHz is used on MPU.

    With best regards
    Jiri Biel

    Starting NULL Bootloader ...

    DMSC Firmware Version 9.0.7--v09.00.07 (Kool Koala)
    DMSC Firmware revision 0x9
    DMSC ABI revision 3.1

    INFO: Bootloader_runCpu:155: CPU r5f1-0 is initialized to 400000000 Hz !!!
    INFO: Bootloader_runCpu:155: CPU r5f1-1 is initialized to 400000000 Hz !!!
    INFO: Bootloader_runCpu:155: CPU m4f0-0 is initialized to 400000000 Hz !!!
    INFO: Bootloader_loadSelfCpu:207: CPU r5f0-0 is initialized to 400000000 Hz !!!
    INFO: Bootloader_loadSelfCpu:207: CPU r5f0-1 is initialized to 400000000 Hz !!!
    INFO: Bootloader_runSelfCpu:217: All done, reseting self ...

    Pruicss max =3 selected PRU:3
    Did Map 0x30080000 len 0x2000 to 0x30080000 (dram0)
    Did Map 0x30082000 len 0x2000 to 0x30082000 (dram1)
    Did Map 0x300b4000 len 0x4000 to 0x300b4000 (iram0)
    Did Map 0x300b8000 len 0x4000 to 0x300b8000 (iram1)
    Did Map 0x30090000 len 0x10000 to 0x30090000 (shdram)
    Did Map 0x300a2000 len 0x400 to 0x300a2000 (control0)
    Did Map 0x300a4000 len 0x400 to 0x300a4000 (control1)
    Did Map 0x300a0000 len 0x2000 to 0x300a0000 (intc)
    Did Map 0x300a6000 len 0x2000 to 0x300a6000 (cfg)
    Did Map 0x300a8000 len 0x2000 to 0x300a8000 (uart0)
    Did Map 0x300ae000 len 0x2000 to 0x300ae000 (iep)
    Did Map 0x300b0000 len 0x2000 to 0x300b0000 (ecap0)
    Did Map 0x300b2000 len 0x400 to 0x300b2000 (mii_rt)
    Did Map 0x300b2000 len 0x1c00 to 0x300b2000 (mdio)
    Did Map 0x3008a000 len 0x2000 to 0x3008a000 (txPru0Iram)
    Did Map 0x3008c000 len 0x2000 to 0x3008c000 (txPru1Iram)
    Did Map 0x300a5000 len 0x100 to 0x300a5000 (txPru0CtlReg)
    Did Map 0x300a5000 len 0x100 to 0x300a5000 (txPru1CtlReg)
    DP83869 detected
    DP83869 detected
    Phy 3 : Disable RGMII mode
    Phy 3 : Disable GBit ANEG
    Phy 15 : Disable RGMII mode
    Phy 15 : Disable GBit ANEG
    +EI_API_ADP_pruicssStart
    -EI_API_ADP_pruicssStart
    Local interface IP is 192.168.1.10
    EI_API_ADP_getMacAddr: 3c:e0:64:62:e1:57
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection reset. (-14)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)
    tcp_err_handler: Connection aborted. (-13)

  • Hi Nilabh,

    Does TI have platform to verify the behavior on 400M R5F? 

    Do we can use modification of bootloader to simulate  AM2432 BKFGHIALXR on LP-AM243?

    If yes, could you provide step by step procedure to help us to clarify this issue?

    Hi Jiri,

    We follow TI's datasheet to choose AM2432 BKFGHIALXR which has 400Mhz R5F and support Industrial Communication Stack.

    As I known, it means KUNBUS stack support 400Mhz R5F, and you find that stack is little bit less stable.

    If I'm wrong, please correct me.

    Could you explain why stack is little bit less stable in 400Mhz?

    Maybe the reason of unstable is also the reason of "License Expire" issue.

    "License Expire" issue is occurred by KUNBUS stack, so we don't have source code to trace.

    Do you have other advice to help us to clarify this issue?

    Thanks,

    Joshua

  • The issue has been processed in the support system: TS-98.

  • Does TI have platform to verify the behavior on 400M R5F? 

    Do we can use modification of bootloader to simulate  AM2432 BKFGHIALXR on LP-AM243?

    If yes, could you provide step by step procedure to help us to clarify this issue?

    Hi Joshua,

    Apologies for delay in response, we were occupied with some internal commitments.

    400 Mhz can be validated by making changes in SBL, PLL configuration. But we have not verified with 400Mhz. I can try to run some test  and share result by Wednesday next week.

    Appreciate your patience.

  • Hi Martin, Jiri,

    Do you have any updates from KUNBUS?

    Thanks,

    Joshua

  • Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Starting NULL Bootloader ...
    DMSC Firmware Version 8.6.4--v08.06.04 (Chill Capybar
    DMSC Firmware revision 0x8
    DMSC ABI revision 3.1
    INFO: Bootloader_runCpu:155: CPU r5f1-0 is initialized to 400000000 Hz !!!
    INFO: Bootloader_runCpu:155: CPU r5f1-1 is initialized to 400000000 Hz !!!
    INFO: Bootloader_runCpu:155: CPU m4f0-0 is initialized to 400000000 Hz !!!
    INFO: Bootloader_loadSelfCpu:207: CPU r5f0-0 is initiaPruicss max =3 selected PRU:3
    Did Map 0x30080000 len 0x2000 to 0x30080000 (dram0)
    Did Map 0x30082000 len 0x2000 to 0x30082000 (dram1)
    Did Map 0x300b4000 len 0x4000 to 0x300b4000 (iram0)
    Did Map 0x300b8000 len 0x4000 to 0x300b8000 (iram1)
    Did Map 0x30090000 len 0x10000 to 0x30090000 (shdram)
    Did Map 0x300a2000 len 0x400 to 0x300a2000 (control0)
    Did Map 0x300a4000 len 0x400 to 0x300a4000 (control1)
    Did Map 0x300a0000 len 0x2000 to 0x300a0000 (intc)
    Did Map 0x300a6000 len 0x2000 to 0x300a6000 (cfg)
    Did Map 0x300a8000 len 0x2000 to 0x300a8000 (uart0)
    Did Map 0x300ae000 len 0x2000 to 0x300ae000 (iep)
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    I ran EIP application on R5f running at 400Mhz, I was not seeing any license expiry, I will run CTT test and a long run-ping test to verify further.

  • Hi Nilabh,

    Thank you for your updates.

    Could you use ind_comms_sdk_am243x_09_00_00_03 to test?

    Our discussion is based on this version, and bootlodaer version is 9.0.7.

    DMSC Firmware Version 9.0.7--v09.00.07 (Kool Koala)
    DMSC Firmware revision 0x9
    DMSC ABI revision 3.1

    Thanks,

    Joshua

  • Hi Joshua,

    Even after long run, I do not see any issue on my end, I will try with latest SBL also. Could you please summarize the issue you are facing currently and is it reproducible on a TI AM243-LP by making changes in SBL or application. It would help me in creating it on my end faster

  • Hi Nilabh,

    The summarize of issue now:

    400Mhz LP-AM243(E3) occur "License Expired" issue under CT20 continuous Ethernet Link Test.

    //------------------------------------------------------------------------------------------------------------------------------------------------------------- 

    I share all of my environment and all of step which I can reproduce this issue before in this thread (Nov. 22 and Nov. 23).

    Please help us to check our environment and build step if I miss something.

    Also KUNBUS and I need you to explain what is the "correctly" way to build 400Mhz SBL!!!

    Could you share your method step by step? (video or written)

    Thanks,

    Joshua

  • When I build the null bootloader, it seems some lib link to mcu_plus_sdk_am243x_09_00_00_35 and some link to  ind_comms_sdk_am243x_09_00_00_03/mcu_plus_sdk.

    Therefore, I rebuild both of mcu_plus_sdk_am243x_09_00_00_35 and ind_comms_sdk_am243x_09_00_00_03/mcu_plus_sdk.

    This procedure maybe need Nilabh to explain.

    MCU SDK from Industrial comms and MCU SDK independent will not matter here. To avoid this issue, you could use gmake command line based build.

    Also KUNBUS and I need you to explain what is the "correctly" way to build 400Mhz SBL!!!

    Could you share your method step by step? (video or written)

    1. SBL-NULL modified file:/cfs-file/__key/communityserver-discussions-components-files/908/main_5F00_sbl_5F00_null.c

    SBL-OSPI modified file:/cfs-file/__key/communityserver-discussions-components-files/908/main_5F00_sbl_5F00_ospi.c

    Rebuild the example. Copy the generated sbl_null.release.hs_fs.tiimage  or sbl_ospi.release.hs_fs.tiimage to mcu_plus_sdk_am243x\tools\boot\sbl_prebuilt\am243x-lp folder then  follow the process to flash the SBL.

    Let me know if you need any help here.

    I share all of my environment and all of step which I can reproduce this issue before in this thread (Nov. 22 and Nov. 23).

    Can you share the binary with which you are able to reproduce the issue on Launchpad AM243x-LP?

    I am not able to reproduce the LICENSE Expiry issue. But I do see faliure at 400MhZ some tests.

    OSAL_FREERTOS_SCHED_startTask:541 E no free Thread Handles !

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    CPU m4f0-0 is initialized to 400000000 Hz !!!
    CPU r5f0-0 is initialized to 400000000 Hz !!!
    CPU r5f0-1 is initialized to 400000000 Hz !!!
    CPU r5f1-0 is initialized to 800000000 Hz !!!
    CPU r5f1-1 is initialized to 800000000 Hz !!!
    [BOOTLOADER_PROFILE] Boot Media : NOR SPI FLASH
    [BOOTLOADER_PROFILE] Boot Media Clock : 100.000 MHz
    [BOOTLOADER_PROFILE] Boot Image Size : 740 KB
    [BOOTLOADER_PROFILE] Cores present :
    r5f0-0
    [BOOTLOADER PROFILE] SYSFW init : 24358us
    [BOOTLOADER PROFILE] System_init : 10732614us
    [BOOTLOADER PROFILE] Drivers_open : 566us
    [BOOTLOADER PROFILE] Board_driversOpen : 322869us
    [BOOTLOADER PROFILE] Sciclient Get Version : 19685us
    [BOOTLOADER PROFILE] CPU load : 2228334us
    [BOOTLOADER_PROFILE] SBL Total Time Taken : 2591013us
    Image loading done, switching to application ...
    Pruicss max =3 selected PRU:3
    Did Map 0x30080000 len 0x2000 to 0x30080000 (dram0)
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • Hi Nilabh,

    Thank you for your explain.

    I will try to rebuild the bootloader and test again.

    I used 8.6.0.45 SDK before and received same error message which you get.

    Ethernet Link Test has error count but UART log is without "License Expire".

    I think that "License Expired" is one of result to represent the unstable of 400 Mhz stack.

    Could you or KUNBUS explain why stack is little bit less stable in 400Mhz?

    This issue should be solved, or we can't use AM2432 BKFGHIALXR(400Mhz) to pass EtherNet/IP Conformance Test.

    If I'm wrong, please correct me.

    Thanks,

    Joshua

1 2