@web-font-path: "roboto-debian.css";
v2.2.0 (RP2040)
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)))