So, another #Rust #embassy #PicoW question.
I started out with embassy
examples and had a working thing that compiled and ran on a Pico W.
But then I wanted to use picoserve
and this ran me into some dumb looking dependency problems.
I fixed that by following advice to remove the git
entries from my Cargo.toml
.
However I then have a linker error, one that can be fixed by removing build.rs
- but then I get a binary that doesn't work on the Pico W: "entry point is not in mapped part of file"
I think that this is because build.rs
was adding these linker arguments: -C link-arg=--nmagic -C link-arg=-Tlink.x -C link-arg=-Tlink-rp.x
.
Any one of these being there causes the linker error. I assume something is missing from what needs to be linked in, thus the "undefined symbol" errors. But WHY is this different with the only difference being getting the same versions of packages from git vs crates?!
Edit: hacked a solution, see down-thread