avr-oxide 0.0.5

An extremely simple Rusty operating system for AVR microcontrollers
/* cpu.rs
 *
 * Developed by Tim Walls <tim.walls@snowgoons.com>
 * Copyright (c) All Rights Reserved, Tim Walls
 */
//! ATmega4809-specific CPU control block implementation

// Imports ===================================================================
use crate::{atmel_cpu_tpl};

// Declarations ==============================================================
#[repr(C)]
pub struct PortmuxControl {
  pub(crate) evsysroutea: u8,
  pub(crate) cclroutea: u8,
  pub(crate) usartroutea: u8,
  pub(crate) twispiroutea: u8,
  pub(crate) tcaroutea: u8,
  pub(crate) tcbroutea: u8
}

// Code ======================================================================

atmel_cpu_tpl!(super::ADDR_CPU,super::ADDR_CLKCTRL);

#[macro_export]
macro_rules! cpu {
  () => {
    crate::hal::atmega4809::cpu::instance()
  }
}