/mos-alloc

Primary LanguageRustApache License 2.0Apache-2.0

mos-alloc

Allocator for mos-unknown-none target (https://github.com/mrk-its/rust/tree/mos_target) and number of utilities for setting max heap size / checking free / used memory

API Docs

https://docs.rs/mos-alloc

Example

Full source code in examples/heap.rs.

#![no_std]
#![feature(start)]
#![feature(default_alloc_error_handler)]

extern crate alloc;
extern crate mos_alloc;

use alloc::{string::String, vec::Vec};

// ..

#[start]
fn main(_argc: isize, _argv: *const *const u8) -> isize {
  // ..
  let text = String::from("foo");
  let data = (0..u16).collect::<Vec<_>>();
  ///
}

Running examples

The easiest way is to use provided devcontainer.json configuration for vscode:

  1. Configure Visual Studio Code with Remote - Containers extension
  2. Open this project inside devcontainer
  3. To build and run heap example on mos-sim 6502 simulator do:
    cargo run --example heap --release
    

License

All source code (including code snippets) is licensed under either of

at your option.