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.

Warnings building NDK and SYS/BIOS

Other Parts Discussed in Thread: AM3352, SYSBIOS, AM3359

We are porting over our application from using lwip to NDK. Here is our current configuration where we are using the USE_CPSW_DRIVER define :

Processor AM3352
Code Composer Version: 5.5.0.00077
Compiler TI v5.1.6
SYS/BIOS 6.35.4.50
NDK 2.23.2.03
XDCTools 3.25.1.65

     These versions are compatible according to the Industrial SDK 1.1.0.4:

http://processors.wiki.ti.com/index.php/AM335x_SYSBIOS_Industrial_SDK_01.01.00.04_User_Guide

    We get the following warnings when compiling eip_main.c, eip_ndk.c and hal.c:

'Building file: ../eip_main.c'
'Invoking: ARM Compiler'
"C:/ti/ccsv5_5/ccsv5/tools/compiler/arm_5.1.6/bin/armcl" -mv7A8 --code_state=32 --float_support=VFPv3 --abi=eabi -me --include_path="C:/ti/ccsv5_5/ccsv5/tools/compiler/arm_5.1.6/include" --include_path="C:/Users/jc/workspace_v5_5/PST_sysbios/AIRtrac" --include_path="C:/Users/jc/workspace_v5_5/PST_sysbios/SPI_driver" --include_path="C:/Users/jc/workspace_v5_5/PST_sysbios/NAND_driver" --include_path="C:/ti/ndk_2_23_02_03/packages" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.1.0.4/sdk/protocols/ethernetip_adapter/firmware" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.1.0.4/sdk/protocols/ethernetip_adapter/drivers" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.1.0.4/sdk/protocols/ethernetip_adapter/include" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.1.0.4/sdk/os_drivers/include" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.1.0.4/sdk/os_drivers/include/CPSW" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.1.0.4/sdk/os_drivers/include/ICSS" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.1.0.4/sdk/starterware" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.1.0.4/sdk/starterware/include" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.1.0.4/sdk/starterware/include/hw" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.1.0.4/sdk/starterware/include/armv7a" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.1.0.4/sdk/starterware/include/armv7a/am335x" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.1.0.4/sdk/platform/am335x/include" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.0.0.8/sdk/starterware/nandlib/include" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.0.0.8/sdk/starterware/usblib/include" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.0.0.8/sdk/starterware/usblib/host" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.0.0.8/sdk/starterware/third_party/fatfs/src" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.0.0.8/sdk/starterware/mmcsdlib/include" --include_path="C:/ti/AM335X_StarterWare_02_00_00_07/grlib/include" --include_path="C:/ti/AM335X_StarterWare_02_00_00_07/grlib/fonts" -g --gcc --define=am3359 --define=sys_bios_ind_sdk --define=idk_AM335x --define=evmAM335x --define=am335x --define=USE_CPSW_DRIVER --diag_warning=225 --display_error_number --diag_wrap=off --preproc_with_compile --preproc_dependency="eip_main.pp" --cmd_file="./configPkg/compiler.opt"  "../eip_main.c"
"C:\ti\ndk_2_23_02_03\packages\ti\ndk\inc\serrno.h", line 50: warning #48-D: incompatible redefinition of macro "ENXIO" (declared at line 72 of "C:/ti/ccsv5_5/ccsv5/tools/compiler/arm_5.1.6/include/errno.h")
"C:\ti\ndk_2_23_02_03\packages\ti\ndk\inc\serrno.h", line 53: warning #48-D: incompatible redefinition of macro "EBADF" (declared at line 59 of "C:/ti/ccsv5_5/ccsv5/tools/compiler/arm_5.1.6/include/errno.h")
"C:\ti\ndk_2_23_02_03\packages\ti\ndk\inc\serrno.h", line 56: warning #48-D: incompatible redefinition of macro "ENOMEM" (declared at line 70 of "C:/ti/ccsv5_5/ccsv5/tools/compiler/arm_5.1.6/include/errno.h")
"C:\ti\ndk_2_23_02_03\packages\ti\ndk\inc\serrno.h", line 57: warning #48-D: incompatible redefinition of macro "EACCES" (declared at line 57 of "C:/ti/ccsv5_5/ccsv5/tools/compiler/arm_5.1.6/include/errno.h")
"C:\ti\ndk_2_23_02_03\packages\ti\ndk\inc\serrno.h", line 66: warning #48-D: incompatible redefinition of macro "EINVAL" (declared at line 64 of "C:/ti/ccsv5_5/ccsv5/tools/compiler/arm_5.1.6/include/errno.h")
"C:\ti\ndk_2_23_02_03\packages\ti\ndk\inc\serrno.h", line 68: warning #48-D: incompatible redefinition of macro "EMFILE" (declared at line 67 of "C:/ti/ccsv5_5/ccsv5/tools/compiler/arm_5.1.6/include/errno.h")
"C:\ti\ndk_2_23_02_03\packages\ti\ndk\inc\serrno.h", line 80: warning #48-D: incompatible redefinition of macro "EINPROGRESS" (declared at line 96 of "C:/ti/ccsv5_5/ccsv5/tools/compiler/arm_5.1.6/include/errno.h")
"C:\ti\ndk_2_23_02_03\packages\ti\ndk\inc\serrno.h", line 86: warning #48-D: incompatible redefinition of macro "EMSGSIZE" (declared at line 97 of "C:/ti/ccsv5_5/ccsv5/tools/compiler/arm_5.1.6/include/errno.h")
"C:\ti\ndk_2_23_02_03\packages\ti\ndk\inc\serrno.h", line 108: warning #48-D: incompatible redefinition of macro "ETIMEDOUT" (declared at line 103 of "C:/ti/ccsv5_5/ccsv5/tools/compiler/arm_5.1.6/include/errno.h")
"C:/ti/am335x_sysbios_ind_sdk_1.1.0.4/sdk/starterware/include/hw/hw_cm_dpll.h", line 84: warning #1557-D: white space between backslash and newline in line splice ignored
'Finished building: ../eip_main.c'
' '

     The warnings seem to be related to the NDK and are only seen in eip_main.c, eip_ndk.c and hal.c which were added to the project to support NDK.

     Have we missed something obvious?

Thanks,

     John C.

  • John,

    As you can see, I think the warnings are conflicts between TI tools and NDK. These warnings do not cause any issues though, you can proceed with your development.

    Regards,
    Vinesh

  • Hi Vinesh,

         We just had concerns that there was some larger incompatibility that we were not aware of.

    Thanks,

         John C.

  • We also see a lot of these warnings about "splice ignored" so we thought there might be a larger issue.

    "C:/ti/am335x_sysbios_ind_sdk_1.1.0.4/sdk/starterware/include/hw/hw_gpmc.h", line 122: warning #1557-D: white space between backslash and newline in line splice ignored

  • Hi John,

    I recently just released NDK 2.24 which adds pre-processor protection for this.

    The NDK's serrno.h file now has "#ifndef EINVAL ... #define EINVAL ... #endif", for example, to protect against overriding the values defined by the compiler.

    If moving to a newer NDK isn't an issue for you, you might try it and see if it fixes those warnings (for macro redefines).


    Steve

  • Hey Steve,

         Installed the newest 2.24 NDK and still got the warnings. I don't think it is due to the eip_main.c failing just above it. Any suggestions?

    Thanks,

         John C.

    "C:/ti/am335x_sysbios_ind_sdk_1.1.0.4/sdk/protocols/ethernetip_adapter/drivers/icss_eip_driver.h", line 21: fatal error #1965: cannot open source file "icss_learning.h"

    >> Compilation failure
    1 catastrophic error detected in the compilation of "../eip_main.c".
    Compilation terminated.
    gmake: *** [eip_main.obj] Error 1
    'Building file: ../eip_ndk.c'
    'Invoking: ARM Compiler'
    "C:/ti/ccsv5_5/ccsv5/tools/compiler/arm_5.1.6/bin/armcl" -mv7A8 --code_state=32 --float_support=VFPv3 --abi=eabi -me --include_path="C:/ti/ccsv5_5/ccsv5/tools/compiler/arm_5.1.6/include" --include_path="C:/Users/jc/workspace_v5_5/PST_sysbios/AIRtrac" --include_path="C:/Users/jc/workspace_v5_5/PST_sysbios/SPI_driver" --include_path="C:/Users/jc/workspace_v5_5/PST_sysbios/NAND_driver" --include_path="C:/ti/ndk_2_24_00_11/packages" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.1.0.4/sdk/protocols/ethernetip_adapter/firmware" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.1.0.4/sdk/protocols/ethernetip_adapter/drivers" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.1.0.4/sdk/protocols/ethernetip_adapter/include" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.1.0.4/sdk/os_drivers/include" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.1.0.4/sdk/os_drivers/include/CPSW" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.1.0.4/sdk/starterware" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.1.0.4/sdk/starterware/include" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.1.0.4/sdk/starterware/include/hw" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.1.0.4/sdk/starterware/include/armv7a" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.1.0.4/sdk/starterware/include/armv7a/am335x" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.1.0.4/sdk/platform/am335x/include" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.0.0.8/sdk/starterware/nandlib/include" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.0.0.8/sdk/starterware/usblib/include" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.0.0.8/sdk/starterware/usblib/host" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.0.0.8/sdk/starterware/third_party/fatfs/src" --include_path="C:/ti/am335x_sysbios_ind_sdk_1.0.0.8/sdk/starterware/mmcsdlib/include" --include_path="C:/ti/AM335X_StarterWare_02_00_00_07/grlib/include" --include_path="C:/ti/AM335X_StarterWare_02_00_00_07/grlib/fonts" -g --gcc --define=am3359 --define=sys_bios_ind_sdk --define=idk_AM335x --define=evmAM335x --define=am335x --define=USE_CPSW_DRIVER --diag_warning=225 --display_error_number --diag_wrap=off --preproc_with_compile --preproc_dependency="eip_ndk.pp" --cmd_file="./configPkg/compiler.opt"  "../eip_ndk.c"
    "C:/ti/ccsv5_5/ccsv5/tools/compiler/arm_5.1.6/include/errno.h", line 51: warning #48-D: incompatible redefinition of macro "EPIPE" (declared at line 111 of "C:\ti\ccsv5_5\ndk_2_24_00_11\packages\ti\ndk\inc\serrno.h")
    "C:/ti/ccsv5_5/ccsv5/tools/compiler/arm_5.1.6/include/errno.h", line 57: warning #48-D: incompatible redefinition of macro "EACCES" (declared at line 80 of "C:\ti\ccsv5_5\ndk_2_24_00_11\packages\ti\ndk\inc\serrno.h")
    "C:/ti/ccsv5_5/ccsv5/tools/compiler/arm_5.1.6/include/errno.h", line 58: warning #48-D: incompatible redefinition of macro "EAGAIN" (declared at line 121 of "C:\ti\ccsv5_5\ndk_2_24_00_11\packages\ti\ndk\inc\serrno.h")
    "C:/ti/ccsv5_5/ccsv5/tools/compiler/arm_5.1.6/include/errno.h", line 59: warning #48-D: incompatible redefinition of macro "EBADF" (declared at line 69 of "C:\ti\ccsv5_5\ndk_2_24_00_11\packages\ti\ndk\inc\serrno.h")
    "C:/ti/ccsv5_5/ccsv5/tools/compiler/arm_5.1.6/include/errno.h", line 63: warning #48-D: incompatible redefinition of macro "EINTR" (declared at line 56 of "C:\ti\ccsv5_5\ndk_2_24_00_11\packages\ti\ndk\inc\serrno.h")
    "C:/ti/ccsv5_5/ccsv5/tools/compiler/arm_5.1.6/include/errno.h", line 64: warning #48-D: incompatible redefinition of macro "EINVAL" (declared at line 93 of "C:\ti\ccsv5_5\ndk_2_24_00_11\packages\ti\ndk\inc\serrno.h")
    "C:/ti/ccsv5_5/ccsv5/tools/compiler/arm_5.1.6/include/errno.h", line 67: warning #48-D: incompatible redefinition of macro "EMFILE" (declared at line 99 of "C:\ti\ccsv5_5\ndk_2_24_00_11\packages\ti\ndk\inc\serrno.h")
    "C:/ti/ccsv5_5/ccsv5/tools/compiler/arm_5.1.6/include/errno.h", line 70: warning #48-D: incompatible redefinition of macro "ENOMEM" (declared at line 76 of "C:\ti\ccsv5_5\ndk_2_24_00_11\packages\ti\ndk\inc\serrno.h")
    "C:/ti/ccsv5_5/ccsv5/tools/compiler/arm_5.1.6/include/errno.h", line 72: warning #48-D: incompatible redefinition of macro "ENXIO" (declared at line 62 of "C:\ti\ccsv5_5\ndk_2_24_00_11\packages\ti\ndk\inc\serrno.h")
    "C:/ti/ccsv5_5/ccsv5/tools/compiler/arm_5.1.6/include/errno.h", line 96: warning #48-D: incompatible redefinition of macro "EINPROGRESS" (declared at line 125 of "C:\ti\ccsv5_5\ndk_2_24_00_11\packages\ti\ndk\inc\serrno.h")
    "C:/ti/ccsv5_5/ccsv5/tools/compiler/arm_5.1.6/include/errno.h", line 97: warning #48-D: incompatible redefinition of macro "EMSGSIZE" (declared at line 140 of "C:\ti\ccsv5_5\ndk_2_24_00_11\packages\ti\ndk\inc\serrno.h")
    "C:/ti/ccsv5_5/ccsv5/tools/compiler/arm_5.1.6/include/errno.h", line 103: warning #48-D: incompatible redefinition of macro "ETIMEDOUT" (declared at line 207 of "C:\ti\ccsv5_5\ndk_2_24_00_11\packages\ti\ndk\inc\serrno.h")
    'Finished building: ../eip_ndk.c'
    ' '

  • Hi John,

    I just responded to your posts in this related thread.  I'll have a look at this next week and get back to you on it.

    Steve