Struct alloc_cortex_m::CortexMHeap
source · pub struct CortexMHeap { /* private fields */ }Implementations
sourceimpl CortexMHeap
impl CortexMHeap
sourcepub const fn empty() -> CortexMHeap
pub const fn empty() -> CortexMHeap
Crate a new UNINITIALIZED heap allocator
You must initialize this heap using the
init method before using the allocator.
sourcepub unsafe fn init(&self, start_addr: usize, size: usize)
pub unsafe fn init(&self, start_addr: usize, size: usize)
Initializes the heap
This function must be called BEFORE you run any code that makes use of the allocator.
start_addr is the address where the heap will be located.
size is the size of the heap in bytes.
Note that:
-
The heap grows “upwards”, towards larger addresses. Thus
end_addrmust be larger thanstart_addr -
The size of the heap is
(end_addr as usize) - (start_addr as usize). The allocator won’t use the byte atend_addr.
Safety
Obey these or Bad Stuff will happen.
- This function must be called exactly ONCE.
size > 0
Trait Implementations
sourceimpl GlobalAlloc for CortexMHeap
impl GlobalAlloc for CortexMHeap
sourceunsafe fn alloc(&self, layout: Layout) -> *mut u8
unsafe fn alloc(&self, layout: Layout) -> *mut u8
Allocate memory as described by the given
layout. Read moreAuto Trait Implementations
impl !RefUnwindSafe for CortexMHeap
impl Send for CortexMHeap
impl Sync for CortexMHeap
impl Unpin for CortexMHeap
impl UnwindSafe for CortexMHeap
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more