[][src]Struct stm32h7_fmc::Sdram

pub struct Sdram<IC, PINS> { /* fields omitted */ }

SDRAM Controller

Implementations

impl<IC, PINS> Sdram<IC, PINS> where
    IC: SdramChip,
    PINS: PinsSdram<FMC>, 
[src]

pub fn new(fmc: FMC, rec_fmc: Fmc, _pins: PINS, _chip: IC) -> Self[src]

New SDRAM instance

_pins must be a set of pins connecting to an SDRAM on the FMC controller. This is currently implemented for the types PinsSdramBank1 and PinsSdramBank2

Panics

  • Panics if there are not enough address lines in PINS to access the whole SDRAM.

  • Panics if there are not enough bank address lines in PINS to access the whole SDRAM.

pub unsafe fn new_unchecked(
    fmc: FMC,
    rec_fmc: Fmc,
    _pins: PINS,
    _chip: IC
) -> Self
[src]

New SDRAM instance

_pins must be a set of pins connecting to an SDRAM on the FMC controller. This is currently implemented for the types PinsSdramBank1 and PinsSdramBank2

Safety

The pins are not checked against the requirements for this SDRAM chip. So you may be able to initialise a SDRAM without enough pins to access the whole memory.

pub fn init<D>(&mut self, delay: &mut D, core_clocks: CoreClocks) -> *mut u32 where
    D: DelayUs<u8>, 
[src]

Initialise SDRAM instance. Delay is used to wait the SDRAM powerup delay.

Returns a raw pointer to the memory-mapped SDRAM block.

Panics

  • Panics if the FMC kernel clock fmc_ker_ck is not running.

  • Panics if any setting in IC::CONFIG cannot be achieved.

  • Panics if the FMC kernal clock fmc_ker_ck is too fast for maximum SD clock in IC::TIMING.

Auto Trait Implementations

impl<IC, PINS> Send for Sdram<IC, PINS> where
    IC: Send,
    PINS: Send

impl<IC, PINS> !Sync for Sdram<IC, PINS>

impl<IC, PINS> Unpin for Sdram<IC, PINS> where
    IC: Unpin,
    PINS: Unpin

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.