mips-mcu-alloc

Crates.io docs.rs

A heap allocator for PIC32 microcontrollers (based on the alloc-cortex-m crate)

The heap is placed at a location determined by the linker and automatically extended to fullfil allocation requests. Automatic heap extension fails if the heap would collide with the stack.

Example:

```rust

![feature(global_allocator)]

![feature(allocerrorhandler)]

// Plug in the allocator crate extern crate alloc; use alloc::Vec; use mipsmcualloc::MipsMcuHeap;

[global_allocator]

static ALLOCATOR: MipsMcuHeap = MipsMcuHeap::empty();

[entry]

fn main() -> ! { ALLOCATOR.init(); let mut xs = Vec::new(); xs.push(1); loop { /* .. */ } }

[allocerrorhandler]

fn alloc_error(layout: core::alloc::Layout) -> ! { panic!("Cannot allocate heap memory: {:?}", layout); } ```

License

Licensed under either of

at your option.