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.

TIDA-010979: Bring up software development environment problems

Part Number: TIDA-010979

Hi Experts,

We have TIDA-010979 preliminary software released on 6 April including motor control and EtherCAT running on both cores.

The files and subfolders are shown as below where there is a ReadMe.txt describing overall bring up procedures. Some problems listed as below need your help. Thanks in advance for your great support.

 

 

 

 

 

 

 

Q1: In the ReadMe.txt as below snapshot, the motor control SDK is Windows version(*.exe) provided in the release. Could we install it in Windows and copy all files in SDK in Ubuntu OS? It's preferred for us to use Ubuntu environment. And could we use TI CCS 20.5 version instead of 12.8 mentioned in .ccsproject of robot_joint_am261x-tida-010979_system project?

image.png

 

Q2: In step 3, does 'Apply patch in EtherCAT Beckhoff CiA402 Beckhoff Demo Patch' mean we have to follow another Readme.txt under this sub-folder to apply TI_ECAT_CiA402.patch and TI_ESC_CiA402_application_modications.patch and rebuild EtherCAT firmware HAL libraries? If yes, after applying TI_ECAT_CiA402.patch (ecat_frame_handler_bin.h and ecat_host_interface_bin.h are both patched here), the step 3-1 mentions to overwrite them. Is it correct to do it?

image.png

Q3: Continuing Q2, after applying patch of TI_ESC_CiA402_application_modifications.patch, example.projectspec file is modified. Afterwards when we import this Beckhoff demo example project, it shows up two *.projectspec as below snapshot. It's supposed to select example_cia402_cpu0_1_projectspec. But actually example.projectspec does some patches. Any reason for this? Or we misunderstand something?

image.png

 

Q4: For step 6, we faced problem when patching cia402.patch as below snapshot. Could you please provide some suggestions on these errors?

image.png

 

Q5: After importing 3 projects and we build the system project, the other two projects (r5ss0-*) do not build automatically. Any solution for this problem in CCS 20.5?

Q6: The build configurations for r5ss0-0 are LAUNCHPAD and TIDA_010979; the ones for r5ss0-1 are Debug and Release. In system project, one problme we faced during build is that it cannot find debug/r5fss0-0.out. Is there fast way to set up different build configuration for 2 sub projects in CCS 20.5 instead of modifying makefile_system_ccs_bootimage_gen file?

 

Best Regards,

Robert Huang

  • Hello, 

    - Should generally be possible. The MC SDK package content is mostly source code, headers, and windows .exe installer mainly extracts the SDK into the default TI folder. However, copying the installed folder to Ubuntu is a manual workaround rather than a fully validated installer flow. Also, you may try the code in CCS theia, but the code is validated in CCS eclipse.

    - Yes

    -  The screen shot does not include the debug console and it's not possible to suggest solution.

    - Did you changed the "Build Configuration" to "release"?

    - All the "Build Configuration" should be on "release" once you followed the steps.

    Can you confirm if you have the video from us on how to patch the files?

    Best Regards,

    Masoud

  • Hi Masoud,

    To simply the things, we have duplicated actions on Windows PC and use CCS 12.8 (full installation) as recommended. When importing EtherCAT SSC demo project, it shows up following error message. We tried  'check for update' but error 'Some sites could not be found' prompted (snapshot as below). Could you please help check for us? Thanks in advance.

    'See details below...
    robot_joint_am261x-tida-010979_r5fss0-1
    Device 'Cortex R.AM261x' is not currently recognized:
    - Re-run CCS installer on your existing CCS location, ensure the Product Family for your device is selected, and proceed with installation if it wasn't.
    - See 'Help > Check for Updates' to check if support for this device is available through a CCS update.
    - Migrate the project to closest matching supported device by adjusting project properties.
    - Or contact TI for support if using experimental silicon.'

    BR, Robert Huang

  • Add one more question regarding step 6 in ReadMe.txt as below extraction for reference, the patch process stops due to error as below response. Please also help check this for us. Appreciate your help.
    6. Apply patch "cia402.patch" inside the new robot_joint_am261x-tida-010979_r5fss0-1 project folder
    1. copy the patch file into the robot_joint_am261x-tida-010979_r5fss0-1 project folder
    2. Open command line from this folder
    3. Execute "git apply cia402.patch -v"



    C:\Users\pega_user\workspace_ccstheia\robot_joint_am261x-tida-010979_r5fss0-1>git apply cia402.patch -v
    Checking patch cia402appl.c...
    error: while searching for:
    #include "tiescutils.h"
    #endif

    #ifdef CiA402_MOTOR_CONTROL
    #include <motor_control/control/math_blocks/IQmathLib.h>


    error: patch failed: cia402appl.c:66
    error: cia402appl.c: patch does not apply
    Checking patch cia402appl.h...
    error: while searching for:

    CiA402Objects Objects; /**< \brief CiA402 Axis object variable*/
    TOBJECT OBJMEM * ObjDic; /**< \brief Pointer to Axis specific object dictionary*/
    UINT16 axisIndex; /**< \brief CiA402 Axis index variable */
    }
    TCiA402Axis, *pTCiA402Axis;
    /** @}*/

    error: patch failed: cia402appl.h:634
    error: cia402appl.h: patch does not apply
    Checking patch ecat_def.h...
    error: while searching for:
    /**
    EOE_SUPPORTED: If the EoE services should be supported, then this switch shall be set. */
    #ifndef EOE_SUPPORTED
    #define EOE_SUPPORTED 1
    #endif

    /**

    error: patch failed: ecat_def.h:352
    error: ecat_def.h: patch does not apply
    Checking patch example.syscfg...
    Checking patch main.c...
    error: while searching for:
    StaticTask_t gMainTaskObj;
    TaskHandle_t gMainTask;

    void ethercat_subdevice_beckhoff_ssc_demo_main(void *args);

    void freertos_main(void *args)
    {
    ethercat_subdevice_beckhoff_ssc_demo_main(NULL);

    vTaskDelete(NULL);
    }

    error: patch failed: main.c:46
    error: main.c: patch does not apply
    Checking patch tiesceoefoe.c...
    Checking patch tiescsoc.c...
    Checking patch tiescutils.c...
    error: while searching for:
    /* Function Definitions */
    /* ========================================================================== */

    uint8_t task1_init()
    {
    uint8_t u8Err = 0;

    error: patch failed: tiescutils.c:105
    error: tiescutils.c: patch does not apply

    C:\Users\pega_user\workspace_ccstheia\robot_joint_am261x-tida-010979_r5fss0-1>

  • Hi Robert,

    We have a instruction video on how to run the whole reference design. Can you confirm if you have the video from us on how to patch the files? I'm guessing it'll solve most of the issues here.

    Best Regards,

    Masoud

  • Hi Masoud,

    Great to hear it. We don't have the video from your team and could you share it?

    BR, Robert Huang

  • Sure, Please share your email with me.

    Best Regards,

    Masoud

  • By the way, I've make a screen recording of the process following the readme.txt guild. If you need it, please share your email with me.

    BR, Robert Huang

  • I shared the video. Please follow and let me know if you face with issue.

    Best Regards,

    Masoud

  • Hi Masoud,

    A big difference is that Han doesn't proceed Readme.txt under 'EtherCAT Beckhoff CiA402 Beckhoff Demo Patch' folder where the steps Han has not done are TI_ESC_CiA402_application_modifications.patch (step 3) and Rebuild EtherCAT Firmware HAL Libraries(step 4). Please help double check they are not necessary to do. I'll also try it again without these two steps next week.

    BR, Robert Huang

  • Hi Masoud,

    We followed up the video and now it can build up three projects successfully and CCS debug on our custom board (same as TIDA-010979 reference design) without any source code modification (only change ECAT_SYNC_N to ECAT_SYNC in predefined symbol) where for r5fss0-0 build configuration, it's TIDA-010979; for others, it's Release. The uart message is shown as below FYI. There are 2 issues that we need your help with.

    1. Cannot scan AM261 slave device via TwinCAT 3 master

        We followed up this web page (https://software-dl.ti.com/processor-industrial-sw/esd/ind_comms_sdk/am261x/2025_00_00_08/docs/api_guide_am261x/ETHERCAT_SUBDEVICE_DEMO_TWINCAT.html) by using TI AM261x EtherCAT CiA402 sdk2025.xml provided from Han on 04/06 release instead but TwinCAT cannot scan any device. From IgH we used, the dmessage output is as below for your reference. From those, ECAT master can receive message from AM261 slave but something wrong in PDO entries. Could you please help check with this? Any further patch, instruction video or clues would help a lot.

       Note that we are not sure which port is IN port of ECAT so  we tried both and they are same problems.

    2. The both encoders returns angel but crc_err increments always at the both cases of exchanging encoder cables). Could you please help point out any possible root cause?

    -------------------------------------------------------- IgH ECAT master dmessage --------------------------------------------------------

    [1325312.462279] EtherCAT: Master driver 1.6.8 1.6.8-13-g6869c2ba
    [1325312.462749] EtherCAT: 1 master waiting for devices.
    [1325312.762282] ec_e1000e: EtherCAT-capable Intel(R) PRO/1000 Network Driver
    [1325312.762291] ec_e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
    [1325312.763577] ec_e1000e 0000:00:1f.6: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
    [1325312.852477] ec_e1000e 0000:00:1f.6 0000:00:1f.6 (uninitialized): registered PHC clock
    [1325312.926298] EtherCAT: Accepting 08:BF:B8:5A:43:D0 as main device for master 0.
    [1325313.022968] EtherCAT 0: Starting EtherCAT-IDLE thread.
    [1325313.023212] ec_e1000e 0000:00:1f.6 ecm0 (uninitialized): (PCI Express:2.5GT/s:Width x1) 08:bf:b8:5a:43:d0
    [1325313.023233] ec_e1000e 0000:00:1f.6 ecm0 (uninitialized): Intel(R) PRO/1000 Network Connection
    [1325313.023640] ec_e1000e 0000:00:1f.6 ecm0 (uninitialized): MAC: 15, PHY: 12, PBA No: FFFFFF-0FF
    [1325315.028433] ec_e1000e 0000:00:1f.6 ecm0 (uninitialized): NIC Link is Up 100 Mbps Full Duplex, Flow Control: None
    [1325315.028471] EtherCAT 0: Link state of ecm0 changed to UP.
    [1325315.029946] EtherCAT 0: 1 slave(s) responding on main device. Re-scanning on next possibility.
    [1325315.029957] EtherCAT 0: Slave states on main device: PREOP.
    [1325315.029961] EtherCAT 0: Re-scanning now.
    [1325315.030402] EtherCAT 0: Scanning bus.
    [1325315.055756] EtherCAT ERROR 0-0: SDO upload 0x1602:00 aborted.
    [1325315.055772] EtherCAT ERROR 0-0: SDO abort message 0x06020000: "This object does not exist in the object directory".
    [1325315.055779] EtherCAT ERROR 0-0: Failed to read number of mapped PDO entries.
    [1325315.055782] EtherCAT ERROR 0-0: Failed to read mapped PDO entries for PDO 0x1602.
    [1325315.057241] EtherCAT ERROR 0-0: SDO upload 0x1A02:00 aborted.
    [1325315.057254] EtherCAT ERROR 0-0: SDO abort message 0x06020000: "This object does not exist in the object directory".
    [1325315.057260] EtherCAT ERROR 0-0: Failed to read number of mapped PDO entries.
    [1325315.057263] EtherCAT ERROR 0-0: Failed to read mapped PDO entries for PDO 0x1A02.
    [1325315.058303] EtherCAT 0: Bus scanning completed in 29 ms.
    [1325315.058308] EtherCAT 0: Using slave 0 as DC reference clock.
    [1325315.058311] EtherCAT ERROR 0: Failed to calculate bus topology.
    [1325315.058314] EtherCAT 0: Starting EoE thread.
    [1325315.139946] EtherCAT WARNING 0-0: No sending response for eoe0a1 after 100 tries.
    [1325315.140144] EtherCAT ERROR 0-0: Mailbox error response received - Code 0x0002: "MBXERR_UNSUPPORTEDPROTOCOL".
    [1325315.140155] EtherCAT WARNING 0-0: Invalid mailbox response for eoe0a1.
    [1325315.140514] EtherCAT ERROR 0-0: Mailbox error response received - Code 0x0002: "MBXERR_UNSUPPORTEDPROTOCOL".
    [1325315.140525] EtherCAT WARNING 0-0: Invalid mailbox response for eoe0a1.
    [1325315.140710] EtherCAT ERROR 0-0: Mailbox error response received - Code 0x0002: "MBXERR_UNSUPPORTEDPROTOCOL".
    [1325315.140716] EtherCAT WARNING 0-0: Invalid mailbox response for eoe0a1.
    [1325316.067520] EtherCAT ERROR 0-0: Mailbox error response received - Code 0x0002: "MBXERR_UNSUPPORTEDPROTOCOL".
    [1325316.067536] EtherCAT WARNING 0-0: Invalid mailbox response for eoe0a1.
    [1325316.067850] EtherCAT ERROR 0-0: Mailbox error response received - Code 0x0002: "MBXERR_UNSUPPORTEDPROTOCOL".
    [1325316.067856] EtherCAT WARNING 0-0: Invalid mailbox response for eoe0a1.
    [1325317.089617] EtherCAT ERROR 0-0: Mailbox error response received - Code 0x0002: "MBXERR_UNSUPPORTEDPROTOCOL".
    [1325317.089630] EtherCAT WARNING 0-0: Invalid mailbox response for eoe0a1.
    [1325317.096583] EtherCAT ERROR 0-0: Mailbox error response received - Code 0x0002: "MBXERR_UNSUPPORTEDPROTOCOL".
    [1325317.096600] EtherCAT WARNING 0-0: Invalid mailbox response for eoe0a1.
    [1325317.539761] EtherCAT WARNING 0-0: No sending response for eoe0a1 after 100 tries.
    [1325317.539982] EtherCAT ERROR 0-0: Mailbox error response received - Code 0x0002: "MBXERR_UNSUPPORTEDPROTOCOL".
    [1325317.539991] EtherCAT WARNING 0-0: Invalid mailbox response for eoe0a1.
    [1325317.540161] EtherCAT ERROR 0-0: Mailbox error response received - Code 0x0002: "MBXERR_UNSUPPORTEDPROTOCOL".
    [1325317.540165] EtherCAT WARNING 0-0: Invalid mailbox response for eoe0a1.
    [1325317.664522] EtherCAT ERROR 0-0: Mailbox error response received - Code 0x0002: "MBXERR_UNSUPPORTEDPROTOCOL".
    [1325317.664538] EtherCAT WARNING 0-0: Invalid mailbox response for eoe0a1.
    [1325318.075303] EtherCAT WARNING 0-0: Other mailbox protocol response for eoe0a1.
    [1325318.075532] EtherCAT ERROR 0-0: Reception of CoE SDO description response failed: No response.
    [1325318.239558] EtherCAT ERROR 0-0: Mailbox error response received - Code 0x0002: "MBXERR_UNSUPPORTEDPROTOCOL".
    [1325318.239575] EtherCAT WARNING 0-0: Invalid mailbox response for eoe0a1.
    [1325318.239744] EtherCAT ERROR 0-0: Mailbox error response received - Code 0x0002: "MBXERR_UNSUPPORTEDPROTOCOL".
    [1325318.239750] EtherCAT WARNING 0-0: Invalid mailbox response for eoe0a1.
    [1325318.925602] EtherCAT ERROR 0-0: Mailbox error response received - Code 0x0002: "MBXERR_UNSUPPORTEDPROTOCOL".
    [1325318.925618] EtherCAT WARNING 0-0: Invalid mailbox response for eoe0a1.
    [1325318.925782] EtherCAT ERROR 0-0: Mailbox error response received - Code 0x0002: "MBXERR_UNSUPPORTEDPROTOCOL".
    [1325318.925788] EtherCAT WARNING 0-0: Invalid mailbox response for eoe0a1.
    [1325320.925439] EtherCAT ERROR 0-0: Mailbox error response received - Code 0x0002: "MBXERR_UNSUPPORTEDPROTOCOL".
    [1325320.925453] EtherCAT WARNING 0-0: Invalid mailbox response for eoe0a1.
    [1325321.879262] EtherCAT WARNING 0-0: No sending response for eoe0a1 after 100 tries.
    [1325321.879439] EtherCAT ERROR 0-0: Mailbox error response received - Code 0x0002: "MBXERR_UNSUPPORTEDPROTOCOL".
    [1325321.879449] EtherCAT WARNING 0-0: Invalid mailbox response for eoe0a1.
    [1325321.879616] EtherCAT ERROR 0-0: Mailbox error response received - Code 0x0002: "MBXERR_UNSUPPORTEDPROTOCOL".
    [1325321.879621] EtherCAT WARNING 0-0: Invalid mailbox response for eoe0a1.

    -------------------------------------------------------- r5fss0-1 booting up message --------------------------------------------------------

    BiSS-C PRU0 firmware: : 1.1.6 (release)


    BiSS-C PRU1 firmware: : 1.1.6 (release)


    Encoder 1: PRU-ICSS instance: 1, PRU-ICSS slice: 0

    Encoder 1: Channel 0 is enabled

    Encoder 1: length set to 19

    Encoder 2: PRU-ICSS instance: 1, PRU-ICSS slice: 1

    Encoder 2: Channel 0 is enabled

    Encoder 2: length set to 20

    Encoder 1: detected and running at frequency 1 MHz for BiSS-C instance 0

    Encoder 1: Delay in clock cycles: 1

    Encoder 2: detected and running at frequency 1 MHz for BiSS-C instance 1

    Encoder 2: Delay in clock cycles: 1

    Encoder 1: frequency changed to 10 MHz

    Encoder 2: frequency changed to 10 MHz

    Encoder 1: Singleturn Angle: 44.350, crc:0x6, otf crc:0x3e, e_w:0x0

    Encoder 2: Singleturn Angle: 36.852, crc:0xf, otf crc:0xe, e_w:0x0

    Configuring for periodic CAP mode. Cycle time is equal to the PWM frequency.
    BiSS C done!
    SDFM_enableExternalReset done!
    HAL_setParams done!
    initMotor1Handles done!
    1 done!
    2 done!
    3 done!
    4 done!
    5 done!
    6 done!
    7 done!
    8 done!
    9 done!
    PI setup done!
    ADRC_setParameters 1 done!
    ADRC_setParameters 2 done!
    ADRC_setParameters done!
    ADRC setup done!
    getControllers done!
    motor parameters setup done!
    10 done!
    11 done!
    initMotor1CtrlParameters done!
    HAL_MTR_setGateDriver done!
    setupDiagnostics done!
    Motor offset Calculation done!
    ISR setting done!
    SDFM INT Flag is: 0x80100000!
    clearInterruptFlag done!
    flagEnableSystem done!
    flagEnableRunAndIdentify done!
    PI setup done!
    ADRC_setParameters 1 done!
    ADRC_setParameters 2 done!
    ADRC_setParameters done!
    ADRC setup done!
    getControllers done!
    motor parameters setup done!
    [r5f0-1] 0.001037s : EtherCAT Device
    [r5f0-1] 0.001049s : EtherCAT Sample application
    [r5f0-1] 0.001064s : Revision/Type : x0590 Build : x0542
    [r5f0-1] 0.074971s : Firmware Version : 5.5.66
    [r5f0-1] 0.074989s : SYNC0 task started
    [r5f0-1] 0.076219s : SYNC1 task started
    Enc1: Ang:44.350, crc_err:107623 Enc2: Ang:36.852, crc_err:107679 Enc1: Ang:44.350, crc_err:107737 Enc2: Ang:36.852, crc_err:107795 Enc1: Ang:44.350, crc_err:107853 Enc2: Ang:36.853, crc_err:107911 Enc1: Ang:44.350, crc_err:107971 Enc2: Ang:36.852, crc_err:108027 Enc1: Ang:44.350, crc_err:108087 Enc2: Ang:36.854, crc_err:108145 Enc1: Ang:44.350, crc_err:108203 Enc2: Ang:36.853, crc_err:108261 Enc1: Ang:44.350, crc_err:108321 Enc2: Ang:36.852, crc_err:108377 Enc1: Ang:44.350, crc_err:108437 Enc2: Ang:36.853, crc_err:108495

    -------------------------------------------------------- r5fss0-1 booting up message (exchange encoder cables) --------------------------------------------------------

    BiSS-C PRU0 firmware: : 1.1.6 (release)


    BiSS-C PRU1 firmware: : 1.1.6 (release)


    Encoder 1: PRU-ICSS instance: 1, PRU-ICSS slice: 0

    Encoder 1: Channel 0 is enabled

    Encoder 1: length set to 19

    Encoder 2: PRU-ICSS instance: 1, PRU-ICSS slice: 1

    Encoder 2: Channel 0 is enabled

    Encoder 2: length set to 20

    Encoder 1: detected and running at frequency 1 MHz for BiSS-C instance 0

    Encoder 1: Delay in clock cycles: 1

    Encoder 2: detected and running at frequency 1 MHz for BiSS-C instance 1

    Encoder 2: Delay in clock cycles: 1

    Encoder 1: frequency changed to 10 MHz

    Encoder 2: frequency changed to 10 MHz

    Encoder 1: Singleturn Angle: 36.853, crc:0x7, otf crc:0xa, e_w:0x0

    Encoder 2: Singleturn Angle: 44.350, crc:0xd, otf crc:0x3d, e_w:0x0

    Configuring for periodic CAP mode. Cycle time is equal to the PWM frequency.
    BiSS C done!
    SDFM_enableExternalReset done!
    HAL_setParams done!
    initMotor1Handles done!
    1 done!
    2 done!
    3 done!
    4 done!
    5 done!
    6 done!
    7 done!
    8 done!
    9 done!
    PI setup done!
    ADRC_setParameters 1 done!
    ADRC_setParameters 2 done!
    ADRC_setParameters done!
    ADRC setup done!
    getControllers done!
    motor parameters setup done!
    10 done!
    11 done!
    initMotor1CtrlParameters done!
    HAL_MTR_setGateDriver done!
    setupDiagnostics done!
    Motor offset Calculation done!
    ISR setting done!
    SDFM INT Flag is: 0x80100000!
    clearInterruptFlag done!
    flagEnableSystem done!
    flagEnableRunAndIdentify done!
    PI setup done!
    ADRC_setParameters 1 done!
    ADRC_setParameters 2 done!
    ADRC_setParameters done!
    ADRC setup done!
    getControllers done!
    motor parameters setup done!
    [r5f0-1] 0.001037s : EtherCAT Device
    [r5f0-1] 0.001050s : EtherCAT Sample application
    [r5f0-1] 0.001064s : Revision/Type : x0590 Build : x0542
    [r5f0-1] 0.074972s : Firmware Version : 5.5.66
    [r5f0-1] 0.074989s : SYNC0 task started
    [r5f0-1] 0.076226s : SYNC1 task started
    Enc1: Ang:36.852, crc_err:107623 Enc2: Ang:44.350, crc_err:107679 Enc1: Ang:36.852, crc_err:107737 Enc2: Ang:44.349, crc_err:107795 Enc1: Ang:36.853, crc_err:107853 Enc2: Ang:44.350, crc_err:107911 Enc1: Ang:36.852, crc_err:107971 Enc2: Ang:44.350, crc_err:108027 Enc1: Ang:36.854, crc_err:108087 Enc2: Ang:44.350, crc_err:108145 Enc1: Ang:36.854, crc_err:108203 Enc2: Ang:44.350, crc_err:108261 Enc1: Ang:36.853, crc_err:108321 Enc2: Ang:44.350, crc_err:108377 Enc1: Ang:36.854, crc_err:108437 Enc2: Ang:44.350, crc_err:108495

    BR, Robert Huang

  • Hi Robert,

    Both r5fss0-0 and r5fss0-1 should be on "Release" build configuration. Also, Also the port close to JTAG is EtherCAT connection.

    Best Regards,

    Masoud