Comments (9)
@bootchk Sorry about that. Xargo v0.3.9 can't compile compiler-builtins -- this is a regression cf. japaric/xargo#167. Please switch back to version v0.3.8. (the command for that is cargo install xargo --vers 0.3.8
, IIRC)
from cortex-m-quickstart.
I see this is probably related to your PR about codegen units 32.
from cortex-m-quickstart.
Fixed in cortex-m-rt v0.3.6. Affected users try cargo update
.
from cortex-m-quickstart.
I completely rebuilt my vagga container (whose script follows the tutorial.) Now I get:
- "cargo" "build" "--release" "--manifest-path" "/tmp/xargo.2i7nVBhmkMAs/Cargo.toml" "--target" "thumbv7m-none-eabi" "-v" "-p" "compiler_builtins"
error: no matching version= 0.0.0
found for packagecompiler_builtins
(required bysysroot
)
location searched: file:///work/.home/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcompiler_builtins
versions found: 0.1.0
consider runningcargo update
to update a path dependency's locked version
For my commands:
echo Copied blinky.rs into project
cp blinky.rs demo/src/main.rs
cd demo
unset CARGO_INCREMENTAL
cargo clean
rm -rf ../.home/.xargo
cargo update
xargo build --target thumbv7m-none-eabi -v
arm-none-eabi-readelf -A target/thumbv7m-none-eabi/release/demo
?Related to rust-lang/cargo#4486
Again, I am rookie. Not sure when to do "cargo update" but if I rebuilt my container completely, I don't think I need it. My script for building the container (following the tutorial) could easily be flawed.
from cortex-m-quickstart.
Now:
= note: arm-none-eabi-ld:
The interrupt handlers are missing. If you are not linking to a device
crate then you supply the interrupt handlers yourself. Check the
documentation.
I will check that I built my "nordic" device crate correctly.
Please let me know if my reports are premature. Thanks for your work.
from cortex-m-quickstart.
But the tail of my blinky.rs is:
`// This part is the same as before
#[allow(dead_code)]
#[used]
#[link_section = ".rodata.interrupts"]
static INTERRUPTS: [extern "C" fn(); 240] = [default_handler; 240];
extern "C" fn default_handler() {
asm::bkpt();
}`
Which I think is the interrupt handler for all interrupt vectors.
from cortex-m-quickstart.
#[link_section = ".rodata.interrupts"]
The link section has been renamed to .vector_table.interrupts
in cortex-m-rt v0.3.x. it was .rodata.interrupts
in cortex-m-rt v0.2.x.
If you are linking to a device crate, a crate generated using svd2rust, make sure you are using the latest version of svd2rust with cortex-m-rt v0.3.x. The .vector_table.interrupts
link section comes from that crate.
from cortex-m-quickstart.
Thanks, it compiles and links now. Sorry for using stale version.
FYI I also tried lld-5.0. It doesn't find link.x down in the dependencies, and chokes on link.x syntax (lld not quite compatible with gcc ld scripts yet).
from cortex-m-quickstart.
FYI I also tried lld-5.0. It doesn't find link.x down in the dependencies, and chokes on link.x syntax (lld not quite compatible with gcc ld scripts yet).
Yeah, I know; I try lld every now and then. It would be great if lld had full support for ld-style linker scripts because we eventually (may) want to embed lld in rustc. If that happens then we wouldn't need arm-none-eabi-ld to link Cortex-M programs; we couild simply use the lld embedded in rustc.
from cortex-m-quickstart.
Related Issues (20)
- License files missing
- GDB Load Failed Due to Invalid memory.x Flash Layout
- Allocator example broken
- Document on a quickstart guide for Raspberry Pi Pico HOT 1
- Using probe-rs to initialise memory.x HOT 5
- Update VS Code Config to use unified stlink.cfg
- Make this repository a template HOT 4
- Debug have some problems "unknown command: `arm` " HOT 1
- "message": "failed to parse manifest at `/Users/tz/Downloads/cortex-m-quickstart-master/Cargo.toml`", HOT 2
- add a runner to flash program directly HOT 2
- Is it possible to run examples in `qemu`? HOT 1
- Error while following the Embedded Book HOT 2
- How to run the quickstart code on LPCXpresso55S69?
- cargo generate error HOT 3
- Instructions appear to be wrong HOT 2
- Statements in .cargo/config.toml and build.rs confusing
- Update for stm32l4 dependency causes linker error HOT 3
- Add documentation ARM v8 Baseline and Mainline (Cortex-M23/M33/M35P)
- Documentation or example for the allocator not working HOT 3
- Feature request: Confusing task names HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cortex-m-quickstart.