Questions and discussions about the software that runs on the TD RF module itself.
gertorro
 
Posts: 11
Joined: Mon Jul 04, 2016 11:34 am

Undefined reference in function TD_GEOLOC_Init()

by gertorro Fri Aug 12, 2016 9:40 am

Hi!
I was trying to add an ACC based event in my code when it would not compile any more. To be sure, I went back to the previous version of the code without the callback and tried to initialize the ACC and Geoloc with TD_GEOLOC_Init(); and TD_ACCELERO_Init();
The console reports this while compiling:
Code: Select all
11:31:29 **** Incremental Build of configuration TD1204 Release for project gosi_v01 ****
Info: Internal Builder is used for build
arm-none-eabi-gcc -DNDEBUG -DEFM32G210F128 -DMODULE_REVISION=REVISION_TD1204 "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\workspace\\gosi_v01\\inc" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtdgeoloc\\inc" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtdsensor\\inc" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtdrf\\inc" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtddrivers\\inc" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtdcore\\inc" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\emlib\\inc" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\Device\\EnergyMicro\\EFM32G\\Include" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\CMSIS\\Include" "-IC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtdtools\\inc" -Os -ffunction-sections -fdata-sections -Wall -c -fmessage-length=0 -mcpu=cortex-m3 -mthumb -o "src\\gosi_v01.o" "..\\src\\gosi_v01.c"
arm-none-eabi-gcc "-T..\\..\\Device\\EnergyMicro\\EFM32G\\Source\\G++\\efm32g.ld" -Xlinker --gc-sections "-LC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtdgeoloc\\GCC Release" "-LC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtdtools\\GCC Release" "-LC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtdsensor\\GCC Release" "-LC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtdrf\\GCC Release" "-LC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\libtdcore\\GCC Release" "-LC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\emlib\\GCC Release" "-LC:\\TD\\TD_RF_Module_SDK-v6.0.0\\Github\\TD_RF_Module_SDK\\lib\\Device\\GCC Release" -Wl,-Map,gosi_v01.map -mcpu=cortex-m3 -mthumb -o gosi_v01.elf "src\\gosi_v01.o" -ltdgeoloc -ltdtools -ltdsensor -ltdrf -ltdcore -lemlib -lDevice -lgcc -lc -lcs3 -lcs3unhosted
C:\TD\TD_RF_Module_SDK-v6.0.0\Github\TD_RF_Module_SDK\lib\libtdgeoloc\GCC Release\libtdgeoloc.a(td_geoloc.o): In function `TD_GEOLOC_Init':
td_geoloc.c:(.text.TD_GEOLOC_Init+0x6): undefined reference to `TD_UBX_PARSER_Init'
td_geoloc.c:(.text.TD_GEOLOC_Init+0x12): undefined reference to `TD_UBX_PARSER_SetDataPointer'
td_geoloc.c:(.text.TD_GEOLOC_Init+0x1e): undefined reference to `TD_UBX_PARSER_SetDataPointer'
td_geoloc.c:(.text.TD_GEOLOC_Init+0x2c): undefined reference to `TD_UBX_PARSER_SetDataPointer'
td_geoloc.c:(.text.TD_GEOLOC_Init+0x38): undefined reference to `TD_UBX_PARSER_SetDataPointer'
td_geoloc.c:(.text.TD_GEOLOC_Init+0x3c): undefined reference to `TD_UBX7_Init'
td_geoloc.c:(.text.TD_GEOLOC_Init+0x94): undefined reference to `TD_FLASH_InitLogger'
C:\TD\TD_RF_Module_SDK-v6.0.0\Github\TD_RF_Module_SDK\lib\libtdgeoloc\GCC Release\libtdgeoloc.a(td_accelero.o): In function `TD_ACCELERO_PowerDown':
td_accelero.c:(.text.TD_ACCELERO_PowerDown+0x1e): undefined reference to `TD_LIS3DH_Configure'
C:\TD\TD_RF_Module_SDK-v6.0.0\Github\TD_RF_Module_SDK\lib\libtdgeoloc\GCC Release\libtdgeoloc.a(td_accelero.o): In function `TD_ACCELERO_Init':
td_accelero.c:(.text.TD_ACCELERO_Init+0x42): undefined reference to `TD_LIS3DH_Init'
td_accelero.c:(.text.TD_ACCELERO_Init+0x96): undefined reference to `TD_LIS3DH_ClearIRQ'
td_accelero.c:(.text.TD_ACCELERO_Init+0xda): undefined reference to `TD_LIS3DH_ClearIRQ'
C:\TD\TD_RF_Module_SDK-v6.0.0\Github\TD_RF_Module_SDK\lib\libtdgeoloc\GCC Release\libtdgeoloc.a(td_accelero.o): In function `TD_ACCELERO_LowPower':
td_accelero.c:(.text.TD_ACCELERO_LowPower+0x24): undefined reference to `TD_LIS3DH_Configure'
C:\TD\TD_RF_Module_SDK-v6.0.0\Github\TD_RF_Module_SDK\lib\libtdgeoloc\GCC Release\libtdgeoloc.a(td_accelero.o): In function `TD_ACCELERO_MonitorEvent__DYNAMIC':
td_accelero.c:(.text.TD_ACCELERO_MonitorEvent__DYNAMIC+0x9e): undefined reference to `TD_LIS3DH_ConfigureEvent'
td_accelero.c:(.text.TD_ACCELERO_MonitorEvent__DYNAMIC+0xaa): undefined reference to `TD_LIS3DH_ConfigureInterrupt'
td_accelero.c:(.text.TD_ACCELERO_MonitorEvent__DYNAMIC+0xb8): undefined reference to `TD_LIS3DH_ConfigHighPass'
td_accelero.c:(.text.TD_ACCELERO_MonitorEvent__DYNAMIC+0xbc): undefined reference to `TD_LIS3DH_ClearIRQ'
td_accelero.c:(.text.TD_ACCELERO_MonitorEvent__DYNAMIC+0xc8): undefined reference to `LIS3DH_EnableInterrupt'
td_accelero.c:(.text.TD_ACCELERO_MonitorEvent__DYNAMIC+0xde): undefined reference to `LIS3DH_DisableInterrupt'
td_accelero.c:(.text.TD_ACCELERO_MonitorEvent__DYNAMIC+0xe6): undefined reference to `TD_LIS3DH_ConfigureInterrupt'
td_accelero.c:(.text.TD_ACCELERO_MonitorEvent__DYNAMIC+0x104): undefined reference to `LIS3DH_DisableInterrupt'
td_accelero.c:(.text.TD_ACCELERO_MonitorEvent__DYNAMIC+0x10c): undefined reference to `TD_LIS3DH_ConfigureInterrupt'
td_accelero.c:(.text.TD_ACCELERO_MonitorEvent__DYNAMIC+0x116): undefined reference to `TD_LIS3DH_ConfigureEvent'
td_accelero.c:(.text.TD_ACCELERO_MonitorEvent__DYNAMIC+0x11a): undefined reference to `TD_LIS3DH_ClearIRQ'
td_accelero.c:(.text.TD_ACCELERO_MonitorEvent__DYNAMIC+0x122): undefined reference to `TD_LIS3DH_ConfigHighPass'
C:\TD\TD_RF_Module_SDK-v6.0.0\Github\TD_RF_Module_SDK\lib\libtdgeoloc\GCC Release\libtdgeoloc.a(td_accelero.o): In function `TD_ACCELERO_Power':
td_accelero.c:(.text.TD_ACCELERO_Power+0x26): undefined reference to `TD_LIS3DH_Configure'
C:\TD\TD_RF_Module_SDK-v6.0.0\Github\TD_RF_Module_SDK\lib\libtdgeoloc\GCC Release\libtdgeoloc.a(td_accelero.o): In function `TD_ACCELERO_MonitorData__DYNAMIC':
td_accelero.c:(.text.TD_ACCELERO_MonitorData__DYNAMIC+0x7a): undefined reference to `LIS3DH_EnableInterrupt'
td_accelero.c:(.text.TD_ACCELERO_MonitorData__DYNAMIC+0x86): undefined reference to `TD_LIS3DH_ConfigureInterrupt'
td_accelero.c:(.text.TD_ACCELERO_MonitorData__DYNAMIC+0xb4): undefined reference to `TD_LIS3DH_SetFIFOMode'
td_accelero.c:(.text.TD_ACCELERO_MonitorData__DYNAMIC+0xd0): undefined reference to `LIS3DH_DisableInterrupt'
td_accelero.c:(.text.TD_ACCELERO_MonitorData__DYNAMIC+0xdc): undefined reference to `TD_LIS3DH_SetFIFOMode'
td_accelero.c:(.text.TD_ACCELERO_MonitorData__DYNAMIC+0xe0): undefined reference to `TD_LIS3DH_ClearIRQ'
collect2.exe: error: ld returned 1 exit status

11:31:30 Build Finished (took 703ms)

This are the paths in the project for eclipse under GNU C:
Captura.JPG
Captura.JPG (234.82 KiB) Viewed 2432 times


Also, I'm able to compile all the examples for the ACC/GEOLOC library.

Any idea of the cause of this behavior? Thanks for your time! ;)

Germán
gertorro
 
Posts: 11
Joined: Mon Jul 04, 2016 11:34 am

Re: Undefined reference in function TD_GEOLOC_Init()

by gertorro Tue Aug 16, 2016 7:08 am

Basically, I need a way to use both TD_Geoloc/TD_Accelero and TD_Tools on the same project. I've been trying to add the paths to the libraries to the project settings but it makes no effect.

Any Ideas?

Again, thank you for your time ;)
Regards,

Germán
Return to Firmware

Who is online

Users browsing this forum: No registered users and 28 guests