Struct FMC

Source
pub struct FMC { /* private fields */ }
Expand description

Flexible memory controller

See peripheral structure

Implementations§

Source§

impl FMC

Source

pub const PTR: *const RegisterBlock = {0xa0000000 as *const stm32f4_staging::stm32f429::fmc::RegisterBlock}

Pointer to the register block

Source

pub const fn ptr() -> *const RegisterBlock

Return the pointer to the register block

Source

pub unsafe fn steal() -> FMC

Steal an instance of this peripheral

§Safety

Ensure that the new instance of the peripheral cannot be used in a way that may race with any existing instances, for example by only accessing read-only or write-only registers, or by consuming the original peripheral and using critical sections to coordinate access between multiple new instances.

Additionally, other software such as HALs may rely on only one peripheral instance existing to ensure memory safety; ensure no stolen instances are passed to such software.

Methods from Deref<Target = RegisterBlock>§

Source

pub fn bcr1(&self) -> &Reg<BCR1rs>

0x00 - SRAM/NOR-Flash chip-select control register 1

Source

pub fn btr(&self, n: usize) -> &Reg<BTRrs>

0x04..0x14 - SRAM/NOR-Flash chip-select timing register %s

Source

pub fn btr_iter(&self) -> impl Iterator<Item = &Reg<BTRrs>>

Iterator for array of: 0x04..0x14 - SRAM/NOR-Flash chip-select timing register %s

Source

pub fn btr1(&self) -> &Reg<BTRrs>

0x04 - SRAM/NOR-Flash chip-select timing register 1

Source

pub fn btr2(&self) -> &Reg<BTRrs>

0x0c - SRAM/NOR-Flash chip-select timing register 2

Source

pub fn btr3(&self) -> &Reg<BTRrs>

0x14 - SRAM/NOR-Flash chip-select timing register 3

Source

pub fn btr4(&self) -> &Reg<BTRrs>

0x1c - SRAM/NOR-Flash chip-select timing register 4

Source

pub fn bcr(&self, n: usize) -> &Reg<BCRrs>

0x08..0x14 - SRAM/NOR-Flash chip-select control register %s

Source

pub fn bcr_iter(&self) -> impl Iterator<Item = &Reg<BCRrs>>

Iterator for array of: 0x08..0x14 - SRAM/NOR-Flash chip-select control register %s

Source

pub fn bcr2(&self) -> &Reg<BCRrs>

0x08 - SRAM/NOR-Flash chip-select control register 2

Source

pub fn bcr3(&self) -> &Reg<BCRrs>

0x10 - SRAM/NOR-Flash chip-select control register 3

Source

pub fn bcr4(&self) -> &Reg<BCRrs>

0x18 - SRAM/NOR-Flash chip-select control register 4

Source

pub fn pcr(&self, n: usize) -> &Reg<PCRrs>

0x60..0x6c - PC Card/NAND Flash control register %s

Source

pub fn pcr_iter(&self) -> impl Iterator<Item = &Reg<PCRrs>>

Iterator for array of: 0x60..0x6c - PC Card/NAND Flash control register %s

Source

pub fn pcr2(&self) -> &Reg<PCRrs>

0x60 - PC Card/NAND Flash control register 2

Source

pub fn pcr3(&self) -> &Reg<PCRrs>

0x80 - PC Card/NAND Flash control register 3

Source

pub fn pcr4(&self) -> &Reg<PCRrs>

0xa0 - PC Card/NAND Flash control register 4

Source

pub fn sr(&self, n: usize) -> &Reg<SRrs>

0x64..0x70 - FIFO status and interrupt register %s

Source

pub fn sr_iter(&self) -> impl Iterator<Item = &Reg<SRrs>>

Iterator for array of: 0x64..0x70 - FIFO status and interrupt register %s

Source

pub fn sr2(&self) -> &Reg<SRrs>

0x64 - FIFO status and interrupt register 2

Source

pub fn sr3(&self) -> &Reg<SRrs>

0x84 - FIFO status and interrupt register 3

Source

pub fn sr4(&self) -> &Reg<SRrs>

0xa4 - FIFO status and interrupt register 4

Source

pub fn pmem2(&self) -> &Reg<PMEM2rs>

0x68 - Common memory space timing register 2

Source

pub fn patt2(&self) -> &Reg<PATT2rs>

0x6c - Attribute memory space timing register 2

Source

pub fn eccr2(&self) -> &Reg<ECCR2rs>

0x74 - ECC result register 2

Source

pub fn pmem3(&self) -> &Reg<PMEM3rs>

0x88 - Common memory space timing register 3

Source

pub fn patt3(&self) -> &Reg<PATT3rs>

0x8c - Attribute memory space timing register 3

Source

pub fn eccr3(&self) -> &Reg<ECCR3rs>

0x94 - ECC result register 3

Source

pub fn pmem4(&self) -> &Reg<PMEM4rs>

0xa8 - Common memory space timing register 4

Source

pub fn patt4(&self) -> &Reg<PATT4rs>

0xac - Attribute memory space timing register 4

Source

pub fn pio4(&self) -> &Reg<PIO4rs>

0xb0 - I/O space timing register 4

Source

pub fn bwtr(&self, n: usize) -> &Reg<BWTRrs>

0x104..0x114 - SRAM/NOR-Flash write timing registers %s

Source

pub fn bwtr_iter(&self) -> impl Iterator<Item = &Reg<BWTRrs>>

Iterator for array of: 0x104..0x114 - SRAM/NOR-Flash write timing registers %s

Source

pub fn bwtr1(&self) -> &Reg<BWTRrs>

0x104 - SRAM/NOR-Flash write timing registers 1

Source

pub fn bwtr2(&self) -> &Reg<BWTRrs>

0x10c - SRAM/NOR-Flash write timing registers 2

Source

pub fn bwtr3(&self) -> &Reg<BWTRrs>

0x114 - SRAM/NOR-Flash write timing registers 3

Source

pub fn bwtr4(&self) -> &Reg<BWTRrs>

0x11c - SRAM/NOR-Flash write timing registers 4

Source

pub fn sdcr(&self, n: usize) -> &Reg<SDCRrs>

0x140..0x148 - SDRAM Control Register %s

Source

pub fn sdcr_iter(&self) -> impl Iterator<Item = &Reg<SDCRrs>>

Iterator for array of: 0x140..0x148 - SDRAM Control Register %s

Source

pub fn sdcr1(&self) -> &Reg<SDCRrs>

0x140 - SDRAM Control Register 1

Source

pub fn sdcr2(&self) -> &Reg<SDCRrs>

0x144 - SDRAM Control Register 2

Source

pub fn sdtr(&self, n: usize) -> &Reg<SDTRrs>

0x148..0x150 - SDRAM Timing register %s

Source

pub fn sdtr_iter(&self) -> impl Iterator<Item = &Reg<SDTRrs>>

Iterator for array of: 0x148..0x150 - SDRAM Timing register %s

Source

pub fn sdtr1(&self) -> &Reg<SDTRrs>

0x148 - SDRAM Timing register 1

Source

pub fn sdtr2(&self) -> &Reg<SDTRrs>

0x14c - SDRAM Timing register 2

Source

pub fn sdcmr(&self) -> &Reg<SDCMRrs>

0x150 - SDRAM Command Mode register

Source

pub fn sdrtr(&self) -> &Reg<SDRTRrs>

0x154 - SDRAM Refresh Timer register

Source

pub fn sdsr(&self) -> &Reg<SDSRrs>

0x158 - SDRAM Status register

Trait Implementations§

Source§

impl Debug for FMC

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Deref for FMC

Source§

type Target = RegisterBlock

The resulting type after dereferencing.
Source§

fn deref(&self) -> &<FMC as Deref>::Target

Dereferences the value.
Source§

impl Enable for FMC

Source§

fn enable(rcc: &RccRB)

Enables peripheral
Source§

fn disable(rcc: &RccRB)

Disables peripheral
Source§

fn is_enabled() -> bool

Check if peripheral enabled
Source§

fn is_disabled() -> bool

Check if peripheral disabled
Source§

unsafe fn enable_unchecked()

Safety Read more
Source§

unsafe fn disable_unchecked()

Safety Read more
Source§

impl LPEnable for FMC

Source§

fn enable_in_low_power(rcc: &RccRB)

Enables peripheral in low power mode
Source§

fn disable_in_low_power(rcc: &RccRB)

Disables peripheral in low power mode
Source§

fn is_enabled_in_low_power() -> bool

Check if peripheral enabled in low power mode
Source§

fn is_disabled_in_low_power() -> bool

Check if peripheral disabled in low power mode
Source§

unsafe fn enable_in_low_power_unchecked()

Safety Read more
Source§

unsafe fn disable_in_low_power_unchecked()

Safety Read more
Source§

impl RccBus for FMC

Source§

type Bus = AHB3

Bus type;
Source§

impl Reset for FMC

Source§

fn reset(rcc: &RccRB)

Resets peripheral
Source§

unsafe fn reset_unchecked()

Safety Read more
Source§

impl Send for FMC

Auto Trait Implementations§

§

impl Freeze for FMC

§

impl RefUnwindSafe for FMC

§

impl !Sync for FMC

§

impl Unpin for FMC

§

impl UnwindSafe for FMC

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> BusClock for T
where T: RccBus, <T as RccBus>::Bus: BusClock,

Source§

fn clock(clocks: &Clocks) -> Rate<u32, 1, 1>

Calculates frequency depending on Clock state
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.