Comments (15)
That sounds like the "abort-on-panic" feature has not been enabled for the cortex-m-rt crate. You can either enable that or provide your own panic_fmt
lang item.
from rtic.
I also updated the f3 crate to the 0.5.1 version.
If you are depending on the f3 crate, instead of re-using the f3 Cargo project, then you'll need to enable the cortex-m-rt feature like this:
[dependencies.cortex-m-rt]
features = ["abort-on-panic"]
version = "0.3.12"
from rtic.
I have the following in my Cargo.toml :
[dependencies.cortex-m-rt]
features = ["abort-on-panic"]
version = "0.3.0"
Here is my complete Cargo file :
[package]
name = "i2c_magnetic"
version = "0.1.0"
authors = ["clement"]
[dependencies]
cortex-m = "0.4.0"
cortex-m-rtfm = "0.3.1"
f3 = "0.5.1"
[dependencies.cortex-m-rt]
features = ["abort-on-panic"]
version = "0.3.0"
[dependencies.cortex-m-semihosting]
version = "0.2.0"
[profile.release]
debug = true
lto = true
[profile.dev]
codegen-units = 1
incremental = false
from rtic.
That looks correct. Hmm, you do have an extern crate f3
in your main.rs (or example files), right?
from rtic.
Give me a few minutes. Something definitively seems to be wrong in the f3 crate (it's missing the extern crate cortex_m_rt
) but for some reason my example are building / linking without errors. 😕
from rtic.
Just to rule out some rustc weirdness. What nightly version are you using? @clebi
from rtic.
Something definitively seems to be wrong in the f3 crate
Actually the f3 crate is OK. f3 is pulling cortex-m-rt into mix through its stm32f30x dependency. Perhaps you really are missing the extern crate f3
in your file? Do you have a branch for me to test?
from rtic.
I am on the nightly rustc 1.25.0-nightly (da569fa9d 2018-01-16).
I have the extern crate f3 in my main.rs:
#![feature(proc_macro)]
#![no_std]
extern crate cortex_m;
extern crate cortex_m_rtfm as rtfm;
extern crate cortex_m_semihosting as semihosting;
extern crate f3;
from rtic.
I don't see any obvious problem and I can't repro locally with the f3 examples. The only thing that occurs to me if you got a "lemon" version for the cortex-m-rt crate. v0.3.10 and v0.3.11 are broken and already yanked but if you updated your lockfile before I got to yank them you may be using the broken version. I suggest forcing the cortex-m-rt version to be at least v0.3.12 in your Cargo.toml.
from rtic.
My cortex-m-rt seems to be at version 0.3.12.
[[package]]
name = "cortex-m-rt"
version = "0.3.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"chrono 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"cortex-m 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"r0 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
"rustc_version 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
I can send you an archive of the project.
from rtic.
I can send you an archive of the project.
Please do.
from rtic.
Here it is: i2c_magnetic.zip
from rtic.
Oh, I see now. The "rt" feature of the stm32f30x needs to be enable or the cortex-m-rt won't be included in the dependency graph. You can work around the issue by adding these lines to your Cargo.toml:
[dependencies.stm32f30x]
version = "0.6.0"
features = ["rt"]
But I think it would make most sense to re-export the "rt" feature through the stm32f30x-hal and f3 crates.
from rtic.
It's working now ! thanks.
from rtic.
It's working now !
Yay!
thanks
Thank you for reporting the issue and pointing holes in the crates.
I'm closing this issue though because this should be fixed in stm32f30x-hal and f3.
from rtic.
Related Issues (20)
- Docs: Examples are broken and not showing HOT 3
- `atomic-polyfill` is deprecated
- rtic_monotonics 2.0 not in crates.io??? HOT 5
- Consider adding a hook to run code at the beginning of the entry point HOT 3
- SPI devices on shared bus (embedded-hal-bus) HOT 3
- Locked Status with Multiple Shared Resources HOT 2
- Software tasks and the stack HOT 2
- Support for embedded_alloc
- Call to SCB::sys_reset() results in locked up core. HOT 3
- rtic-monotonic on stm32 TIM20 or TIM17 HOT 2
- How to get the time stamp in a RTIC Rust Embedded application HOT 1
- Proplems while setting up rtic 2.1.1 HOT 2
- Multicore Support HOT 3
- How can I share the spawn handle? HOT 1
- rtic-monotonic panics HOT 9
- Cannot use higher priority tasks on STM32G030 with Embassy HAL
- Unit-Testing with RTIC v2
- rtic-monotonics v2.0.2 not compiling HOT 1
- rtic::app macro "should be producing references to ::core::result::Result, not unqualified Result"
- Typo in the migration guide's title.
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 rtic.