mirror of
https://github.com/rtic-rs/rtic.git
synced 2024-11-26 05:29:38 +01:00
Merge #388
388: Now core contains the same `Peripherals` type based on monotonic r=AfoHT a=korken89 Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
This commit is contained in:
commit
b8665a2f31
4 changed files with 36 additions and 8 deletions
28
examples/t-schedule-core-stable.rs
Normal file
28
examples/t-schedule-core-stable.rs
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
//! [compile-pass] Check `schedule` code generation
|
||||||
|
|
||||||
|
#![deny(unsafe_code)]
|
||||||
|
#![deny(warnings)]
|
||||||
|
#![no_main]
|
||||||
|
#![no_std]
|
||||||
|
|
||||||
|
use panic_halt as _;
|
||||||
|
|
||||||
|
#[rtic::app(device = lm3s6965, monotonic = rtic::cyccnt::CYCCNT)]
|
||||||
|
mod app {
|
||||||
|
#[init]
|
||||||
|
fn init(c: init::Context) -> init::LateResources {
|
||||||
|
let _c: rtic::Peripherals = c.core;
|
||||||
|
|
||||||
|
init::LateResources {}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[task]
|
||||||
|
fn some_task(_: some_task::Context) {}
|
||||||
|
|
||||||
|
// RTIC requires that unused interrupts are declared in an extern block when
|
||||||
|
// using software tasks; these free interrupts will be used to dispatch the
|
||||||
|
// software tasks.
|
||||||
|
extern "C" {
|
||||||
|
fn SSI0();
|
||||||
|
}
|
||||||
|
}
|
|
@ -15,7 +15,7 @@ pub fn codegen(ctxt: Context, resources_tick: bool, app: &App, extra: &Extra) ->
|
||||||
let mut lt = None;
|
let mut lt = None;
|
||||||
match ctxt {
|
match ctxt {
|
||||||
Context::Init => {
|
Context::Init => {
|
||||||
if app.uses_schedule() {
|
if extra.monotonic.is_some() {
|
||||||
let m = extra.monotonic();
|
let m = extra.monotonic();
|
||||||
|
|
||||||
fields.push(quote!(
|
fields.push(quote!(
|
||||||
|
@ -277,7 +277,7 @@ pub fn codegen(ctxt: Context, resources_tick: bool, app: &App, extra: &Extra) ->
|
||||||
};
|
};
|
||||||
|
|
||||||
let core = if ctxt.is_init() {
|
let core = if ctxt.is_init() {
|
||||||
if app.uses_schedule() {
|
if extra.monotonic.is_some() {
|
||||||
Some(quote!(core: rtic::Peripherals,))
|
Some(quote!(core: rtic::Peripherals,))
|
||||||
} else {
|
} else {
|
||||||
Some(quote!(core: rtic::export::Peripherals,))
|
Some(quote!(core: rtic::export::Peripherals,))
|
||||||
|
|
|
@ -31,11 +31,11 @@ error[E0425]: cannot find value `FOO` in this scope
|
||||||
error: duplicate lang item in crate `panic_halt` (which `$CRATE` depends on): `panic_impl`.
|
error: duplicate lang item in crate `panic_halt` (which `$CRATE` depends on): `panic_impl`.
|
||||||
|
|
|
|
||||||
= note: the lang item is first defined in crate `std` (which `$CRATE` depends on)
|
= note: the lang item is first defined in crate `std` (which `$CRATE` depends on)
|
||||||
= note: first definition in `std` loaded from /usr/share/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-cf0f33af3a901778.rlib
|
= note: first definition in `std` loaded from /usr/share/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-f14aca24435a5414.rlib
|
||||||
= note: second definition in `panic_halt` loaded from $DIR/target/tests/target/x86_64-unknown-linux-gnu/debug/deps/libpanic_halt-ba6f0ab3439cbc7e.rmeta
|
= note: second definition in `panic_halt` loaded from $DIR/target/tests/target/x86_64-unknown-linux-gnu/debug/deps/libpanic_halt-33949299fdfa2375.rmeta
|
||||||
|
|
||||||
error: duplicate lang item in crate `panic_semihosting`: `panic_impl`.
|
error: duplicate lang item in crate `panic_semihosting`: `panic_impl`.
|
||||||
|
|
|
|
||||||
= note: the lang item is first defined in crate `panic_halt` (which `$CRATE` depends on)
|
= note: the lang item is first defined in crate `panic_halt` (which `$CRATE` depends on)
|
||||||
= note: first definition in `panic_halt` loaded from $DIR/target/tests/target/x86_64-unknown-linux-gnu/debug/deps/libpanic_halt-ba6f0ab3439cbc7e.rmeta
|
= note: first definition in `panic_halt` loaded from $DIR/target/tests/target/x86_64-unknown-linux-gnu/debug/deps/libpanic_halt-33949299fdfa2375.rmeta
|
||||||
= note: second definition in `panic_semihosting` loaded from $DIR/target/tests/target/x86_64-unknown-linux-gnu/debug/deps/libpanic_semihosting-805015f4a2d05965.rmeta
|
= note: second definition in `panic_semihosting` loaded from $DIR/target/tests/target/x86_64-unknown-linux-gnu/debug/deps/libpanic_semihosting-f97442f9ee5cfc78.rmeta
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
error: duplicate lang item in crate `panic_halt` (which `$CRATE` depends on): `panic_impl`.
|
error: duplicate lang item in crate `panic_halt` (which `$CRATE` depends on): `panic_impl`.
|
||||||
|
|
|
|
||||||
= note: the lang item is first defined in crate `std` (which `$CRATE` depends on)
|
= note: the lang item is first defined in crate `std` (which `$CRATE` depends on)
|
||||||
= note: first definition in `std` loaded from /usr/share/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-cf0f33af3a901778.rlib
|
= note: first definition in `std` loaded from /usr/share/rust/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-f14aca24435a5414.rlib
|
||||||
= note: second definition in `panic_halt` loaded from $DIR/target/tests/target/x86_64-unknown-linux-gnu/debug/deps/libpanic_halt-ba6f0ab3439cbc7e.rmeta
|
= note: second definition in `panic_halt` loaded from $DIR/target/tests/target/x86_64-unknown-linux-gnu/debug/deps/libpanic_halt-33949299fdfa2375.rmeta
|
||||||
|
|
||||||
error[E0609]: no field `o1` on type `initResources<'_>`
|
error[E0609]: no field `o1` on type `initResources<'_>`
|
||||||
--> $DIR/resources-cfg.rs:47:21
|
--> $DIR/resources-cfg.rs:47:21
|
||||||
|
|
Loading…
Reference in a new issue