-
First things first, pulled the latest (3cc72f8c5), did a build, flash, and it works! Thank you!
Details below...
I know that! The important bit is the other line in builld_linker
Ah, OK, just wasn't sure you missed something. I'm not that deep into Espruino's internals.
But that's on by default for RELEASE=1 already??
Looks like for nRF and ESP make yes, but not for STM boards. After pull, with the latest arm gcc toolchain it's a bit over 370k just like you:
~/Espruino$ source scripts/provision.sh NUCLEOF411RE Provision BOARDNAME = NUCLEOF411RE Provision FAMILY = STM32F4 ===== ARM installing gcc-arm-embedded to Espruino/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin Folder found ~/Espruino$ make clean && BOARD=NUCLEOF411RE RELEASE=1 make ... bash scripts/check_size.sh bin/espruino_2v22.24_nucleof411re.bin GENDIR not set, assuming 'gen' PASS - size of 376968 is under 393216 bytes ... and ... bash scripts/check_size.sh bin/espruino_2v22.24_nucleof401re.bin GENDIR not set, assuming 'gen' PASS - size of 376936 is under 393216 bytes
But changing to
'optimizeflags' : '-Os'
bash scripts/check_size.sh bin/espruino_2v22.24_nucleof411re.bin GENDIR not set, assuming 'gen' PASS - size of 202624 is under 393216 bytes bash scripts/check_size.sh bin/espruino_2v22.24_nucleof401re.bin GENDIR not set, assuming 'gen' PASS - size of 202640 is under 393216 bytes
I know you're fine on the F411, but the F401 would fail. Even now it's:
The Nucleo F401 is fine - just checked the Nucleo's datasheet - it has an F401RE with the same half meg of flash as the Nucleo F411RE or the Espruino Wifi. "Only" the Espruino Pico has less flash. If the latest datasheet is correct. But I thought the same too :)
Changing
'optimizeflags' : '-O3',
for the Wifi, fails that build too:/home/akos/Espruino/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: bin/espruino_2v22.24_wifi.elf section `.text' will not fit in region `FLASH' /home/akos/Espruino/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: region `FLASH' overflowed by 99136 bytes collect2: error: ld returned 1 exit status make: *** [make/targets/ARM.make:3: bin/espruino_2v22.24_wifi.elf] Error 1
How are you sending the file? It worked fine for my using st-util (STLink) which uses the binary.
This was my mistake, just drag & dropped binary to the Nucleo's mass storage device. Did work before, but doesn't like the new start address. The fantastic STM32CubeProgrammer does work.
I know - pretty sure I checked the Pico with that flag added in though - as far as I can see the issue is the 0x08000000 base address only if there's no bootloader
I know that! The important bit is the other line in builld_linker
But that's on by default for
RELEASE=1
already??How are you sending the file? It worked fine for my using st-util (STLink) which uses the binary.
I know you're fine on the F411, but the F401 would fail. Even now it's:
And I want to keep the F401 and F411 kind of similar if possible.