Merge pull request #197 from rukai/fix_stm32_warnings

Fix warnings for embassy-stm32 and embassy-stm32-examples and add .cargo/config.toml + memory.x
This commit is contained in:
Dario Nieuwenhuis 2021-05-21 17:25:59 +02:00 committed by GitHub
commit 2e6c550355
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 49 additions and 23 deletions

View File

@ -2,6 +2,7 @@
build-std = ["core"]
[target.'cfg(all(target_arch = "arm", target_os = "none"))']
# replace nRF82840_xxAA with your chip as listed in `probe-run --list-chips`
runner = "probe-run --chip nRF52840_xxAA"
rustflags = [

View File

@ -0,0 +1,21 @@
[unstable]
build-std = ["core"]
[target.'cfg(all(target_arch = "arm", target_os = "none"))']
# replace STM32F429ZITx with your chip as listed in `probe-run --list-chips`
runner = "probe-run --chip STM32F429ZITx"
rustflags = [
# LLD (shipped with the Rust toolchain) is used as the default linker
"-C", "link-arg=--nmagic",
"-C", "link-arg=-Tlink.x",
"-C", "link-arg=-Tdefmt.x",
# Code-size optimizations.
"-Z", "trap-unreachable=no",
"-C", "inline-threshold=5",
"-C", "no-vectorize-loops",
]
[build]
target = "thumbv7em-none-eabi"

View File

@ -0,0 +1,7 @@
MEMORY
{
/* NOTE 1 K = 1 KiBi = 1024 bytes */
/* These values correspond to the STM32F429ZI */
FLASH : ORIGIN = 0x08000000, LENGTH = 1024K
RAM : ORIGIN = 0x20000000, LENGTH = 256K
}

View File

@ -4,6 +4,7 @@
#![feature(min_type_alias_impl_trait)]
#![feature(impl_trait_in_bindings)]
#![feature(type_alias_impl_trait)]
#![allow(incomplete_features)]
#[path = "../example_common.rs"]
mod example_common;

View File

@ -4,6 +4,7 @@
#![feature(min_type_alias_impl_trait)]
#![feature(impl_trait_in_bindings)]
#![feature(type_alias_impl_trait)]
#![allow(incomplete_features)]
#[path = "../example_common.rs"]
mod example_common;

View File

@ -4,13 +4,14 @@
#![feature(min_type_alias_impl_trait)]
#![feature(impl_trait_in_bindings)]
#![feature(type_alias_impl_trait)]
#![allow(incomplete_features)]
#[path = "../example_common.rs"]
mod example_common;
use embassy::executor::Executor;
use embassy::time::Clock;
use embassy::util::Forever;
use embassy_stm32::exti::{self, ExtiInput};
use embassy_stm32::exti::ExtiInput;
use embassy_stm32::gpio::{Input, Pull};
use embassy_traits::gpio::{WaitForFallingEdge, WaitForRisingEdge};
use example_common::*;

View File

@ -4,20 +4,20 @@
#![feature(min_type_alias_impl_trait)]
#![feature(impl_trait_in_bindings)]
#![feature(type_alias_impl_trait)]
#![allow(incomplete_features)]
#[path = "../example_common.rs"]
mod example_common;
use embassy_stm32::gpio::{Input, Level, Output, Pull};
use embedded_hal::digital::v2::{InputPin, OutputPin};
use embassy_stm32::gpio::{Level, Output};
use embedded_hal::digital::v2::OutputPin;
use example_common::*;
use cortex_m_rt::entry;
use stm32f4::stm32f429 as pac;
//use stm32l4::stm32l4x5 as pac;
use embassy_stm32::spi::{ByteOrder, Config, Spi, MODE_0};
use embassy_stm32::spi::{Config, Spi};
use embassy_stm32::time::Hertz;
use embedded_hal::blocking::spi::Transfer;
use stm32f4::stm32f429 as pac;
#[entry]
fn main() -> ! {
@ -47,7 +47,6 @@ fn main() -> ! {
w
});
let rc = pp.RCC.cfgr.read().sws().bits();
let p = embassy_stm32::init(Default::default());
let mut spi = Spi::new(
@ -64,9 +63,9 @@ fn main() -> ! {
loop {
let mut buf = [0x0A; 4];
cs.set_low();
spi.transfer(&mut buf);
cs.set_high();
unwrap!(cs.set_low());
unwrap!(spi.transfer(&mut buf));
unwrap!(cs.set_high());
info!("xfer {=[u8]:x}", buf);
}
}

View File

@ -4,6 +4,7 @@
#![feature(min_type_alias_impl_trait)]
#![feature(impl_trait_in_bindings)]
#![feature(type_alias_impl_trait)]
#![allow(incomplete_features)]
#[path = "../example_common.rs"]
mod example_common;
@ -11,7 +12,6 @@ use cortex_m::prelude::_embedded_hal_blocking_serial_Write;
use embassy::executor::Executor;
use embassy::time::Clock;
use embassy::util::Forever;
use embassy_stm32::gpio::NoPin;
use embassy_stm32::usart::{Config, Uart};
use example_common::*;

View File

@ -4,6 +4,7 @@
#![feature(min_type_alias_impl_trait)]
#![feature(impl_trait_in_bindings)]
#![feature(type_alias_impl_trait)]
#![allow(incomplete_features)]
#[path = "../example_common.rs"]
mod example_common;

View File

@ -3,6 +3,7 @@
#[cfg_attr(feature = "_dma_v1", path = "v1.rs")]
#[cfg_attr(feature = "_dma_v2", path = "v2.rs")]
mod _version;
#[allow(unused)]
pub use _version::*;
use crate::pac;

View File

@ -5,7 +5,7 @@ use embassy::util::AtomicWaker;
use futures::future::poll_fn;
use super::*;
use crate::fmt::{assert, *};
use crate::fmt::assert;
use crate::interrupt;
use crate::pac;
use crate::pac::dma::{regs, vals};

View File

@ -11,7 +11,6 @@ use embassy_extras::unsafe_impl_unborrow;
use embedded_hal::digital::v2::InputPin;
use pac::exti::{regs, vals};
use crate::fmt::*;
use crate::gpio::{AnyPin, Input, Pin as GpioPin};
use crate::interrupt;
use crate::pac;

View File

@ -9,8 +9,6 @@
// This must go FIRST so that all the other modules see its macros.
pub mod fmt;
use embassy::interrupt::{Interrupt, InterruptExt};
#[cfg(feature = "_dma")]
pub mod dma;
pub mod exti;

View File

@ -1,4 +1,3 @@
#![no_std]
#![doc = "Peripheral access API (generated using svd2rust v0.17.0 (22741fa 2021-04-20))"]
pub mod syscfg_l4 {
use crate::generic::*;

View File

@ -8,7 +8,6 @@ use embassy_extras::unborrow;
use futures::future::poll_fn;
use rand_core::{CryptoRng, RngCore};
use crate::fmt::*;
use crate::pac;
pub(crate) static RNG_WAKER: AtomicWaker = AtomicWaker::new();

View File

@ -8,6 +8,7 @@ pub use _version::*;
use crate::gpio::Pin;
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
pub enum Error {
Framing,
Crc,

View File

@ -20,7 +20,6 @@ impl WordSize {
}
pub struct Spi<'d, T: Instance> {
//peri: T,
sck: AnyPin,
mosi: AnyPin,
miso: AnyPin,
@ -31,7 +30,7 @@ pub struct Spi<'d, T: Instance> {
impl<'d, T: Instance> Spi<'d, T> {
pub fn new<F>(
pclk: Hertz,
peri: impl Unborrow<Target = T> + 'd,
_peri: impl Unborrow<Target = T> + 'd,
sck: impl Unborrow<Target = impl SckPin<T>>,
mosi: impl Unborrow<Target = impl MosiPin<T>>,
miso: impl Unborrow<Target = impl MisoPin<T>>,
@ -41,7 +40,7 @@ impl<'d, T: Instance> Spi<'d, T> {
where
F: Into<Hertz>,
{
unborrow!(peri, sck, mosi, miso);
unborrow!(sck, mosi, miso);
unsafe {
sck.set_as_af(sck.af_num());
@ -90,7 +89,6 @@ impl<'d, T: Instance> Spi<'d, T> {
}
Self {
//peri,
sck,
mosi,
miso,

View File

@ -3,8 +3,7 @@ use core::marker::PhantomData;
use embassy::util::Unborrow;
use embassy_extras::unborrow;
use crate::gpio::{NoPin, Pin};
use crate::pac::usart::{regs, vals, Usart};
use crate::pac::usart::{regs, vals};
use super::*;