CortexMDmaFence

Struct CortexMDmaFence 

Source
pub struct CortexMDmaFence { /* private fields */ }

Implementations§

Source§

impl CortexMDmaFence

An implementation of DmaFence for ARM Cortex-M systems.

The provided release and acquire methods use opaque assembly blocks and the THUMB DMB instructions to make prior writes to shared buffers visible to DMA devices, and DMA writes visible subsequent memory reads, as specified in the ARM Cortex-M Programming Guide to Memory Barrier Instructions 1.

Source

pub unsafe fn new() -> Self

Construct a new CortexMDmaFence.

§Safety

Users of this function guarantee that this fence is an appropriate implementation of DmaFence for the platform on which this code is running. In practice, this means that users must assert to be running on an ARM Cortex-M (ARM-v6m / ARM-v7m) CPU.

Trait Implementations§

Source§

impl Clone for CortexMDmaFence

Source§

fn clone(&self) -> CortexMDmaFence

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CortexMDmaFence

Source§

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

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

impl DmaFence for CortexMDmaFence

Available on not (ARM and target_os=none).
Source§

fn release<T>(self, _buf: *mut [T])

Expose prior writes to in-memory buffers to subsequent DMA operations. Read more
Source§

fn acquire<T>(self, _buf: *mut [T])

Expose prior writes by DMA peripherals to subsequent memory reads. Read more
Source§

impl Copy for CortexMDmaFence

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
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<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.