11 Replies Latest reply on Nov 19, 2014 9:11 AM by userc_4243

    Setting Compiler Options in Eclipse

      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

        • 1. Re: Setting Compiler Options in Eclipse
          StBa_721356

          in your makefile.mk file add the following line:

          C_FLAGS += -mfloat-abi=soft

          1 of 1 people found this helpful
          • 2. Re: Setting Compiler Options in Eclipse

            Still getting a "undefined reference to `__aeabi_i2f'"...

             

            Any suggestions on why?

            • 3. Re: Setting Compiler Options in Eclipse

              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.

              • 4. Re: Setting Compiler Options in Eclipse
                StBa_721356

                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

                • 5. Re: Setting Compiler Options in Eclipse
                  StBa_721356

                  Btw: Have a look at the following thread: Floating-Point Arithmetic

                  • 6. Re: Setting Compiler Options in Eclipse

                    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)

                    • 7. Re: Setting Compiler Options in Eclipse

                      Ya, I have. It uses a third-party library which seams more trouble-prone to me but open to suggestions on this...

                      • 8. Re: Setting Compiler Options in Eclipse
                        StBa_721356

                        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?

                        1 of 1 people found this helpful
                        • 9. Re: Setting Compiler Options in Eclipse

                          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.

                          • 10. Re: Setting Compiler Options in Eclipse

                            Hi userc_4243,

                            what's your work around?

                            Can you please share?

                            thanks.

                            • 11. Re: Setting Compiler Options in Eclipse

                              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

                              1 of 1 people found this helpful