2v22 broke Nucleo F411 #7572
Replies: 1 comment
-
Posted at 2024-06-11 by AkosLukacs Update: looks like this espruino/Espruino@29a2432 is the issue. Sent a PR Posted at 2024-06-11 by @fanoush It is quite likely just the Posted at 2024-06-12 by @gfwilliams As I mentioned on the PR, those changes were made to reduce flash memory usage so we could continue to build for the board - ideally we don't just revert them all. But I guess that's the issue @fanoush - although the other STM32 boards (the original Espruino board and Pico) work absolutely fine! Just fixed the issue if you build again now - when the board didn't have a bootloader we were using 0x08000000 as the base address (although using 0 works too). Posted at 2024-06-12 by AkosLukacs Looks like For size the missing piece was really @gfwilliams In the commit the modifications Now with those changes the ST-Link just refuses to flash the built binary into the Nucleo. Flashes a couple of times, and a "FAIL.TXT" appears on the Nucleo's drive saying This board file was working for the F411 Nucleo before saw your commit:
Plenty of free flash: Posted at 2024-06-12 by @gfwilliams
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
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. Posted at 2024-06-12 by AkosLukacs First things first, pulled the latest (3cc72f8c5), did a build, flash, and it works! Thank you! Details below...
Ah, OK, just wasn't sure you missed something. I'm not that deep into Espruino's internals.
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:
But changing to
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
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. Posted at 2024-06-12 by @gfwilliams Ok, great! Sorry, my mistake - I'd forgotten there was an optimizeflags in the python file to override the defaults. I just put The binary offset of 0x08000000 is a bit of a pain. Being able to drag the firmware on is pretty useful though - so I've hopefully re-added it properly with a bit of explanation in there now Posted at 2024-06-12 by AkosLukacs Just checked, it works! |
Beta Was this translation helpful? Give feedback.
-
Posted at 2024-06-11 by AkosLukacs
Hi, looks like 2v22 broke the Nucleo F411 build. Seems to work on 2v21.
Both my Espruino Wifi and Pico seems to work with 2v22, and those have the same / similar uC.
Nucleo on 2v21:
After update via the built-in STLink:
Some basic commands work, but looks like even the simplest function call fails
I will try to dig deeper, haven't built the firmware yet :)
Beta Was this translation helpful? Give feedback.
All reactions