Struct stm32_fmc::Sdram [−][src]
pub struct Sdram<FMC, IC> { /* fields omitted */ }Expand description
SDRAM Controller
Implementations
impl<IC: SdramChip, FMC: FmcPeripheral> Sdram<FMC, IC>[src]
impl<IC: SdramChip, FMC: FmcPeripheral> Sdram<FMC, IC>[src]pub fn new<PINS, BANK, ADDR>(fmc: FMC, _pins: PINS, _chip: IC) -> Self where
PINS: PinsSdram<BANK, ADDR>,
ADDR: AddressPinSet,
BANK: SdramPinSet, [src]
pub fn new<PINS, BANK, ADDR>(fmc: FMC, _pins: PINS, _chip: IC) -> Self where
PINS: PinsSdram<BANK, ADDR>,
ADDR: AddressPinSet,
BANK: SdramPinSet, [src]New SDRAM instance
_pins must be a set of pins connecting to an SDRAM on the FMC
controller
Panics
-
Panics if there are not enough address lines in
PINSto access the whole SDRAM -
Panics if there are not enough bank address lines in
PINSto access the whole SDRAM
pub fn new_unchecked(
fmc: FMC,
bank: impl Into<SdramTargetBank>,
_chip: IC
) -> Self[src]
pub fn new_unchecked(
fmc: FMC,
bank: impl Into<SdramTargetBank>,
_chip: IC
) -> Self[src]New SDRAM instance
bank denotes which SDRAM bank to target. This can be either bank 1 or
bank 2.
Safety
The pins are not checked against the requirements for the 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) -> *mut u32 where
D: DelayUs<u8>, [src]
pub fn init<D>(&mut self, delay: &mut D) -> *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 any setting in
IC::CONFIGcannot be achieved -
Panics if the FMC source clock is too fast for maximum SD clock in
IC::TIMING
Auto Trait Implementations
impl<FMC, IC> Send for Sdram<FMC, IC> where
FMC: Send,
IC: Send,
FMC: Send,
IC: Send,
impl<FMC, IC> Sync for Sdram<FMC, IC> where
FMC: Sync,
IC: Sync,
FMC: Sync,
IC: Sync,
impl<FMC, IC> Unpin for Sdram<FMC, IC> where
FMC: Unpin,
IC: Unpin,
FMC: Unpin,
IC: Unpin,