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.

MCU-PLUS-SDK-AM243X: Ethernet/IP Adapter - Documentation

Part Number: MCU-PLUS-SDK-AM243X

Good day to you all,

Understanding how the API works with the help of the sample application and API reference only can be a bit tricky sometimes.
For example, we are currently trying unsuccessfully to set the assembly object size of our Ethernet/IP adapter.
Is there any further documentation on the Ethernet/IP stack?
I'm thinking of a how-to guide or a comprehensive explanation of how the API works.

Best regards,
Erik

  • Hi Erik,

    We have started looking into the issue, let me come back on it once I have an update

    BR

    Nilabh A.

  • Hi Nilabh,

    Any update?

    BR
    Erik

  • Hi Erik,

    Preparing a comprehensive guide would need some time, we are in discussion with the internal team. Meanwhile if you could specify the details of your question, it would help me in supporting you. It will also unblock you for immediate progress.

    BR

    Nilabh A.

  • Hi Erick,

    Please refer below:

    What essentially needs to be performed is illustrated below:

    EI_API_ADP_T* pEI_API_ADP = NULL;
    EI_API_CIP_NODE_T* pEI_API_CIP_NODE = NULL;
    uint32_t errCode;

    uint8_t numInterfaces = 1;

    // Create a new adapter first, this is the principal container for everything:

    pEI_API_ADP = EI_API_ADP_new(numInterfaces);

    // Next create a CIP node:

    pEI_API_CIP_NODE = EI_API_CIP_NODE_new();

    // Within the CIP, whih provides the object library infrastructure you can create vendor specific classes with class service(s), class attribute(s),
    // instance(s), with instance service(s) and instance attribute(s). This is demonstrated within the function EI_APP_cipGenerateContent(...) in
    // the file app.c

    ...

    // Now create instances of the assembly object (s), and add as assembly member(s) the attribute(s) created earlier. 
    // For details see example app.c function: EI_APP_cipSetup(...)

    ...

    // The assembly size is calculated automatically,
    // depending on the size of the attributes that are added as assembly members.
    // To retrieve the attribute size of assembly instance ID = 100, as number of bytes in attribute data execute:

    uint16_t assemblyInstanceId = 0x64;
    uint16_t size = 0;
    errCode = EI_API_CIP_getAssemblySize(pEI_API_CIP_NODE, assemblyInstanceId, &size)

    Now the overall assembly size is available. Note that there is no need to explicitly set the assembly size as it is calculated implicitly in the process of attributes added as assembly members to the assembly.

    Let me know if this help for you.

    BR

    Nilabh A.

  • Hi Nilabh,

    Sorry for the delay in replying.

    I am trying to add a configuration assembly to the example adpater.

    I added a third assembly instance 0x66 as a config assembly and a class 0x80 for the members:

        uint16_t classId_e = 0x80;
        EI_API_CIP_createClass(pCip_s, classId_e);
        EI_API_CIP_SService_t service;
        service.getAttrAllResponseCnt = 0;
        service.callback = NULL;
        service.code = EI_API_CIP_eSC_GETATTRSINGLE;
        EI_API_CIP_addClassService(pCip_s, classId_e, &service);
        service.code = EI_API_CIP_eSC_SETATTRSINGLE;
        EI_API_CIP_addClassService(pCip_s, classId_e, &service);
        EI_API_CIP_createInstance(pCip_s, classId_e, instanceId);
        service.code = EI_API_CIP_eSC_GETATTRSINGLE;
        EI_API_CIP_addInstanceService(pCip_s, classId_e, instanceId, &service);
        service.code = EI_API_CIP_eSC_SETATTRSINGLE;
        EI_API_CIP_addInstanceService(pCip_s, classId_e, instanceId, &service);
    
        uint16_t attribID = 0x300;
    
        // USINT (uint8_t).
        for (i = 0; i < 6; i++)
        {
            EI_API_CIP_SAttr_t attr;
            memset(&attr, 0, sizeof(attr));
            attr.id = attribID;
            attr.edt = EI_API_CIP_eEDT_USINT;
            attr.accessRule = EI_API_CIP_eAR_GET_AND_SET;
            attr.pvValue = &i;
    
            EI_API_CIP_addInstanceAttr(pCip_s, classId_e, instanceId, &attr);
            EI_API_CIP_setInstanceAttr(pCip_s, classId_e, instanceId, &attr);
    
            attribID++;
        }
    
        errCode = EI_API_CIP_createAssembly(pCipNode_p, 0x66, EI_API_CIP_eAR_GET_AND_SET); // CONFIG
        for (i = 0x300; i < 0x305; i++)
        {
            errCode = EI_API_CIP_addAssemblyMember(pCipNode_p, 0x64, classId, instanceId, i);
            if (errCode != EI_API_CIP_eERR_OK)
            {
                OSAL_printf("Failed to add Class ID %#x, Instance ID %#x, Attribute ID %#x to Assembly Instance 0x64:  Error code: 0x%08x\n", classId, instanceId, (uint16_t)i, errCode);
            }
    
            errCode = EI_API_CIP_addAssemblyMember(pCipNode_p, 0x65, classId, instanceId, (uint16_t)(8 + i));
            if (errCode != EI_API_CIP_eERR_OK) {
                OSAL_printf("Failed to add Class ID %#x, Instance ID %#x, Attribute ID %#x to Assembly Instance 0x65:  Error code: 0x%08x\n", classId, instanceId, (uint16_t)(8 + i), errCode);
            }
    
            errCode = EI_API_CIP_addAssemblyMember(pCipNode_p, 0x66, 0x80, instanceId, i);
            if (errCode != EI_API_CIP_eERR_OK)
            {
                OSAL_printf("Failed to add Class ID %#x, Instance ID %#x, Attribute ID %#x to Assembly Instance 0x66:  Error code: 0x%08x\n", classId, instanceId, (uint16_t)(16 + i), errCode);
            }
        }
    
        errCode = EI_API_CIP_addAssemblyMember(pCipNode_p, 0x66, 0x80, instanceId, 0x305);
        if (errCode != EI_API_CIP_eERR_OK)
        {
            OSAL_printf("OWN PARAM; Error code: 0x%08x\n", errCode);
        }


    The PLC sends 0x00000007 as a configuration value:


    However, this has no impact on the config assembly data; these remain at their initial values:

        // in EI_APP_run:
    
        uint8_t assem_data[6]; // CONFIG ASSEM DATA BUFFER
        EI_API_CIP_getAssemblyData(pCip_s, 0x66, assem_data, 6); // GET CONFIG ASSEM DATA
    
    
        OSAL_printf("assemData: 0x%02x:%02x:%02x:%02x:%02x:%02x\r\n", assem_data[0],
                    assem_data[1], assem_data[2], assem_data[3], assem_data[4],
                    assem_data[5]);
        //     ==>
        //   Output is:
        // assemData: 0x00:01:02:03:04:05
        //   But it should be:
        // assemData: 0x00:00:00:00:00:07


    Did I overlook something or is there something to consider when handling config data in the API?

    BR
    Erik

  • Hi Erik,

    Let me just verify it and get back.

    BR

    Nilabh A.

  • [Params]
            Param1 =
                    0,                      $ first field shall equal 0
                    7,"20 70 24 01 31 08 03",    $ path size,path
                    0x0000,                 $ descriptor
                    0xC6,                   $ data type
                    1,                      $ data size in bytes
                    "Output1",              $ name
                    "",                     $ units
                    "Output Byte 1",        $ help string
                    ,,0,                    $ min, max, default data values
                    ,,,,                    $ mult, dev, base, offset scaling not used
                    ,,,,                    $ mult, dev, base, offset link not used
                    0;                      $ decimal places not used
            Param2 =
                    0,                      $ reserved, shall equal 0
                    7,"20 70 24 01 31 09 03",    $ Link Path Size, Link Path
                    0x0000,                 $ Descriptor
                    0xC6,                   $ Data Type
                    1,                      $ Data Size in bytes
                    "Output2",              $ name
                    "",                     $ units
                    "Output Byte 2",        $ help string
                    ,,0,                    $ min, max, default data values
                    ,,,,                    $ mult, div, base, offset scaling
                    ,,,,                    $ mult, div, base, offset links
                    ;                       $ decimal places
            Param3 =
                    0,                      $ reserved, shall equal 0
                    7,"20 70 24 01 31 0A 03",    $ Link Path Size, Link Path
                    0x0000,                 $ Descriptor
                    0xC6,                   $ Data Type
                    1,                      $ Data Size in bytes
                    "Output3",              $ name
                    "",                     $ units
                    "Output Byte 3",        $ help string
                    ,,0,                    $ min, max, default data values
                    ,,,,                    $ mult, div, base, offset scaling
                    ,,,,                    $ mult, div, base, offset links
                    ;                       $ decimal places
            Param4 =
                    0,                      $ reserved, shall equal 0
                    7,"20 70 24 01 31 0B 03",    $ Link Path Size, Link Path
                    0x0000,                 $ Descriptor
                    0xC6,                   $ Data Type
                    1,                      $ Data Size in bytes
                    "Output4",              $ name
                    "",                     $ units
                    "Output Byte 4",        $ help string
                    ,,0,                    $ min, max, default data values
                    ,,,,                    $ mult, div, base, offset scaling
                    ,,,,                    $ mult, div, base, offset links
                    ;                       $ decimal places
            Param5 =
                    0,                      $ reserved, shall equal 0
                    7,"20 70 24 01 31 0C 03",    $ Link Path Size, Link Path
                    0x0000,                 $ Descriptor
                    0xC6,                   $ Data Type
                    1,                      $ Data Size in bytes
                    "Output5",              $ name
                    "",                     $ units
                    "Output Byte 5",        $ help string
                    ,,0,                    $ min, max, default data values
                    ,,,,                    $ mult, div, base, offset scaling
                    ,,,,                    $ mult, div, base, offset links
                    ;                       $ decimal places
            Param6 =
                    0,                      $ reserved, shall equal 0
                    7,"20 80 24 01 31 00 03",    $ Link Path Size, Link Path
                    0x0000,                 $ Descriptor
                    0xC6,                   $ Data Type
                    1,                      $ Data Size in bytes
                    "Config6",              $ name
                    "",                     $ units
                    "Configuration Byte",   $ help string
                    ,,0,                    $ min, max, default data values
                    ,,,,                    $ mult, div, base, offset scaling
                    ,,,,                    $ mult, div, base, offset links
                    ;                       $ decimal places
            Param7 =
                    0,                      $ reserved, shall equal 0
                    7,"20 80 24 01 31 01 03",    $ Link Path Size, Link Path
                    0x0000,                 $ Descriptor
                    0xC6,                   $ Data Type
                    1,                      $ Data Size in bytes
                    "Config7",              $ name
                    "",                     $ units
                    "Configuration Byte",   $ help string
                    ,,0,                    $ min, max, default data values
                    ,,,,                    $ mult, div, base, offset scaling
                    ,,,,                    $ mult, div, base, offset links
                    ;                       $ decimal places
            Param8 =
                    0,                      $ reserved, shall equal 0
                    7,"20 80 24 01 31 02 03",    $ Link Path Size, Link Path
                    0x0000,                 $ Descriptor
                    0xC6,                   $ Data Type
                    1,                      $ Data Size in bytes
                    "Config8",              $ name
                    "",                     $ units
                    "Configuration Byte",   $ help string
                    ,,0,                    $ min, max, default data values
                    ,,,,                    $ mult, div, base, offset scaling
                    ,,,,                    $ mult, div, base, offset links
                    ;                       $ decimal places
            Param9 =
                    0,                      $ reserved, shall equal 0
                    7,"20 80 24 01 31 03 03",    $ Link Path Size, Link Path
                    0x0000,                 $ Descriptor
                    0xC6,                   $ Data Type
                    1,                      $ Data Size in bytes
                    "Config9",              $ name
                    "",                     $ units
                    "Configuration Byte",   $ help string
                    ,,0,                    $ min, max, default data values
                    ,,,,                    $ mult, div, base, offset scaling
                    ,,,,                    $ mult, div, base, offset links
                    ;                       $ decimal places
            Param10 =
                    0,                      $ reserved, shall equal 0
                    7,"20 80 24 01 31 04 03",    $ Link Path Size, Link Path
                    0x0000,                 $ Descriptor
                    0xC6,                   $ Data Type
                    1,                      $ Data Size in bytes
                    "Config10",             $ name
                    "",                     $ units
                    "Configuration Byte",   $ help string
                    ,,0,                    $ min, max, default data values
                    ,,,,                    $ mult, div, base, offset scaling
                    ,,,,                    $ mult, div, base, offset links
                    ;                       $ decimal places
            Param11 =
                    0,                      $ reserved, shall equal 0
                    7,"20 70 24 01 31 00 03",    $ Link Path Size, Link Path
                    0x0000,                 $ Descriptor
                    0xC6,                   $ Data Type
                    1,                      $ Data Size in bytes
                    "Input1",               $ name
                    "",                     $ units
                    "Input Byte 1",         $ help string
                    ,,0,                    $ min, max, default data values
                    ,,,,                    $ mult, div, base, offset scaling
                    ,,,,                    $ mult, div, base, offset links
                    ;                       $ decimal places
            Param12 =
                    0,                      $ reserved, shall equal 0
                    7,"20 70 24 01 31 01 03",    $ Link Path Size, Link Path
                    0x0000,                 $ Descriptor
                    0xC6,                   $ Data Type
                    1,                      $ Data Size in bytes
                    "Input2",               $ name
                    "",                     $ units
                    "Input Byte 2",         $ help string
                    ,,0,                    $ min, max, default data values
                    ,,,,                    $ mult, div, base, offset scaling
                    ,,,,                    $ mult, div, base, offset links
                    ;                       $ decimal places
            Param13 =
                    0,                      $ reserved, shall equal 0
                    7,"20 70 24 01 31 02 03",    $ Link Path Size, Link Path
                    0x0000,                 $ Descriptor
                    0xC6,                   $ Data Type
                    1,                      $ Data Size in bytes
                    "Input3",               $ name
                    "",                     $ units
                    "Input Byte 3",         $ help string
                    ,,0,                    $ min, max, default data values
                    ,,,,                    $ mult, div, base, offset scaling
                    ,,,,                    $ mult, div, base, offset links
                    ;                       $ decimal places
            Param14 =
                    0,                      $ reserved, shall equal 0
                    7,"20 70 24 01 31 03 03",    $ Link Path Size, Link Path
                    0x0000,                 $ Descriptor
                    0xC6,                   $ Data Type
                    1,                      $ Data Size in bytes
                    "Input4",               $ name
                    "",                     $ units
                    "Input Byte 4",         $ help string
                    ,,0,                    $ min, max, default data values
                    ,,,,                    $ mult, div, base, offset scaling
                    ,,,,                    $ mult, div, base, offset links
                    ;                       $ decimal places
            Param15 =
                    0,                      $ reserved, shall equal 0
                    7,"20 70 24 01 31 04 03",    $ Link Path Size, Link Path
                    0x0000,                 $ Descriptor
                    0xC6,                   $ Data Type
                    1,                      $ Data Size in bytes
                    "Input5",               $ name
                    "",                     $ units
                    "Input Byte 5",         $ help string
                    ,,0,                    $ min, max, default data values
                    ,,,,                    $ mult, div, base, offset scaling
                    ,,,,                    $ mult, div, base, offset links
                    ;                       $ decimal places
            Param16 =
                    0,                      $ reserved, shall equal 0
                    ,,                      $ Link Path Size, Link Path
                    0x0000,                 $ Descriptor
                    0xC6,                   $ Data Type
                    1,                      $ Data Size in bytes
                    "Input6",               $ name
                    "",                     $ units
                    "Parameter 16",         $ help string
                    ,,0,                    $ min, max, default data values
                    ,,,,                    $ mult, div, base, offset scaling
                    ,,,,                    $ mult, div, base, offset links
                    ;                       $ decimal places
            Param17 =
                    0,                      $ reserved, shall equal 0
                    ,,                      $ Link Path Size, Link Path
                    0x0000,                 $ Descriptor
                    0xC6,                   $ Data Type
                    1,                      $ Data Size in bytes
                    "Input7",               $ name
                    "",                     $ units
                    "Parameter 17",         $ help string
                    ,,0,                    $ min, max, default data values
                    ,,,,                    $ mult, div, base, offset scaling
                    ,,,,                    $ mult, div, base, offset links
                    ;                       $ decimal places
            Param18 =
                    0,                      $ reserved, shall equal 0
                    ,,                      $ Link Path Size, Link Path
                    0x0000,                 $ Descriptor
                    0xC6,                   $ Data Type
                    1,                      $ Data Size in bytes
                    "Input8",               $ name
                    "",                     $ units
                    "Parameter 18",         $ help string
                    ,,0,                    $ min, max, default data values
                    ,,,,                    $ mult, div, base, offset scaling
                    ,,,,                    $ mult, div, base, offset links
                    ;                       $ decimal places
            Param19 =
                    0,                      $ reserved, shall equal 0
                    ,,                      $ Link Path Size, Link Path
                    0x0000,                 $ Descriptor
                    0xC6,                   $ Data Type
                    1,                      $ Data Size in bytes
                    "Input9",               $ name
                    "",                     $ units
                    "Parameter 19",         $ help string
                    ,,0,                    $ min, max, default data values
                    ,,,,                    $ mult, div, base, offset scaling
                    ,,,,                    $ mult, div, base, offset links
                    ;                       $ decimal places
            Param20 =
                    0,                      $ reserved, shall equal 0
                    ,,                      $ Link Path Size, Link Path
                    0x0000,                 $ Descriptor
                    0xC6,                   $ Data Type
                    1,                      $ Data Size in bytes
                    "Input10",              $ name
                    "",                     $ units
                    "Parameter 20",         $ help string
                    ,,0,                    $ min, max, default data values
                    ,,,,                    $ mult, div, base, offset scaling
                    ,,,,                    $ mult, div, base, offset links
                    ;                       $ decimal places
            Param21 =
                    0,                      $ reserved, shall equal 0
                    7,"20 80 24 01 31 05 03",    $ Link Path Size, Link Path
                    0x0000,                 $ Descriptor
                    0xC6,                   $ Data Type
                    1,                      $ Data Size in bytes
                    "Own",                  $ name
                    "",                     $ units
                    "OWN",                  $ help string
                    ,,0,                    $ min, max, default data values
                    ,,,,                    $ mult, div, base, offset scaling
                    ,,,,                    $ mult, div, base, offset links
                    ;                       $ decimal places
    
    [Assembly]
            Object_Name = "Assembly Object";
            Object_Class_Code = 0x04;
            Assem1 =
                    "Producing Assembly (Input Data)",
                    ,
                    5,
                    0x0001,
                    ,,
                    8,Param11,
                    8,Param12,
                    8,Param13,
                    8,Param14,
                    8,Param15;
            Assem2 =
                    "Consuming Assembly (Output Data)",
                    ,
                    5,
                    0x0001,
                    ,,
                    8,Param1,
                    8,Param2,
                    8,Param3,
                    8,Param4,
                    8,Param5;
            Assem3 =
                    "Configuration Assembly (Output Data)",
                    ,
                    6,
                    0x0001,
                    ,,
                    8,Param6,
                    8,Param7,
                    8,Param8,
                    8,Param9,
                    8,Param10,
                    8,Param21;
    
    
    [Connection Manager]
            Object_Name = "Connection Manager Object";
            Object_Class_Code = 0x06;
            Connection1 =
                    0x04010002,             $ trigger & transport
                                            $  0-15  = supported transport classes (class 1)
                                            $  16 = cyclic (1 = supported)
                                            $  17 = change of state (0 = not supported)
                                            $  18 = on demand (0 = not supported)
                                            $  19-23 = reserved (must be zero)
                                            $  24-27 = exclusive owner
                                            $  28-30 = reserved (must be zero)
                                            $  31 = client 0 (don't care for classes 0 and 1)
                    0x44640005,             $ point/multicast & priority & realtime format
                                            $   0     = O=>T fixed (1 = supported)
                                            $   1     = O=>T variable (0 = not supported)
                                            $   2     = T=>O fixed (1 = supported)
                                            $   3     = T=>O variable (0 = not supported)
                                            $  4-7   = reserved (must be zero)
                                            $  8-10  = O=>T header (4 byte run/idle)
                                            $  11  = reserved (must be zero)
                                            $  12-14 = T=>O header
                                            $  15  = reserved (must be zero)
                                            $  16-19 = O=>T point-to-point
                                            $  20-23 = T=>O multicast
                                            $  24-27 = O=>T scheduled
                                            $  28-31 = T=>O scheduled
                    ,,Assem2,               $ O=>T RPI,Size,Format
                    ,,Assem1,               $ T=>O RPI,Size,Format
                    ,,                      $ config part 1 (dynamic assemblies)
                    6,Assem3,               $ config part 2 (module configuration)
                    "Exclusive Owner",      $ connection name
                    "",                     $ Help string
                    "20 04 24 66 2C 65 2C 64";    $ exclusive owner path
    
            Connection2 =
                    0x02010002,             $ trigger & transport
                                            $  0-15  = supported transport classes (class 1)
                                            $  16 = cyclic (1 = supported)
                                            $  17 = change of state (0 = not supported)
                                            $  18 = on demand (0 = not supported)
                                            $  19-23 = reserved (must be zero)
                                            $  24-27 = exclusive owner
                                            $  28-30 = reserved (must be zero)
                                            $  31 = client 0 (don't care for classes 0 and 1)
                    0x44640305,             $ point/multicast & priority & realtime format
                                            $   0     = O=>T fixed (1 = supported)
                                            $   1     = O=>T variable (0 = not supported)
                                            $   2     = T=>O fixed (1 = supported)
                                            $   3     = T=>O variable (0 = not supported)
                                            $  4-7   = reserved (must be zero)
                                            $  8-10  = O=>T header (4 byte run/idle)
                                            $  11  = reserved (must be zero)
                                            $  12-14 = T=>O header
                                            $  15  = reserved (must be zero)
                                            $  16-19 = O=>T point-to-point
                                            $  20-23 = T=>O multicast
                                            $  24-27 = O=>T scheduled
                                            $  28-31 = T=>O scheduled
                    ,0,,                    $ O=>T RPI,Size,Format
                    ,,Assem1,               $ T=>O RPI,Size,Format
                    ,,                      $ config part 1 (dynamic assemblies)
                    ,Assem3,                $ config part 2 (module configuration)
                    "Input Only",           $ connection name
                    "",                     $ Help string
                    "20 04 24 66 2C FE 2C 64";    $ input only path
    
            Connection3 =
                    0x01010002,             $ trigger & transport
                                            $  0-15  = supported transport classes (class 1)
                                            $  16 = cyclic (1 = supported)
                                            $  17 = change of state (0 = not supported)
                                            $  18 = on demand (0 = not supported)
                                            $  19-23 = reserved (must be zero)
                                            $  24-27 = exclusive owner
                                            $  28-30 = reserved (must be zero)
                                            $  31 = client 0 (don't care for classes 0 and 1)
                    0x44640305,             $ point/multicast & priority & realtime format
                                            $   0     = O=>T fixed (1 = supported)
                                            $   1     = O=>T variable (0 = not supported)
                                            $   2     = T=>O fixed (1 = supported)
                                            $   3     = T=>O variable (0 = not supported)
                                            $  4-7   = reserved (must be zero)
                                            $  8-10  = O=>T header (4 byte run/idle)
                                            $  11  = reserved (must be zero)
                                            $  12-14 = T=>O header
                                            $  15  = reserved (must be zero)
                                            $  16-19 = O=>T point-to-point
                                            $  20-23 = T=>O multicast
                                            $  24-27 = O=>T scheduled
                                            $  28-31 = T=>O scheduled
                    ,0,,                    $ O=>T RPI,Size,Format
                    ,,Assem1,               $ T=>O RPI,Size,Format
                    ,,                      $ config part 1 (dynamic assemblies)
                    ,Assem3,                $ config part 2 (module configuration)
                    "Listen Only",          $ connection name
                    "",                     $ Help string
                    "20 04 24 66 2C FF 2C 64";    $ listen only path
    

    Here is the relevant section of the modified EDS file (I forgot to add the previous message).

    BR

    Erik

  • Hi Nilabh,

    Configuration Assembly is a functionality that we are working with high priority on. They are outlined in the Device Profile chapters of the ODVA specifications. We had hoped for the to be supported for the November release, but it is now more likely to be towards the end of the year or early next year. Yesterday I scheduled already a session with the developers for today to get an update of the current status.

    Regards, Martin

  • Nilabh,

    just one quick question, do we know which version of the SDK respectively EtherNet/IP stack ifm is using? As mentioned before, the Configuration Assembly will not be included within our 8.5 release, but we currently plan to start merging in the functionality in our next sprint starting on Monday next week.

    Regards, Martin

  • One other question:
    I am trying to flash the Ethernet/IP adapter example and get the following error:

    [INFO] Parsing config file ... SUCCESS. Found 3 command(s) !!!
    
    [INFO] Executing command 1 of 3 ...
    [INFO] Found flash writer ... sending K:/Pool/decicher/ti/mcu_plus_sdk_am243x_08_03_00_18/tools/boot/sbl_prebuilt/am243x-lp/sbl_uart.release.tiimage
    [INFO] Sent flashwriter K:/Pool/decicher/ti/mcu_plus_sdk_am243x_08_03_00_18/tools/boot/sbl_prebuilt/am243x-lp/sbl_uart.release.tiimage of size 257820 bytes in 26.14s.
    
    [INFO] Executing command 2 of 3 ...
    [INFO] Command arguments : --file=K:/Pool/decicher/ti/mcu_plus_sdk_am243x_08_03_00_18/tools/boot/sbl_prebuilt/am243x-lp/sbl_ospi.release.tiimage --operation=flash --flash-offset=0x0000
    Sent K:/Pool/decicher/ti/mcu_plus_sdk_am243x_08_03_00_18/tools/boot/sbl_prebuilt/am243x-lp/sbl_ospi.release.tiimage of size 297589 bytes in 31.21s.
    [ERROR] Incorrect magic number in Response Header !!!
    [INFO] Executing command 3 of 3 ...
    [INFO] Command arguments : --file=C:/Users/decicher/workspace_v12/ethernetip_adapter_mii_demo_am243x-evm_r5fss0-0_freertos_ti-arm-clang/Release/ethernetip_adapter_mii_demo_am243x-evm_r5fss0-0_freertos_ti-arm-clang.appimage --operation=flash --flash-offset=0x80000
    

    Or via terminal:

    PS K:\Pool\decicher\ti\mcu_plus_sdk_am243x_08_03_00_18\tools\boot> python uart_uniflash.py -p COM6 --cfg=C:/Users/decicher/Desktop/FLASH_sbl_ospi.cfg
    
    Parsing config file ...
    Parsing config file ... SUCCESS. Found 3 command(s) !!!
    
    Executing command 1 of 3 ...
    Found flash writer ... sending sbl_prebuilt/am243x-lp/sbl_uart_uniflash.release.tiimage
    Sent flashwriter sbl_prebuilt/am243x-lp/sbl_uart_uniflash.release.tiimage of size 291781 bytes in 28.06s.
    
    Executing command 2 of 3 ...
    Command arguments : --file=sbl_prebuilt/am243x-lp/sbl_ospi.release.tiimage --operation=flash --flash-offset=0x0
    Sending sbl_prebuilt/am243x-lp/sbl_ospi.release.tiimage:   0%|             | 2/297621 [01:50<9102:17:30, 110.10s/bytes]
    [ERROR] XMODEM send failed, no response OR incorrect response from EVM OR cancelled by user,
    Power cycle EVM and run this script again !!!

    BR

    Erik

  • Hi Erik,

    Can you please create another thread for the flash issue, So our flash expert can take a look at it.

    BR