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.

TMDSIDK437X: am4376 adc diagnostic porting issue

Part Number: TMDSIDK437X
Other Parts Discussed in Thread: SYSBIOS

Hello,

I am using tmdsidk4376 TI RTOS.

i am using rtos_template_app_am437x_a9 template.

I have copied C:\ti\pdk_am437x_1_0_17\packages\ti\board\diag\adc to base template.

I am using the board library for TMDSIDK4376.

I have also added related library for adc diag. 

1) C:\ti\pdk_am437x_1_0_17\packages\ti\starterware\binary\board\lib\am43xx-evm\a9\debug\gcc\libboard.a

2) C:\ti\pdk_am437x_1_0_17\packages\ti\starterware\binary\dal\lib\am43xx-evm\a9\debug\gcc\libdal.a

3) C:\ti\pdk_am437x_1_0_17\packages\ti\starterware\binary\soc\lib\am43xx-evm\a9\debug\gcc\libsoc.a

4) C:\ti\pdk_am437x_1_0_17\packages\ti\starterware\binary\utils\lib\am43xx-evm\a9\debug\gcc\libutils.a

I am facing issue in building the project.

below are the compilation error.


**** Build of configuration Debug for project rtos_template_app_am437x_a9 ****

"C:\\ti\\ccs1040\\ccs\\utils\\bin\\gmake" -k -j 12 all -O

Building file: "../main.cfg"
Invoking: XDCtools
"C:/ti/xdctools_3_55_02_22_core/xs" --xdcpath="C:/ti/bios_6_76_03_01/packages;C:/ti/pdk_am437x_1_0_17/packages;" xdc.tools.configuro -o configPkg -t gnu.targets.arm.A9F -p ti.platforms.evmAM437X -r release -c "C:/ti/ccs1040/ccs/tools/compiler/gcc-arm-none-eabi-7-2017-q4-major-win32" "../main.cfg"
making package.mak (because of package.bld) ...
generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...
configuring main.xa9fg from package/cfg/main_pa9fg.cfg ...
SoC Type is am437x
SoC Type is am437x
generating custom ti.sysbios library makefile ...
Linking with library ti.drv.spi:./lib/am437x/a9/release/ti.drv.spi.aa9fg
Linking with library ti.drv.gpio:./lib/am437x/a9/release/ti.drv.gpio.aa9fg
Linking with library ti.drv.uart:./lib/am437x/a9/release/ti.drv.uart.aa9fg
Linking with library ti.drv.i2c:./lib/am437x/a9/release/ti.drv.i2c.aa9fg
Linking with library ti.osal:./lib/tirtos/a9/release/ti.osal.aa9fg
Linking with library ti.csl:./lib/am437x/a9/release/ti.csl.aa9fg
Starting build of library sources ...
making C:/Users/20033229/workspace_v10/rtos_template_app_am437x_a9/src/sysbios/sysbios.aa9fg ...
Build of libraries done.
cla9fg package/cfg/main_pa9fg.c ...
Finished building: "../main.cfg"

Building file: "../adc_diag/main.c"
Invoking: GNU Compiler
"C:/ti/ccs1040/ccs/tools/compiler/gcc-arm-none-eabi-7-2017-q4-major-win32/bin/arm-none-eabi-gcc-7.2.1.exe" -c -mcpu=cortex-a9 -march=armv7-a -mtune=cortex-a9 -marm -mfloat-abi=hard -Dam4372 -DSOC_AM437x -DEVM_AM437X -DevmAM437x -I"C:/Users/20033229/workspace_v10/rtos_template_app_am437x_a9" -I"C:/ti/ccs1040/ccs/tools/compiler/gcc-arm-none-eabi-7-2017-q4-major-win32/arm-none-eabi/include" -I"C:/ti/pdk_am437x_1_0_17/packages/ti/starterware/board" -I"C:/ti/pdk_am437x_1_0_17/packages/ti/starterware/board/am43xx" -I"C:/ti/pdk_am437x_1_0_17/packages/ti/starterware/include" -I"C:/ti/pdk_am437x_1_0_17/packages/ti/starterware/include/am43xx" -I"C:/ti/pdk_am437x_1_0_17/packages/ti/starterware/include/am43xx/am437x" -I"C:/ti/pdk_am437x_1_0_17/packages/ti/starterware/include/hw" -I"C:/ti/pdk_am437x_1_0_17/packages/ti/starterware/include/utils" -Og -g -gdwarf-3 -gstrict-dwarf -Wall -MMD -MP -MF"adc_diag/main.d_raw" -MT"adc_diag/main.o" @"configPkg/compiler.opt" -o"adc_diag/main.o" "../adc_diag/main.c"
../adc_diag/main.c:75:0: warning: "E_FAIL" redefined
#define E_FAIL (-1)

In file included from ../adc_diag/main.c:44:0:
C:/ti/pdk_am437x_1_0_17/packages/ti/drv/uart/UART_stdio.h:59:0: note: this is the location of the previous definition
#define E_FAIL (-((int32_t)1))

Finished building: "../adc_diag/main.c"

Building target: "rtos_template_app_am437x_a9.out"
Invoking: GNU Linker
"C:/ti/ccs1040/ccs/tools/compiler/gcc-arm-none-eabi-7-2017-q4-major-win32/bin/arm-none-eabi-gcc-7.2.1.exe" -mtune=cortex-a9 -marm -Dam4372 -DSOC_AM437x -DEVM_AM437X -DevmAM437x -Og -g -gdwarf-3 -gstrict-dwarf -Wall -mfloat-abi=hard -Wl,-Map,"rtos_template_app_am437x_a9.map" -nostartfiles -static -Wl,--gc-sections -L"C:/ti/pdk_am437x_1_0_17/packages/ti/board/lib/idkAM437x/a9/release/" -L"C:/ti/bios_6_76_03_01/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/lib/hard" -Wl,--defsym,STACKSIZE=0x18000 -Wl,--defsym,HEAPSIZE=0x400 --specs=nano.specs -o"rtos_template_app_am437x_a9.out" "./adc_diag/main.o" -Wl,-T"configPkg/linker.cmd" -Wl,--start-group -l:ti.board.aa9fg -lgcc -lm -lrdimon -lc "C:/ti/pdk_am437x_1_0_17/packages/ti/starterware/binary/board/lib/am43xx-evm/a9/debug/gcc/libboard.a" "C:/ti/pdk_am437x_1_0_17/packages/ti/starterware/binary/dal/lib/am43xx-evm/a9/debug/gcc/libdal.a" "C:/ti/pdk_am437x_1_0_17/packages/ti/starterware/binary/soc/lib/am43xx-evm/a9/debug/gcc/libsoc.a" "C:/ti/pdk_am437x_1_0_17/packages/ti/starterware/binary/utils/lib/am43xx-evm/a9/debug/gcc/libutils.a" -Wl,--end-group
makefile:152: recipe for target 'rtos_template_app_am437x_a9.out' failed
C:/ti/pdk_am437x_1_0_17/packages/ti/starterware/binary/dal/lib/am43xx-evm/a9/debug/gcc/libdal.a(uart.o): In function `UARTModuleReset':
C:\ti\pdk_am437x_1_0_17\packages\ti\starterware\dal/uart.c:108: multiple definition of `UARTModuleReset'
C:\ti\pdk_am437x_1_0_17\packages\ti\csl\lib\am437x\a9\release\ti.csl.aa9fg(uart.oa9fg):C:/ti/pdk_am437x_1_0_17/packages/ti/csl/hw_types.h:525: first defined here
C:/ti/pdk_am437x_1_0_17/packages/ti/starterware/binary/dal/lib/am43xx-evm/a9/debug/gcc/libdal.a(uart.o): In function `UARTSubConfigMSRSPRModeEn':
C:\ti\pdk_am437x_1_0_17\packages\ti\starterware\dal/uart.c:1538: multiple definition of `UARTSubConfigMSRSPRModeEn'
C:\ti\pdk_am437x_1_0_17\packages\ti\csl\lib\am437x\a9\release\ti.csl.aa9fg(uart.oa9fg):C:\ti\pdk_am437x_1_0_17\packages\ti\csl/src/ip/uart/V1/priv/uart.c:569: first defined here
C:/ti/pdk_am437x_1_0_17/packages/ti/starterware/binary/dal/lib/am43xx-evm/a9/debug/gcc/libdal.a(uart.o): In function `UARTSubConfigTCRTLRModeEn':
C:\ti\pdk_am437x_1_0_17\packages\ti\starterware\dal/uart.c:1574: multiple definition of `UARTSubConfigTCRTLRModeEn'
C:\ti\pdk_am437x_1_0_17\packages\ti\csl\lib\am437x\a9\release\ti.csl.aa9fg(uart.oa9fg):C:\ti\pdk_am437x_1_0_17\packages\ti\csl/src/ip/uart/V1/priv/uart.c:612: first defined here
C:/ti/pdk_am437x_1_0_17/packages/ti/starterware/binary/dal/lib/am43xx-evm/a9/debug/gcc/libdal.a(uart.o): In function `UARTSubConfigXOFFModeEn':
C:\ti\pdk_am437x_1_0_17\packages\ti\starterware\dal/uart.c:1609: multiple definition of `UARTSubConfigXOFFModeEn'
C:\ti\pdk_am437x_1_0_17\packages\ti\csl\lib\am437x\a9\release\ti.csl.aa9fg(uart.oa9fg):uart.c:(.text.UARTSubConfigXOFFModeEn+0x0): first defined here
C:/ti/pdk_am437x_1_0_17/packages/ti/starterware/binary/dal/lib/am43xx-evm/a9/debug/gcc/libdal.a(uart.o): In function `UARTTCRTLRBitValRestore':
C:\ti\pdk_am437x_1_0_17\packages\ti\starterware\dal/uart.c:1645: multiple definition of `UARTTCRTLRBitValRestore'
C:\ti\pdk_am437x_1_0_17\packages\ti\csl\lib\am437x\a9\release\ti.csl.aa9fg(uart.oa9fg):C:\ti\pdk_am437x_1_0_17\packages\ti\csl/src/ip/uart/V1/priv/uart.c:699: first defined here
C:/ti/pdk_am437x_1_0_17/packages/ti/starterware/binary/dal/lib/am43xx-evm/a9/debug/gcc/libdal.a(uart.o): In function `UARTParityModeGet':
C:\ti\pdk_am437x_1_0_17\packages\ti\starterware\dal/uart.c:1674: multiple definition of `UARTParityModeGet'
C:\ti\pdk_am437x_1_0_17\packages\ti\csl\lib\am437x\a9\release\ti.csl.aa9fg(uart.oa9fg):C:/ti/pdk_am437x_1_0_17/packages/ti/csl/hw_types.h:474: first defined here
C:/ti/pdk_am437x_1_0_17/packages/ti/board/lib/idkAM437x/a9/release/\ti.board.aa9fg(idkAM437x_ethernet_config.oa9fg): In function `Board_GPIOPinConfig':
C:\ti\pdk_am437x_1_0_17\packages\ti\board/src/idkAM437x/idkAM437x_ethernet_config.c:135: undefined reference to `GPIODirModeSet'
C:\ti\pdk_am437x_1_0_17\packages\ti\board/src/idkAM437x/idkAM437x_ethernet_config.c:135: undefined reference to `GPIODirModeSet'
C:\ti\pdk_am437x_1_0_17\packages\ti\board/src/idkAM437x/idkAM437x_ethernet_config.c:138: undefined reference to `GPIODebounceFuncControl'
C:\ti\pdk_am437x_1_0_17\packages\ti\board/src/idkAM437x/idkAM437x_ethernet_config.c:138: undefined reference to `GPIODebounceFuncControl'
C:\ti\pdk_am437x_1_0_17\packages\ti\board/src/idkAM437x/idkAM437x_ethernet_config.c:152: undefined reference to `GPIOPinIntDisable'
C:\ti\pdk_am437x_1_0_17\packages\ti\board/src/idkAM437x/idkAM437x_ethernet_config.c:152: undefined reference to `GPIOPinIntDisable'
C:\ti\pdk_am437x_1_0_17\packages\ti\board/src/idkAM437x/idkAM437x_ethernet_config.c:177: undefined reference to `GPIOPinIntWakeUpEnable'
C:\ti\pdk_am437x_1_0_17\packages\ti\board/src/idkAM437x/idkAM437x_ethernet_config.c:177: undefined reference to `GPIOPinIntWakeUpEnable'
C:\ti\pdk_am437x_1_0_17\packages\ti\board/src/idkAM437x/idkAM437x_ethernet_config.c:160: undefined reference to `GPIOIntTypeSet'
C:\ti\pdk_am437x_1_0_17\packages\ti\board/src/idkAM437x/idkAM437x_ethernet_config.c:160: undefined reference to `GPIOIntTypeSet'
C:\ti\pdk_am437x_1_0_17\packages\ti\board/src/idkAM437x/idkAM437x_ethernet_config.c:163: undefined reference to `GPIOPinIntEnable'
C:\ti\pdk_am437x_1_0_17\packages\ti\board/src/idkAM437x/idkAM437x_ethernet_config.c:163: undefined reference to `GPIOPinIntEnable'
C:\ti\pdk_am437x_1_0_17\packages\ti\board/src/idkAM437x/idkAM437x_ethernet_config.c:169: undefined reference to `GPIOWakeupGlobalDisable'
C:\ti\pdk_am437x_1_0_17\packages\ti\board/src/idkAM437x/idkAM437x_ethernet_config.c:169: undefined reference to `GPIOWakeupGlobalDisable'
C:\ti\pdk_am437x_1_0_17\packages\ti\board/src/idkAM437x/idkAM437x_ethernet_config.c:172: undefined reference to `GPIOPinIntWakeUpDisable'
C:\ti\pdk_am437x_1_0_17\packages\ti\board/src/idkAM437x/idkAM437x_ethernet_config.c:172: undefined reference to `GPIOPinIntWakeUpDisable'
C:\ti\pdk_am437x_1_0_17\packages\ti\board/src/idkAM437x/idkAM437x_ethernet_config.c:146: undefined reference to `GPIODebounceTimeConfig'
C:\ti\pdk_am437x_1_0_17\packages\ti\board/src/idkAM437x/idkAM437x_ethernet_config.c:146: undefined reference to `GPIODebounceTimeConfig'
collect2.exe: error: ld returned 1 exit status
gmake[1]: *** [rtos_template_app_am437x_a9.out] Error 1
gmake: *** [all] Error 2
makefile:148: recipe for target 'all' failed

**** Build Finished ****

I am stuck with this issue for 10-15 days.

kindly guide.

Regards,

Vrund

  • Hello Vrund,

    C:/ti/pdk_am437x_1_0_17/packages/ti/starterware/binary/dal/lib/am43xx-evm/a9/debug/gcc/libdal.a(uart.o): In function `UARTModuleReset':
    C:\ti\pdk_am437x_1_0_17\packages\ti\starterware\dal/uart.c:108: multiple definition of `UARTModuleReset'
    C:\ti\pdk_am437x_1_0_17\packages\ti\csl\lib\am437x\a9\release\ti.csl.aa9fg(uart.oa9fg):C:/ti/pdk_am437x_1_0_17/packages/ti/csl/hw_types.h:525: first defined here

    This means the starterware and CSL both define the same function, and thus they can't be added to the same project. If you want to reuse the starterware example code together with the CSL, you'll have to modify the starterware code to use CSL functions.

    Regards,

    Jianzhong