pub unsafe trait _embedded_dma_WriteBuffer {
type Word;
// Required method
unsafe fn write_buffer(&mut self) -> (*mut Self::Word, usize);
}
Expand description
Trait for buffers that can be given to DMA for writing.
Safety
The implementing type must be safe to use for DMA writes. This means:
- It must be a pointer that references the actual buffer.
Target
must be a type that is valid for any possible byte pattern.- As long as no
&mut self
method, except forwrite_buffer
, is called on the implementing object:write_buffer
must always return the same value, if called multiple times.- The memory specified by the pointer and size returned by
write_buffer
must not be freed during the transfer as long asself
is not dropped.
Required Associated Types§
type Word
Required Methods§
unsafe fn write_buffer(&mut self) -> (*mut Self::Word, usize)
unsafe fn write_buffer(&mut self) -> (*mut Self::Word, usize)
Provide a buffer usable for DMA writes.
The return value is:
- pointer to the start of the buffer
- buffer size in words
Safety
Once this method has been called, it is unsafe to call any &mut self
methods, except for write_buffer
, on this object as long as the
returned value is in use (by DMA).