33#ifndef _AVR_CPUFUNC_H_
34#define _AVR_CPUFUNC_H_ 1
59#define _NOP() __asm__ __volatile__("nop")
75#define _MemoryBarrier() __asm__ __volatile__("" ::: "memory")
78#include <bits/attribs.h>
91#if __AVR_ARCH__ >= 100
92extern __ATTR_ALWAYS_INLINE__ __ATTR_GNU_INLINE__
98 if (__builtin_constant_p (__addr))
99 __asm__ __volatile__ (
"out %i0, %1" "\n\t"
107 __asm__ __volatile__ (
"out %i0, %1" "\n\t"
114#elif defined(__AVR_XMEGA__)
115 if (__builtin_constant_p (__addr))
116 __asm__ __volatile__ (
"out %i0, %1" "\n\t"
124 __asm__ __volatile__ (
"out %i0, %1" "\n\t"
142#if defined(__AVR_XMEGA__) || defined(CCP_SPM_gc)
143extern __ATTR_ALWAYS_INLINE__ __ATTR_GNU_INLINE__
148 if (__builtin_constant_p (__addr))
149 __asm__ __volatile__ (
"out %i0, %1" "\n\t"
161 __asm__ __volatile__ (
"out %i0, %1" "\n\t"
void ccp_write_io(volatile void *__ioaddr, uint8_t __value)
void ccp_write_spm(volatile void *__ioaddr, uint8_t __value)
uint16_t uintptr_t
Definition: stdint.h:183
unsigned char uint8_t
Definition: stdint.h:88