- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi All,
I am trying to change compiler options in Eclipse and was wondering how to do this? I am hoping to add -mfloat-abi=soft.
Thank You,
George
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
in your makefile.mk file add the following line:
C_FLAGS += -mfloat-abi=soft
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
in your makefile.mk file add the following line:
C_FLAGS += -mfloat-abi=soft
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Still getting a "undefined reference to `__aeabi_i2f'"...
Any suggestions on why?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I added the line to the project makefile. It doesn't seem like it is including it in the make/gcc command because if I change it to something wrong it doesn't give me a makefile error.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Well, I tested the C_FLAGS issue myself with the ample project hello_sensor from the WICED Smart SDK 2.1.1.
If I add the following bad compiler flags to makefile.mk within the folder hello_sensor
C_FLAGS += -xxxxxx
and do a build in Eclipse I get the following output:
arm-none-eabi-gcc: error: language xxxxx not recognized
arm-none-eabi-gcc: error: language xxxxx not recognized
arm-none-eabi-gcc: error: language xxxxx not recognizedarm-none-eabi-gcc: error: language xxxxx not recognized
arm-none-eabi-gcc: error: language xxxxx not recognized
arm-none-eabi-gcc: error: language xxxxx not recognized
make[1]: *** [../../build/hello_sensor-BCM920736TAG_Q32-rom-ram-Wiced-release/sparinit.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [../../build/hello_sensor-BCM920736TAG_Q32-rom-ram-Wiced-release/spar_setup.o] Error 1
make[1]: *** [../../build/hello_sensor-BCM920736TAG_Q32-rom-ram-Wiced-release/hello_sensor.o] Error 1
make: *** [hello_sensor-BCM920736TAG_Q32] Error 2
So the C_FLAGS do make it to the make tool.
Please note that you have to make a clean build whenever you modify the makefile.mk.
To see what compiler flags are used you can add the following to the make parameters:
VERBOSE=1
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This is what I am getting out after adding the:
C_FLAGS += -mfloat-abi=soft
Any thoughts on why it isn't compiling?
21:39:19 **** Build of configuration Release for project WICED-Smart-SDK ****
/Users/gmelcer/Documents/WICED/WICED-Smart-SDK-2.1.1/WICED-Smart-SDK/make Box-BCM920736TAG_Q32 download VERBOSE=1
ADK parameters:
GCC_TOOL_DIR="../../Tools/ARM_GNU/bin/OSX/"
GCC_FLAGS="-isystem ../../Tools/ARM_GNU/include -isystem ../../Tools/ARM_GNU/lib/include -isystem ../../Tools/ARM_GNU/lib/include-fixed"
TC="wiced"
DIR="../../Apps/Box"
BLD="A_20736A1"
TOOLSBIN="../../Tools/common/OSX/"
BASE_IN="rom"
SPAR_IN="ram"
BIN_OUT_DIR="../../build/Box-BCM920736TAG_Q32-rom-ram-Wiced-release"
CGS_LIST="../../Platforms/BCM920736TAG_Q32/BCM20736A1.cgs"
CONFIG_DEFINITION="ConfigDef20732_ab.hdf"
PLATFORM_CGS_PATH="../../Platforms/BCM920736TAG_Q32/BCM20736A1.cgs"
APP_PATCH_DIR=""
PLATFORM_NV="EEPROM"
DEBUG=""
"Tools/common/OSX/make" -C Wiced-Smart/spar -j4 cgs
../../Tools/common/OSX/perl ../getChipNameLen.pl A_20736A1
../../Tools/common/OSX/echo A_20736A1 | ../../Tools/common/OSX/cut -c 3,4,5,6,7
../../Tools/common/OSX/echo A_20736A1 | ../../Tools/common/OSX/cut -c 8,9
../../Tools/common/OSX/echo A_20736A1 | ../../Tools/common/OSX/cut -c 1
../../Tools/common/OSX/echo A_20736A1 | ../../Tools/common/OSX/cut -d_ -f 3-
../../Tools/common/OSX/perl -nle 'printf( "0x%08X", hex($1) ) if /^[[:space:]]+Execution[[:space:]]Region[[:space:]]first_free_section_in_SRAM[[:space:]].*Base:[[:space:]]+(0x[[:alnum:]]+)/' ../tier2/brcm/mandatory/bld/20736/patch.lst
../../Tools/common/OSX/perl -nle 'printf( "0x%08X", (0x00200000 + 0x0000F000 - 256 - hex($1)) ) if /^[[:space:]]+Execution[[:space:]]Region[[:space:]]first_free_section_in_SRAM[[:space:]].*Base:[[:space:]]+(0x[[:alnum:]]+)/' ../tier2/brcm/mandatory/bld/20736/patch.lst
../../build/Box-BCM920736TAG_Q32-rom-ram-Wiced-release/box.o: In function `PID_Logic':
../../Tools/common/OSX/echo ""
../../Tools/common/OSX/echo ""
/Users/gmelcer/Documents/WICED/WICED-Smart-SDK-2.1.1/WICED-Smart-SDK/Wiced-Smart/spar/../../Apps/Box/box.c:925: undefined reference to `__aeabi_i2f'
../../Tools/ARM_GNU/bin/OSX/arm-none-eabi-gcc -isystem ../../Tools/ARM_GNU/include -isystem ../../Tools/ARM_GNU/lib/include -isystem ../../Tools/ARM_GNU/lib/include-fixed -E -x c -P -DIRAM_BEGIN=0x00204F70 -DIRAM_LEN=0x00009F90 -DIROM_BEGIN= -DIROM_LEN= -I ../../build/Box-BCM920736TAG_Q32-rom-ram-Wiced-release/ -o ../../build/Box-BCM920736TAG_Q32-rom-ram-Wiced-release/spar_ram_proc.ld gcc/spar_ram.ld
../../Tools/common/OSX/echo "Linking target ELF"
Linking target ELF
/Users/gmelcer/Documents/WICED/WICED-Smart-SDK-2.1.1/WICED-Smart-SDK/Wiced-Smart/spar/../../Apps/Box/box.c:925: undefined reference to `__aeabi_fmul'
/Users/gmelcer/Documents/WICED/WICED-Smart-SDK-2.1.1/WICED-Smart-SDK/Wiced-Smart/spar/../../Apps/Box/box.c:925: undefined reference to `__aeabi_f2iz'
../../Tools/ARM_GNU/bin/OSX/arm-none-eabi-ld --just-symbols=../tier2/brcm/mandatory/bld/20736/patch.elf ../../build/Box-BCM920736TAG_Q32-rom-ram-Wiced-release/spar_setup.o ../../build/Box-BCM920736TAG_Q32-rom-ram-Wiced-release/box.o ../../build/Box-BCM920736TAG_Q32-rom-ram-Wiced-release/sc620_ledcontroller_driver.o ../../build/Box-BCM920736TAG_Q32-rom-ram-Wiced-release/mma54XX_acceleometer_driver.o ../../build/Box-BCM920736TAG_Q32-rom-ram-Wiced-release/bq24295_battery_charger.o ../../build/Box-BCM920736TAG_Q32-rom-ram-Wiced-release/sparinit.o ../../build/Box-BCM920736TAG_Q32-rom-ram-Wiced-release/lib_installer.o -nostartfiles -nodefaultlibs -EL --cref --gc-sections -T ../../build/Box-BCM920736TAG_Q32-rom-ram-Wiced-release/spar_ram_proc.ld -Map ../../build/Box-BCM920736TAG_Q32-rom-ram-Wiced-release/A_20736A1-Box-rom-ram-spar.list -O2 --entry=Box_spar_crt_setup -z muldefs -nostdlib --start-group --end-group -o ../../build/Box-BCM920736TAG_Q32-rom-ram-Wiced-release/A_20736A1-Box-rom-ram-spar.elf
/Users/gmelcer/Documents/WICED/WICED-Smart-SDK-2.1.1/WICED-Smart-SDK/Wiced-Smart/spar/../../Apps/Box/box.c:929: undefined reference to `__aeabi_i2f'
/Users/gmelcer/Documents/WICED/WICED-Smart-SDK-2.1.1/WICED-Smart-SDK/Wiced-Smart/spar/../../Apps/Box/box.c:929: undefined reference to `__aeabi_fmul'
/Users/gmelcer/Documents/WICED/WICED-Smart-SDK-2.1.1/WICED-Smart-SDK/Wiced-Smart/spar/../../Apps/Box/box.c:929: undefined reference to `__aeabi_f2iz'
make[1]: *** [../../build/Box-BCM920736TAG_Q32-rom-ram-Wiced-release/A_20736A1-Box-rom-ram-spar.elf] Error 1
make: *** [Box-BCM920736TAG_Q32] Error 2
21:39:19 Build Finished (took 284ms)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Strange. Looks like the C_FLAGS do not make it to your compiler.
If I compile the hello_sensor.c with the additional C_FLAGS in the makefile.mk I do get the following output:
07:55:22 **** Build of configuration Release for project WICED-Smart-SDK **** /Users/stefan/Documents/WICED/WICED-Smart-SDK-2.1.1/WICED-Smart-SDK/make hello_sensor-BCM920736TAG_Q32 build VERBOSE=1 ADK parameters: GCC_TOOL_DIR="../../Tools/ARM_GNU/bin/OSX/" GCC_FLAGS="-isystem ../../Tools/ARM_GNU/include -isystem ../../Tools/ARM_GNU/lib/include -isystem ../../Tools/ARM_GNU/lib/include-fixed" TC="wiced" DIR="../../Apps/hello_sensor" BLD="A_20736A1" TOOLSBIN="../../Tools/common/OSX/" BASE_IN="rom" SPAR_IN="ram" BIN_OUT_DIR="../../build/hello_sensor-BCM920736TAG_Q32-rom-ram-Wiced-release" CGS_LIST="../../Platforms/BCM920736TAG_Q32/BCM20736A1.cgs" CONFIG_DEFINITION="ConfigDef20732_ab.hdf" PLATFORM_CGS_PATH="../../Platforms/BCM920736TAG_Q32/BCM20736A1.cgs" APP_PATCH_DIR="" PLATFORM_NV="EEPROM" DEBUG="" "Tools/common/OSX/make" -C Wiced-Smart/spar -j4 cgs ../../Tools/common/OSX/perl ../getChipNameLen.pl A_20736A1 ../../Tools/common/OSX/echo A_20736A1 | ../../Tools/common/OSX/cut -c 3,4,5,6,7 ../../Tools/common/OSX/echo A_20736A1 | ../../Tools/common/OSX/cut -c 8,9 ../../Tools/common/OSX/echo A_20736A1 | ../../Tools/common/OSX/cut -c 1 ../../Tools/common/OSX/echo A_20736A1 | ../../Tools/common/OSX/cut -d_ -f 3- Compiling hello_sensor.c ../../Tools/common/OSX/mkdir -p ../../build/hello_sensor-BCM920736TAG_Q32-rom-ram-Wiced-release ../../Tools/ARM_GNU/bin/OSX/arm-none-eabi-gcc -isystem ../../Tools/ARM_GNU/include -isystem ../../Tools/ARM_GNU/lib/include -isystem ../../Tools/ARM_GNU/lib/include-fixed -mfloat-abi=soft -DBCM20732 -DBB_20732A1 -DGPIO_NUMBER_OF_PINS=40 -DGPIO_MAX_PINS_PER_PORT=16 -DGPIO_NUMBER_OF_PORTS=3 -DNUM_SPIFFY_BLOCKS=2 -DDNUM_PATCH_ENTRIES=64 -DOVERLAY_SUPPORT -DCONFIG_IN_NVRAM -DASIC_BD_2045 -DSERIAL_FLASH -DBLE_LRK_LIST_SIZE=4 -DBLEAPP -funsigned-char -fshort-wchar -c -DCOMPILER_ARM -mlittle-endian -mcpu=cortex-m3 -mthumb -Os -g -Wa,-adhln -ffreestanding -DSPAR_CRT_SETUP=hello_sensor_spar_crt_setup -DSPAR_APP_SETUP=application_setup -D__TARGET_CPU_CORTEX_M3 -D__ARMCC_VERSION=220438 -I../../Apps/hello_sensor -I. -I../inc -I../cfa -I../bsp/inc -I../bleapp -I../bleapp/app -I../bleapp/utils -I../misc -I../../include -I../rtos/threadx -I../rtos/threadx/cm3 -I../bleapp/lestack/att -I../bleapp/lestack/l2cap -I../bleapp/lestack/blecm -I../bleapp/lestack/gatt -I../bleapp/lestack/profile -I../bleapp/lestack/smp -I../bleapp/lestack/ap -I. -Icommon -I../../Apps/hello_sensor -I../tier2/brcm/mandatory/bld/20736/.. -I../tier2/patch/inc -I../tier2/brcm/libraries/inc -I../../include/ -I../../include/Platforms/BCM920736TAG_Q32/ -I../../include/Drivers/ -I../../include/Drivers/20736 -o ../../build/hello_sensor-BCM920736TAG_Q32-rom-ram-Wiced-release/hello_sensor.o ../../Apps/hello_sensor/hello_sensor.c > ../../build/hello_sensor-BCM920736TAG_Q32-rom-ram-Wiced-release/hello_sensor.s ../../Tools/ARM_GNU/bin/OSX/arm-none-eabi-gcc -isystem ../../Tools/ARM_GNU/include -isystem ../../Tools/ARM_GNU/lib/include -isystem ../../Tools/ARM_GNU/lib/include-fixed -mfloat-abi=soft -DBCM20732 -DBB_20732A1 -DGPIO_NUMBER_OF_PINS=40 -DGPIO_MAX_PINS_PER_PORT=16 -DGPIO_NUMBER_OF_PORTS=3 -DNUM_SPIFFY_BLOCKS=2 -DDNUM_PATCH_ENTRIES=64 -DOVERLAY_SUPPORT -DCONFIG_IN_NVRAM -DASIC_BD_2045 -DSERIAL_FLASH -DBLE_LRK_LIST_SIZE=4 -DBLEAPP -funsigned-char -fshort-wchar -c -DCOMPILER_ARM -mlittle-endian -mcpu=cortex-m3 -mthumb -Os -g -Wa,-adhln -ffreestanding -DSPAR_CRT_SETUP=hello_sensor_spar_crt_setup -DSPAR_APP_SETUP=application_setup -D__TARGET_CPU_CORTEX_M3 -D__ARMCC_VERSION=220438 -I../../Apps/hello_sensor -I. -I../inc -I../cfa -I../bsp/inc -I../bleapp -I../bleapp/app -I../bleapp/utils -I../misc -I../../include -I../rtos/threadx -I../rtos/threadx/cm3 -I../bleapp/lestack/att -I../bleapp/lestack/l2cap -I../bleapp/lestack/blecm -I../bleapp/lestack/gatt -I../bleapp/lestack/profile -I../bleapp/lestack/smp -I../bleapp/lestack/ap -I. -Icommon -I../../Apps/hello_sensor -I../tier2/brcm/mandatory/bld/20736/.. -I../tier2/patch/inc -I../tier2/brcm/libraries/inc -I../../include/ -I../../include/Platforms/BCM920736TAG_Q32/ -I../../include/Drivers/ -I../../include/Drivers/20736 -MM -MP -MF ../../build/hello_sensor-BCM920736TAG_Q32-rom-ram-Wiced-release/hello_sensor.d ../../Apps/hello_sensor/hello_sensor.c ../../Tools/common/OSX/echo > ../../build/hello_sensor-BCM920736TAG_Q32-rom-ram-Wiced-release/spar_ram_overlays.ld ../../Tools/common/OSX/perl -nle 'printf( "0x%08X", hex($1) ) if /^[[:space:]]+Execution[[:space:]]Region[[:space:]]first_free_section_in_SRAM[[:space:]].*Base:[[:space:]]+(0x[[:alnum:]]+)/' ../tier2/brcm/mandatory/bld/20736/patch.lst ../../Tools/common/OSX/perl -nle 'printf( "0x%08X", (0x00200000 + 0x0000F000 - 256 - hex($1)) ) if /^[[:space:]]+Execution[[:space:]]Region[[:space:]]first_free_section_in_SRAM[[:space:]].*Base:[[:space:]]+(0x[[:alnum:]]+)/' ../tier2/brcm/mandatory/bld/20736/patch.lst ../../Tools/common/OSX/echo "" ../../Tools/common/OSX/echo "" ../../Tools/ARM_GNU/bin/OSX/arm-none-eabi-gcc -isystem ../../Tools/ARM_GNU/include -isystem ../../Tools/ARM_GNU/lib/include -isystem ../../Tools/ARM_GNU/lib/include-fixed -E -x c -P -DIRAM_BEGIN=0x00204F70 -DIRAM_LEN=0x00009F90 -DIROM_BEGIN= -DIROM_LEN= -I ../../build/hello_sensor-BCM920736TAG_Q32-rom-ram-Wiced-release/ -o ../../build/hello_sensor-BCM920736TAG_Q32-rom-ram-Wiced-release/spar_ram_proc.ld gcc/spar_ram.ld
So the -mfloat-abi=soft does make it to GCC in my case.
Can you please try it as well with the standard hello_sensor project?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ya, I have. It uses a third-party library which seams more trouble-prone to me but open to suggestions on this...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I was able to get hello sensor to compile with the soft-float flag enabled AND disabled (simply taking it out, so maybe it is enabled by default?). I was able to do this after adding a float data type and confirming a variety of the float operators work. I then added the failing piece of code from my custom project to hello_sensor. This is where the issue lays:
The lines (bolded) where the local floats are multiplied by the global integers caused the issue. When I brought the globally declared integers into PID_Logic() it all worked--again, with or without the 'C_FLAGS += -mfloat-abi=soft' line in the make file.
//PID code by:http://coder-tronics.com/pid-tutorial-c-code-example-pt2/
int d_Temp = 0; // This stores the old ADC value
int i_Temp = 0; // This stores the accumulated Integral value
int PWM_Temp = 166; // Given an initial value, after that just stores the old value for calculation
void PID_Logic()
{
//Local variables for PID
float Kp = 0.01; // The value for Proportional gain
float Ki = 0.01; // The value for Integral gain
float Kd = 0.0001; // The value for Differential gain
int Set_Point = 353; // The ADC reference point we are aiming to regulate to
int iMax = 100; // Used to prevent integral wind-up
int iMin = -100; // Used to prevent integral wind-up
int Err_Value; // Holds the calculated Error value
int P_Term; // Holds the calculated Proportional value
int I_Term; // Holds the calculated Integral value
int D_Term; // Holds the calculated Differential value
int new_ADC_value; // Holds the new ADC value
int PWM_Duty; // Holds the new PWM value
// More efficient to read this once and store as used 3 times
new_ADC_value = 0;//read_ADC();
Err_Value = (Set_Point - new_ADC_value);
// This calculates Proportional value, Kp is multiplied with Err_Value and the result is assigned to P_Term
P_Term = Kp * Err_Value;
// Prepare Integral value, add the current error value to the integral value and assign the total to i_Temp
i_Temp += Err_Value;
// Prevents integral wind-up, limits i_Temp from getting too positive or negative
if (i_Temp > iMax)
{i_Temp = iMax;}
else if (i_Temp < iMin)
{i_Temp = iMin;}
// Calculates the Integral value, Ki is multiplied with i_Temp and the result is assigned to I_Term
I_Term = Ki * i_Temp;
// Calculates Differential value, Kd is multiplied with (d_Temp minus new_ADC_value) and the result is assigned to D_Term
// The new_ADC_value will become the old ADC value on the next function call, this is assigned to d_Temp so it can be used
//D_Term = Kd * (d_Temp - Err_Value);
d_Temp = Err_Value;
/****** Now we have the P_Term, I_Term and D_Term *****/
PWM_Duty = PWM_Temp - (P_Term + I_Term + D_Term);
// PWM overflow prevention
if (PWM_Duty > 300)
{PWM_Duty = 300;}
else if (PWM_Duty < 30)
{PWM_Duty = 30;}
// Adjusts the PWM duty cycle
//adjust_PWM(PWM_Duty);
// Assigns the current PWM duty cycle value to PWM_Temp
PWM_Temp = PWM_Duty;
}
This is what my makefile looked like:
#
# Copyright 2014, Broadcom Corporation
# All Rights Reserved.
#
# This is UNPUBLISHED PROPRIETARY SOURCE CODE of Broadcom Corporation;
# the contents of this file may not be disclosed to third parties, copied
# or duplicated in any form, in whole or in part, without the prior
# written permission of Broadcom Corporation.
#
########################################################################
# Add Application sources here.
########################################################################
APP_SRC = hello_sensor.c
C_FLAGS += -mfloat-abi=soft
########################################################################
################ DO NOT MODIFY FILE BELOW THIS LINE ####################
########################################################################
These were the errors I was seeing:
12:02:55 **** Build of configuration Release for project WICED-Smart-SDK ****
/Users/gmelcer/Documents/WICED/WICED-Smart-SDK-2.1.1/WICED-Smart-SDK/make hello_sensor-BCM920736TAG_Q32 download VERBOSE=1
ADK parameters:
GCC_TOOL_DIR="../../Tools/ARM_GNU/bin/OSX/"
GCC_FLAGS="-isystem ../../Tools/ARM_GNU/include -isystem ../../Tools/ARM_GNU/lib/include -isystem ../../Tools/ARM_GNU/lib/include-fixed"
TC="wiced"
DIR="../../Apps/hello_sensor"
BLD="A_20736A1"
TOOLSBIN="../../Tools/common/OSX/"
BASE_IN="rom"
SPAR_IN="ram"
BIN_OUT_DIR="../../build/hello_sensor-BCM920736TAG_Q32-rom-ram-Wiced-release"
CGS_LIST="../../Platforms/BCM920736TAG_Q32/BCM20736A1.cgs"
CONFIG_DEFINITION="ConfigDef20732_ab.hdf"
PLATFORM_CGS_PATH="../../Platforms/BCM920736TAG_Q32/BCM20736A1.cgs"
APP_PATCH_DIR=""
PLATFORM_NV="EEPROM"
DEBUG=""
"Tools/common/OSX/make" -C Wiced-Smart/spar -j4 cgs
../../Tools/common/OSX/perl ../getChipNameLen.pl A_20736A1
../../Tools/common/OSX/echo A_20736A1 | ../../Tools/common/OSX/cut -c 3,4,5,6,7
../../Tools/common/OSX/echo A_20736A1 | ../../Tools/common/OSX/cut -c 8,9
../../Tools/common/OSX/echo A_20736A1 | ../../Tools/common/OSX/cut -c 1
../../Tools/common/OSX/echo A_20736A1 | ../../Tools/common/OSX/cut -d_ -f 3-
Compiling hello_sensor.c
../../Tools/common/OSX/mkdir -p ../../build/hello_sensor-BCM920736TAG_Q32-rom-ram-Wiced-release
../../Tools/ARM_GNU/bin/OSX/arm-none-eabi-gcc -isystem ../../Tools/ARM_GNU/include -isystem ../../Tools/ARM_GNU/lib/include -isystem ../../Tools/ARM_GNU/lib/include-fixed -mfloat-abi=soft -DBCM20732 -DBB_20732A1 -DGPIO_NUMBER_OF_PINS=40 -DGPIO_MAX_PINS_PER_PORT=16 -DGPIO_NUMBER_OF_PORTS=3 -DNUM_SPIFFY_BLOCKS=2 -DDNUM_PATCH_ENTRIES=64 -DOVERLAY_SUPPORT -DCONFIG_IN_NVRAM -DASIC_BD_2045 -DSERIAL_FLASH -DBLE_LRK_LIST_SIZE=4 -DBLEAPP -funsigned-char -fshort-wchar -c -DCOMPILER_ARM -mlittle-endian -mcpu=cortex-m3 -mthumb -Os -g -Wa,-adhln -ffreestanding -DSPAR_CRT_SETUP=hello_sensor_spar_crt_setup -DSPAR_APP_SETUP=application_setup -D__TARGET_CPU_CORTEX_M3 -D__ARMCC_VERSION=220438 -ffunction-sections -I../../Apps/hello_sensor -I. -I../inc -I../cfa -I../bsp/inc -I../bleapp -I../bleapp/app -I../bleapp/utils -I../misc -I../../include -I../rtos/threadx -I../rtos/threadx/cm3 -I../bleapp/lestack/att -I../bleapp/lestack/l2cap -I../bleapp/lestack/blecm -I../bleapp/lestack/gatt -I../bleapp/lestack/profile -I../bleapp/lestack/smp -I../bleapp/lestack/ap -I. -Icommon -I../../Apps/hello_sensor -I../tier2/brcm/mandatory/bld/20736/.. -I../tier2/patch/inc -I../tier2/brcm/libraries/inc -I../../include/ -I../../include/Platforms/BCM920736TAG_Q32/ -I../../include/Drivers/ -I../../include/Drivers/20736 -o ../../build/hello_sensor-BCM920736TAG_Q32-rom-ram-Wiced-release/hello_sensor.o ../../Apps/hello_sensor/hello_sensor.c > ../../build/hello_sensor-BCM920736TAG_Q32-rom-ram-Wiced-release/hello_sensor.s
../../Tools/ARM_GNU/bin/OSX/arm-none-eabi-gcc -isystem ../../Tools/ARM_GNU/include -isystem ../../Tools/ARM_GNU/lib/include -isystem ../../Tools/ARM_GNU/lib/include-fixed -mfloat-abi=soft -DBCM20732 -DBB_20732A1 -DGPIO_NUMBER_OF_PINS=40 -DGPIO_MAX_PINS_PER_PORT=16 -DGPIO_NUMBER_OF_PORTS=3 -DNUM_SPIFFY_BLOCKS=2 -DDNUM_PATCH_ENTRIES=64 -DOVERLAY_SUPPORT -DCONFIG_IN_NVRAM -DASIC_BD_2045 -DSERIAL_FLASH -DBLE_LRK_LIST_SIZE=4 -DBLEAPP -funsigned-char -fshort-wchar -c -DCOMPILER_ARM -mlittle-endian -mcpu=cortex-m3 -mthumb -Os -g -Wa,-adhln -ffreestanding -DSPAR_CRT_SETUP=hello_sensor_spar_crt_setup -DSPAR_APP_SETUP=application_setup -D__TARGET_CPU_CORTEX_M3 -D__ARMCC_VERSION=220438 -ffunction-sections -I../../Apps/hello_sensor -I. -I../inc -I../cfa -I../bsp/inc -I../bleapp -I../bleapp/app -I../bleapp/utils -I../misc -I../../include -I../rtos/threadx -I../rtos/threadx/cm3 -I../bleapp/lestack/att -I../bleapp/lestack/l2cap -I../bleapp/lestack/blecm -I../bleapp/lestack/gatt -I../bleapp/lestack/profile -I../bleapp/lestack/smp -I../bleapp/lestack/ap -I. -Icommon -I../../Apps/hello_sensor -I../tier2/brcm/mandatory/bld/20736/.. -I../tier2/patch/inc -I../tier2/brcm/libraries/inc -I../../include/ -I../../include/Platforms/BCM920736TAG_Q32/ -I../../include/Drivers/ -I../../include/Drivers/20736 -MM -MP -MF ../../build/hello_sensor-BCM920736TAG_Q32-rom-ram-Wiced-release/hello_sensor.d ../../Apps/hello_sensor/hello_sensor.c
../../Tools/common/OSX/echo > ../../build/hello_sensor-BCM920736TAG_Q32-rom-ram-Wiced-release/spar_ram_overlays.ld
../../Tools/common/OSX/perl -nle 'printf( "0x%08X", hex($1) ) if /^[[:space:]]+Execution[[:space:]]Region[[:space:]]first_free_section_in_SRAM[[:space:]].*Base:[[:space:]]+(0x[[:alnum:]]+)/' ../tier2/brcm/mandatory/bld/20736/patch.lst
../../Tools/common/OSX/perl -nle 'printf( "0x%08X", (0x00200000 + 0x0000F000 - 256 - hex($1)) ) if /^[[:space:]]+Execution[[:space:]]Region[[:space:]]first_free_section_in_SRAM[[:space:]].*Base:[[:space:]]+(0x[[:alnum:]]+)/' ../tier2/brcm/mandatory/bld/20736/patch.lst
../../Tools/common/OSX/echo ""
../../Tools/common/OSX/echo ""
../../Tools/ARM_GNU/bin/OSX/arm-none-eabi-gcc -isystem ../../Tools/ARM_GNU/include -isystem ../../Tools/ARM_GNU/lib/include -isystem ../../Tools/ARM_GNU/lib/include-fixed -E -x c -P -DIRAM_BEGIN=0x00204F70 -DIRAM_LEN=0x00009F90 -DIROM_BEGIN= -DIROM_LEN= -I ../../build/hello_sensor-BCM920736TAG_Q32-rom-ram-Wiced-release/ -o ../../build/hello_sensor-BCM920736TAG_Q32-rom-ram-Wiced-release/spar_ram_proc.ld gcc/spar_ram.ld
../../build/hello_sensor-BCM920736TAG_Q32-rom-ram-Wiced-release/hello_sensor.o: In function `PID_Logic':
/Users/gmelcer/Documents/WICED/WICED-Smart-SDK-2.1.1/WICED-Smart-SDK/Wiced-Smart/spar/../../Apps/hello_sensor/hello_sensor.c:789: undefined reference to `__aeabi_i2f'
../../Tools/common/OSX/echo "Linking target ELF"
/Users/gmelcer/Documents/WICED/WICED-Smart-SDK-2.1.1/WICED-Smart-SDK/Wiced-Smart/spar/../../Apps/hello_sensor/hello_sensor.c:789: undefined reference to `__aeabi_fmul'
/Users/gmelcer/Documents/WICED/WICED-Smart-SDK-2.1.1/WICED-Smart-SDK/Wiced-Smart/spar/../../Apps/hello_sensor/hello_sensor.c:789: undefined reference to `__aeabi_f2iz'
Linking target ELF
../../Tools/ARM_GNU/bin/OSX/arm-none-eabi-ld --just-symbols=../tier2/brcm/mandatory/bld/20736/patch.elf ../../build/hello_sensor-BCM920736TAG_Q32-rom-ram-Wiced-release/spar_setup.o ../../build/hello_sensor-BCM920736TAG_Q32-rom-ram-Wiced-release/hello_sensor.o ../../build/hello_sensor-BCM920736TAG_Q32-rom-ram-Wiced-release/sparinit.o ../../build/hello_sensor-BCM920736TAG_Q32-rom-ram-Wiced-release/lib_installer.o -nostartfiles -nodefaultlibs -EL --cref --gc-sections -T ../../build/hello_sensor-BCM920736TAG_Q32-rom-ram-Wiced-release/spar_ram_proc.ld -Map ../../build/hello_sensor-BCM920736TAG_Q32-rom-ram-Wiced-release/A_20736A1-hello_sensor-rom-ram-spar.list -O2 --entry=hello_sensor_spar_crt_setup -z muldefs -nostdlib --start-group --end-group -o ../../build/hello_sensor-BCM920736TAG_Q32-rom-ram-Wiced-release/A_20736A1-hello_sensor-rom-ram-spar.elf
/Users/gmelcer/Documents/WICED/WICED-Smart-SDK-2.1.1/WICED-Smart-SDK/Wiced-Smart/spar/../../Apps/hello_sensor/hello_sensor.c:793: undefined reference to `__aeabi_i2f'
/Users/gmelcer/Documents/WICED/WICED-Smart-SDK-2.1.1/WICED-Smart-SDK/Wiced-Smart/spar/../../Apps/hello_sensor/hello_sensor.c:793: undefined reference to `__aeabi_fmul'
/Users/gmelcer/Documents/WICED/WICED-Smart-SDK-2.1.1/WICED-Smart-SDK/Wiced-Smart/spar/../../Apps/hello_sensor/hello_sensor.c:793: undefined reference to `__aeabi_f2iz'
make[1]: *** [../../build/hello_sensor-BCM920736TAG_Q32-rom-ram-Wiced-release/A_20736A1-hello_sensor-rom-ram-spar.elf] Error 1
make: *** [hello_sensor-BCM920736TAG_Q32] Error 2
12:02:56 Build Finished (took 1s.245ms)
Does anyone know why this is?
I have a work around so it isn't a blocking issue but want to know the root-cause.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Roger,
I run a small product design firm called BoxUnfolded (www.boxunfolded.com) so our work changes. One of the more recent projects we did was GoKey which you can check out here:
indiegogo.com/projects/gokey-charger-cable-locator-memory-all-on-your-key-ring
If you scroll down on the updates section you can see pictures of some of the work we did. We handle hardware design, firmware, and app in-house. We partner for other aspects of the design.
Best,
George