@web-font-path: "roboto-debian.css";
Loading...
Searching...
No Matches
address_mapped.h File Reference
#include "pico.h"
#include "hardware/regs/addressmap.h"
Include dependency graph for address_mapped.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define check_hw_layout(type, member, offset)
#define check_hw_size(type, size)
#define PARAM_ASSERTIONS_ENABLED_ADDRESS_ALIAS   0
#define _REG_(x)
#define hw_alias_check_addr(addr)
#define hw_set_alias_untyped(addr)
#define hw_clear_alias_untyped(addr)
#define hw_xor_alias_untyped(addr)
#define xip_noalloc_alias_untyped(addr)
#define xip_nocache_alias_untyped(addr)
#define xip_nocache_noalloc_alias_untyped(addr)
#define hw_set_alias(p)
#define hw_clear_alias(p)
#define hw_xor_alias(p)
#define xip_noalloc_alias(p)
#define xip_nocache_alias(p)
#define xip_nocache_noalloc_alias(p)

Typedefs

typedef volatile uint64_t io_rw_64
typedef const volatile uint64_t io_ro_64
typedef volatile uint64_t io_wo_64
typedef volatile uint32_t io_rw_32
typedef const volatile uint32_t io_ro_32
typedef volatile uint32_t io_wo_32
typedef volatile uint16_t io_rw_16
typedef const volatile uint16_t io_ro_16
typedef volatile uint16_t io_wo_16
typedef volatile uint8_t io_rw_8
typedef const volatile uint8_t io_ro_8
typedef volatile uint8_t io_wo_8
typedef volatile uint8_t *const ioptr
typedef ioptr const const_ioptr

Functions

static __force_inline uint32_t xip_alias_check_addr (const void *addr)
static __force_inline void hw_set_bits (io_rw_32 *addr, uint32_t mask)
 Atomically set the specified bits to 1 in a HW register.
static __force_inline void hw_clear_bits (io_rw_32 *addr, uint32_t mask)
 Atomically clear the specified bits to 0 in a HW register.
static __force_inline void hw_xor_bits (io_rw_32 *addr, uint32_t mask)
 Atomically flip the specified bits in a HW register.
static __force_inline void hw_write_masked (io_rw_32 *addr, uint32_t values, uint32_t write_mask)
 Set new values for a sub-set of the bits in a HW register.

Macro Definition Documentation

◆ check_hw_layout

#define check_hw_layout ( type,
member,
offset )
Value:
static_assert(offsetof(type, member) == (offset), "hw offset mismatch")

◆ check_hw_size

#define check_hw_size ( type,
size )
Value:
static_assert(sizeof(type) == (size), "hw size mismatch")

◆ hw_alias_check_addr

#define hw_alias_check_addr ( addr)
Value:
((uintptr_t)(addr))

◆ hw_clear_alias

#define hw_clear_alias ( p)
Value:
((typeof(p))hw_clear_alias_untyped(p))

◆ hw_clear_alias_untyped

#define hw_clear_alias_untyped ( addr)
Value:
((void *)(REG_ALIAS_CLR_BITS + hw_alias_check_addr(addr)))

◆ hw_set_alias

#define hw_set_alias ( p)
Value:
((typeof(p))hw_set_alias_untyped(p))

◆ hw_set_alias_untyped

#define hw_set_alias_untyped ( addr)
Value:
((void *)(REG_ALIAS_SET_BITS + hw_alias_check_addr(addr)))

◆ hw_xor_alias

#define hw_xor_alias ( p)
Value:
((typeof(p))hw_xor_alias_untyped(p))

◆ hw_xor_alias_untyped

#define hw_xor_alias_untyped ( addr)
Value:
((void *)(REG_ALIAS_XOR_BITS + hw_alias_check_addr(addr)))

◆ xip_noalloc_alias

#define xip_noalloc_alias ( p)
Value:
((typeof(p))xip_noalloc_alias_untyped(p))

◆ xip_noalloc_alias_untyped

#define xip_noalloc_alias_untyped ( addr)
Value:
((void *)(XIP_NOALLOC_BASE | xip_alias_check_addr(addr)))

◆ xip_nocache_alias

#define xip_nocache_alias ( p)
Value:
((typeof(p))xip_nocache_alias_untyped(p))

◆ xip_nocache_alias_untyped

#define xip_nocache_alias_untyped ( addr)
Value:
((void *)(XIP_NOCACHE_BASE | xip_alias_check_addr(addr)))

◆ xip_nocache_noalloc_alias

#define xip_nocache_noalloc_alias ( p)
Value:
((typeof(p))xip_nocache_noalloc_alias_untyped(p))

◆ xip_nocache_noalloc_alias_untyped

#define xip_nocache_noalloc_alias_untyped ( addr)
Value:
((void *)(XIP_NOCACHE_NOALLOC_BASE | xip_alias_check_addr(addr)))