34 #include <avr/interrupt.h> 
   37 #include "cpu_clock.h" 
   51 #ifndef AVR8_PM_DISABLE_BOD_ON_SLEEP 
   52 #define AVR8_PM_DISABLE_BOD_ON_SLEEP 0  
   59 #define CPU_CYCLES_PER_LOOP (7) 
   65 #define PERIPH_I2C_NEED_READ_REG 
   66 #define PERIPH_I2C_NEED_WRITE_REG 
   67 #define PERIPH_I2C_NEED_READ_REGS 
   68 #define PERIPH_I2C_NEED_WRITE_REGS 
   88 #define AVR8_STATE_FLAG_UART_TX(uart)    (0x01U << uart) 
  141         "ldi %D[dest], 0"                   "\n\t" 
  142 #if __AVR_3_BYTE_PC__ 
  143         "pop %C[dest] "      "\n\t" 
  145         "ldi %C[dest], 0"                   "\n\t" 
  147         "pop %B[dest]"                      "\n\t" 
  148         "pop %A[dest]"                      "\n\t" 
  149         "push %A[dest]"                     "\n\t" 
  150         "push %B[dest]"                     "\n\t" 
  151 #if __AVR_3_BYTE_PC__ 
  152         "push %C[dest] "      "\n\t" 
  162     addr = (addr - 1 ) * 2;
 
Platform-independent access to architecture details.
 
void avr8_reset_cause(void)
Print reset cause.
 
static void avr8_uart_tx_clear_pending(unsigned uart)
Clear UART TX channel pending state.
 
static void avr8_enter_isr(void)
Run this code on entering interrupt routines.
 
void avr8_clk_init(void)
Initialization of the CPU clock.
 
static uinttxtptr_t cpu_get_caller_pc(void)
Get the last instruction's address.
 
static void avr8_uart_tx_set_pending(unsigned uart)
Set UART TX channel as pending.
 
#define AVR8_STATE_FLAG_UART_TX(uart)
Compute UART TX channel.
 
void avr8_exit_isr(void)
Run this code on exiting interrupt routines.
 
static int avr8_is_uart_tx_pending(void)
Check if TX on any present UART device is still pending.
 
void avr8_stdio_init(void)
Initializes avrlibc stdio.
 
stdio wrapper to extend the C libs stdio
 
uintptr_t uinttxtptr_t
Pointer type to point anywhere in the .text section.
 
Scheduler API definition.
 
States internal interface.
 
#define avr8_state_irq_count
Definition for SRAM.
 
#define avr8_state_uart
Definition for SRAM.