Error compiling

hi there am having trouble compiling some code :?

C:\\WinAVR-20100110\\eurorack>make -f braids/makefile
cat build/braids/analog_oscillator.d build/braids/braids.d build/braids/digital_
oscillator.d build/braids/macro_oscillator.d build/braids/resources.d build/brai
ds/settings.d build/braids/ui.d build/braids/adc.d build/braids/dac.d build/brai
ds/debug_pin.d build/braids/display.d build/braids/encoder.d build/braids/gate_i
nput.d build/braids/internal_adc.d build/braids/system.d build/braids/uart_logge
r.d build/braids/random.d build/braids/bootloader_utils.d build/braids/system_cl
ock.d build/braids/core_cm3.d build/braids/system_stm32f10x.d build/braids/misc.
d build/braids/stm32f10x_adc.d build/braids/stm32f10x_bkp.d build/braids/stm32f1
0x_can.d build/braids/stm32f10x_crc.d build/braids/stm32f10x_dac.d build/braids/
stm32f10x_dbgmcu.d build/braids/stm32f10x_dma.d build/braids/stm32f10x_exti.d bu
ild/braids/stm32f10x_flash.d build/braids/stm32f10x_fsmc.d build/braids/stm32f10
x_gpio.d build/braids/stm32f10x_i2c.d build/braids/stm32f10x_iwdg.d build/braids
/stm32f10x_pwr.d build/braids/stm32f10x_rcc.d build/braids/stm32f10x_rtc.d build
/braids/stm32f10x_sdio.d build/braids/stm32f10x_spi.d build/braids/stm32f10x_tim
.d build/braids/stm32f10x_usart.d build/braids/stm32f10x_wwdg.d build/braids/sta
rtup_stm32f10x_md.d > build/braids/depends.mk
C:\\mios32_toolchain\\bin/arm-none-eabi-gcc -Wl,-Map=build/braids/braids.map Wl,
-gc-sections -T stmlib/linker_scripts/stm32f10x_flash_md_application.ld -mcpu=co
rtex-m3 -mthumb -fno-unroll-loops -I. -DGCC_ARMCM3 -DSTM32F10X_MD -DAPPLICATION
-DF_CPU=72000000L -DF_CRYSTAL=8000000L -DUSE_STDPERIPH_DRIVER -DSYSCLK_FREQ_72M
Hz=72000000L -IC:\\WinAVR-20100110\\eurorack\\stmlib\\third_party\\STM/ -IC:\\WinAVR-2
0100110\\eurorack\\stmlib\\third_party\\STM//CMSIS/CM3_f10x -IC:\\WinAVR-20100110\\eur
orack\\stmlib\\third_party\\STM//CMSIS/CM3_f10x/startup/gcc -IC:\\WinAVR-20100110\\eu
rorack\\stmlib\\third_party\\STM//STM32F10x_StdPeriph_Driver/inc -LC:\\WinAVR-201001
10\\eurorack\\stmlib\\third_party\\STM/ -o build/braids/braids.elf build/braids/anal
og_oscillator.o build/braids/braids.o build/braids/digital_oscillator.o build/br
aids/macro_oscillator.o build/braids/resources.o build/braids/settings.o build/b
raids/ui.o build/braids/adc.o build/braids/dac.o build/braids/debug_pin.o build/
braids/display.o build/braids/encoder.o build/braids/gate_input.o build/braids/i
nternal_adc.o build/braids/system.o build/braids/uart_logger.o build/braids/rand
om.o build/braids/bootloader_utils.o build/braids/system_clock.o build/braids/co
re_cm3.o build/braids/system_stm32f10x.o build/braids/misc.o build/braids/stm32f
10x_adc.o build/braids/stm32f10x_bkp.o build/braids/stm32f10x_can.o build/braids
/stm32f10x_crc.o build/braids/stm32f10x_dac.o build/braids/stm32f10x_dbgmcu.o bu
ild/braids/stm32f10x_dma.o build/braids/stm32f10x_exti.o build/braids/stm32f10x_
flash.o build/braids/stm32f10x_fsmc.o build/braids/stm32f10x_gpio.o build/braids
/stm32f10x_i2c.o build/braids/stm32f10x_iwdg.o build/braids/stm32f10x_pwr.o buil
d/braids/stm32f10x_rcc.o build/braids/stm32f10x_rtc.o build/braids/stm32f10x_sdi
o.o build/braids/stm32f10x_spi.o build/braids/stm32f10x_tim.o build/braids/stm32
f10x_usart.o build/braids/stm32f10x_wwdg.o build/braids/startup_stm32f10x_md.o
c:/mios32_toolchain/bin/…/lib/gcc/arm-none-eabi/4.7.4/…/…/…/…/arm-none-eabi
/bin/ld.exe: build/braids/braids.elf section `.text’ will not fit in region `FLA
SH’
c:/mios32_toolchain/bin/…/lib/gcc/arm-none-eabi/4.7.4/…/…/…/…/arm-none-eabi
/bin/ld.exe: region `FLASH’ overflowed by 3520 bytes
collect2.exe: error: ld returned 1 exit status
make: ***** [build/braids/braids.elf] Error 1

any ideas

Hmmm, I’m using gcc v4.7.3 on a Mac as installed by the Jim Snyder tarball, and it produces binaries of the right size (i.e. about the same size that Olivier reports for v1.7). Is the binary bloat a Windows thing, I wonder?

Compile with gcc 4.5.2, or disable something (like the morse easter egg). Braids is now so packed that slight differences in code generation patterns between gcc versions are enough to push code size below/above the FLASH size limit.

thanks will try

@martindune, was that hacked firmware you were trying to compile, or the official v1.7 firmware? If the latter, I am surprised it was so much larger, different compiler versions notwithstanding.

Note to self: keep the compiler version you currently have installed, which is:

gcc version 4.7.3 (32-bit ARM EABI Toolchain JBS-FLOAT_IO-SGXXLITE_ML-2013.05-23-v2013.05-20-g7e710b6)

just normal firmware having trouble finding gcc 4.5.2 tho

can compile all others ie elements frames etc and braids bootloader but no braids?

The error message tells you that the code is too large for the flash. Braids is the only module that is really close to the limit, so it’s not surprising that you get an error message for it but not for the others.

ok so if i use the bootloader to flash the chip can i the upgrade using the .wav

Yes

brilliant, many thanks. still a bit annoying cannot get it to compile was pulling my hair out at 4 this morning