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.

AM437x INDSDK 2.1.1.2 - trying to build HRP/PRP examples

Other Parts Discussed in Thread: SYSBIOS

Team,

I am trying to build the HSR/PRP examples (C:\ti\sysbios_ind_sdk_2.1.1.2\sdk\examples\hsr_prp_app)  that are documented at:

http://processors.wiki.ti.com/index.php/SYSBIOS_Industrial_SDK_02.01.01_User_Guide?keyMatch=HSR/PRP&tisearch=Search-EN#HSR

It seems that importing the project from CCS does not work well. The C src code is not copied to the workspace. Same problem for the hsr_prp_app/snmp associated project. Most of the PATH are wrongly referenced.

Other example like the ethercat example import correctly and you can build it out of the box. But not the HSR/PRP projects.

Can you confirm that there is an issue with the import?

I have used CCS 6.0.1.000040, ndk_2_24_03_35, xdctools_3_30_03_47_core, sysbios_ind_sdk_2.1.1.2.


Thansk.

Anthony

  • Hi,
    Can you please share the console logs for the build errors?

    Regards.
    Vinesh
  • Hello Vinesh,

    I think i got same issues.
    My build log looks like

    'Building file: C:/Users/aparin/workspace_v6_1/snmp/mib_impl.c'
    'Invoking: GNU Compiler'
    "C:/ti/ccsv6/tools/compiler/gcc-arm-none-eabi-4_8-2014q3/bin/arm-none-eabi-gcc.exe" -c -mcpu=cortex-a9 -mtune=cortex-a9 -mfloat-abi=hard -D_INCLUDE_NIMU_CODE -DMEM_BARRIER_DISABLE -DAM43XX_FAMILY_BUILD -DBUILD_HSR_H -DCHANGE_MODE_RUN_TIME -I"C:/ti/ccsv6/tools/compiler/gcc-arm-none-eabi-4_8-2014q3/arm-none-eabi/include" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/starterware/library/third_party/ff9b/port" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/starterware/bootloader/include" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/starterware/library/third_party/ff9b/src" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/starterware/library/mmcsd/include" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/os_drivers/include" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/board/include" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/os_drivers/include/ICSS" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/os_drivers/lld/pruss" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/os_drivers/lld/emac" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/protocols/hsr_prp/firmware/hsr" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/starterware/include" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/starterware/include/hw" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/starterware/include/am43xx/am437x" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/starterware/include/am43xx" -I"C:/ti/ndk_2_24_03_35/packages/ti/ndk/inc" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/starterware/include/utils" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/starterware/device" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/protocols/hsr_prp/include" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/protocols/ptp/include" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/protocols/snmp/include" -g -gstrict-dwarf -Wall -MMD -MP -MF"snmp/mib_impl.d" -MT"snmp/mib_impl.d" -o"snmp/mib_impl.o" @"configPkg/compiler.opt" "C:/Users/aparin/workspace_v6_1/snmp/mib_impl.c"
    C:/Users/aparin/workspace_v6_1/snmp/mib_impl.c: In function 'var_ifEntry':
    C:/Users/aparin/workspace_v6_1/snmp/mib_impl.c:265:13: warning: passing argument 1 of 'getIfDescr' makes integer from pointer without a cast [enabled by default]
                 getIfDescr(&(ifp[interface]));
                 ^
    In file included from C:/Users/aparin/workspace_v6_1/snmp/mib_impl.c:18:0:
    C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/protocols/snmp/include/snmp_ndk_interface.h:81:7: note: expected 'int' but argument is of type 'struct ifEntry_mib *'
    char *getIfDescr(int interface);
           ^
    C:/Users/aparin/workspace_v6_1/snmp/mib_impl.c:290:13: warning: implicit declaration of function 'HSR_EmacSocMACAddrGet' [-Wimplicit-function-declaration]
                 HSR_EmacSocMACAddrGet(interface, (uint8_t *)(ifp[interface].ifPhysAddress));
                 ^
    'Finished building: C:/Users/aparin/workspace_v6_1/snmp/mib_impl.c'
    ' '
    'Building file: C:/Users/aparin/workspace_v6_1/snmp/mibvars.c'
    'Invoking: GNU Compiler'
    "C:/ti/ccsv6/tools/compiler/gcc-arm-none-eabi-4_8-2014q3/bin/arm-none-eabi-gcc.exe" -c -mcpu=cortex-a9 -mtune=cortex-a9 -mfloat-abi=hard -D_INCLUDE_NIMU_CODE -DMEM_BARRIER_DISABLE -DAM43XX_FAMILY_BUILD -DBUILD_HSR_H -DCHANGE_MODE_RUN_TIME -I"C:/ti/ccsv6/tools/compiler/gcc-arm-none-eabi-4_8-2014q3/arm-none-eabi/include" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/starterware/library/third_party/ff9b/port" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/starterware/bootloader/include" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/starterware/library/third_party/ff9b/src" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/starterware/library/mmcsd/include" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/os_drivers/include" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/board/include" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/os_drivers/include/ICSS" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/os_drivers/lld/pruss" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/os_drivers/lld/emac" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/protocols/hsr_prp/firmware/hsr" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/starterware/include" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/starterware/include/hw" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/starterware/include/am43xx/am437x" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/starterware/include/am43xx" -I"C:/ti/ndk_2_24_03_35/packages/ti/ndk/inc" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/starterware/include/utils" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/starterware/device" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/protocols/hsr_prp/include" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/protocols/ptp/include" -I"C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/protocols/snmp/include" -g -gstrict-dwarf -Wall -MMD -MP -MF"snmp/mibvars.d" -MT"snmp/mibvars.d" -o"snmp/mibvars.o" @"configPkg/compiler.opt" "C:/Users/aparin/workspace_v6_1/snmp/mibvars.c"
    'Finished building: C:/Users/aparin/workspace_v6_1/snmp/mibvars.c'
    ' '
    'Building file: C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/examples/hsr_prp_app/am437x_hsr_prp_app.cfg'
    'Invoking: XDCtools'
    "C:/ti/xdctools_3_32_00_06_core/xs" --xdcpath="C:/ti/bios_6_45_00_19/packages;C:/ti/ndk_2_24_03_35/packages;C:/ti/pdk_am437x_1_0_1/packages;C:/ti/edma3_lld_02_12_01_22/packages;" xdc.tools.configuro -o configPkg -t gnu.targets.arm.A9F -p ti.platforms.evmAM437X -r debug -c "C:/ti/ccsv6/tools/compiler/gcc-arm-none-eabi-4_8-2014q3" "C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/examples/hsr_prp_app/am437x_hsr_prp_app.cfg"
    configuring am437x_hsr_prp_app.xa9fg from package/cfg/am437x_hsr_prp_app_pa9fg.cfg ...
    js: "C:/ti/sysbios_ind_sdk_2.1.1.2/sdk/examples/hsr_prp_app/am437x_hsr_prp_app.cfg", line 16: xdc.services.global.XDCException: xdc.PACKAGE_NOT_FOUND: can't locate the package 'ti.sysbios.rta' along the path: 'C:/ti/bios_6_45_00_19/packages;C:/ti/ndk_2_24_03_35/packages;C:/ti/pdk_am437x_1_0_1/packages;C:/ti/edma3_lld_02_12_01_22/packages;C:/ti/xdctools_3_32_00_06_core/packages;..;'. Ensure that the package path is set correctly.
        "./package/cfg/am437x_hsr_prp_app_pa9fg.cfg", line 185
    xdctools_3_32_00_06_core\gmake.exe: *** [package/cfg/am437x_hsr_prp_app_pa9fg.xdl] Error 1
    js: "C:/ti/xdctools_3_32_00_06_core/packages/xdc/tools/Cmdr.xs", line 51: Error: xdc.tools.configuro: configuration failed due to earlier errors (status = 2); 'linker.cmd' deleted.
    gmake: *** [configPkg/linker.cmd] Error 1
    gmake: Target `all' not remade because of errors.
     
    **** Build Finished ****
    

  • Hi,

    Couple of things here -

    Regards,
    Vinesh

  • Hello, Vinesh.

    I checked you recommendations in some ways.


    1. I can't found where i can install RTA (not in App Center, not in repositaries (throw CCS install), not as standalone package).
    I tried to search manual about installation RTA but I can't, as I understand RTA included in another package (but I don't understand which)

    Can you get me direct link for repository and package name, that i should install?


    2.  I tried import without copy files to workspace, but I still can't compile project.
    Hardcoding is bad way, i think you understand. 

    Best regards, Vladimir

  • Vinesh, Vladimir,

    There seems to be depencies on the SYSBIOS version.

    For the hsr_app example I have the below conf:
       CCS 6.0.1.00040  (with GNU 4.7.4 (Linaro))
       sysbios_ind_sdk_2.1.1.2
       ndk_2_24_03_35

    - With bios_6_41_02_41 it builds out of the box.

    - with bios_6.42.2.29 I get the error mentions in the below E2E:
    https://e2e.ti.com/support/embedded/tirtos/f/355/t/450479#pi317008=1

    - with bios_6.45.1.29 I get the "can't locate the package 'ti.sysbios.rta' along the path".
    If I comment out the below line from the "am335x_hsr_prp_app.cfg" file then it builds ok (but I loose the log capability):

    //var Agent = xdc.useModule('ti.sysbios.rta.Agent');
    //Agent.sysbiosLoggerSize = 32565;
    //Agent.loadLogging = false;
    //Agent.mainLogging = false;
    //Agent.sysbiosSwiLogging = true;
    //Agent.sysbiosHwiLogging = true;


    As mentioned before the ethercat example can be build with both bios_6_41_02_41 and bios_6.45.1.29 without problems.
    It seems that the RTA setup is just a problem with the HSR/PRP projects.

    Next step is to try to build with CCS 6.1.2 now.

    A.

  • Vladimir,

    I was able to build with CCS 6.1.2 making some slight changes in the project properties and keeping the same SW packages ( sysbios_ind_sdk_2.1.1.2
       ndk_2_24_03_35, bios_6_41_02_41) as above except that I used  CCS 6.1.2  (with GNU 4.8.4 (Linaro)).

    I don't know why but it seem that after importing the project the build configuration was showing AM335x_debug and even after changing it the change did not reflect in the project explorer. I had to use "Manage configuration" button to force the config to be AM437x_debug.

    See pictures for the config used:

    I have not tried neither with bios_6_41_02_41 nor with bios_6.42.2.29 but as guess the same changes as mentioned from the previos post are needed.

    A.

  • Hello AnBer,

    I made all by your recommendations and now these projects are compiling.

    I see some interesting thing there:

    1. Your right, that there are some problems with build configuration. When I change it into AM437 it's required to correct some values as described in your post. I'm not sure how to fix it.
    2. Main problem, as I see, is described in build log with this configuration:
      warning: ti.sysbios.rta.Agent: "C:/ti/bios_6_41_02_41/packages/ti/sysbios/rta/Agent.xs", line 66: ti.sysbios.rta.Agent : This module is deprecated and will not be supported in a future release.  Please use the UIA product for the equivalent functionality.
    3. This message you can see only in full build output in file, because there are too many warnings (130+) in output and first messages in console was deleted. Even if uncheck "limit for console output" I still can't see these message in default console build output window.
    4. Required version of SysBIOS (6.41.02.41) is not showed on site now. I found direct link by Google for another version and correct link for right version http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/sysbios/6_41_02_41/index_FDS.html,  It's only way where I can get correct SYSBIOS version.

    As I understand TI going on new SysBIOS so there it's may be a problem for new developers. Because they can't found old versions of SysBIOS not on SYSBIOS page not on Processors SDK for AM437 page. At these same time new SYSBIOS make not pretty clear warning for this situation. I think, that right way - updating HSR/PRP examples to new BIOS and fix warning messages (most of them in unexpected type on input).

    Best Regards, Vladimir

  • Hi Vladimir,

    Thanks for the feedback.

    Just as a side note. The different SYSBIOS version publically released can be found here:
    http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/sysbios/

    A.