@web-font-path: "roboto-debian.css";
v2.2.0 (RP2040)
Loading...
Searching...
No Matches
bootrom.h File Reference
`#include "pico.h"`
`#include "pico/bootrom_constants.h"`
`#include <string.h>`
`#include "pico/bootrom/lock.h"`
`#include "pico/flash.h"`
Include dependency graph for bootrom.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Macros

#define | rom_hword_as_ptr(rom_address)

## Typedefs

typedef uint32_t(* | rom_popcount32_fn) (uint32_t)
typedef uint32_t(* | rom_reverse32_fn) (uint32_t)
typedef uint32_t(* | rom_clz32_fn) (uint32_t)
typedef uint32_t(* | rom_ctz32_fn) (uint32_t)
typedef uint8_t *(* | rom_memset_fn) (uint8_t *, uint8_t, uint32_t)
typedef uint32_t *(* | rom_memset4_fn) (uint32_t *, uint8_t, uint32_t)
typedef uint32_t *(* | rom_memcpy_fn) (uint8_t *, const uint8_t *, uint32_t)
typedef uint32_t *(* | rom_memcpy44_fn) (uint32_t *, const uint32_t *, uint32_t)
typedef void(* | rom_reset_usb_boot_fn) (uint32_t, uint32_t)
typedef int(* | rom_reboot_fn) (uint32_t flags, uint32_t delay_ms, uint32_t p0, uint32_t p1)
typedef rom_reset_usb_boot_fn | reset_usb_boot_fn
typedef void(* | rom_connect_internal_flash_fn) (void)
typedef void(* | rom_flash_exit_xip_fn) (void)
typedef void(* | rom_flash_range_erase_fn) (uint32_t, size_t, uint32_t, uint8_t)
typedef void(* | rom_flash_range_program_fn) (uint32_t, const uint8_t *, size_t)
typedef void(* | rom_flash_flush_cache_fn) (void)
typedef void(* | rom_flash_enter_cmd_xip_fn) (void)
typedef void *(* | rom_table_lookup_fn) (uint16_t *table, uint32_t code)

## Functions

static uint32_t | rom_table_code (uint8_t c1, uint8_t c2)
| Return a bootrom lookup code based on two ASCII characters.
void * | rom_func_lookup (uint32_t code)
| Lookup a bootrom function by its code.
void * | rom_data_lookup (uint32_t code)
| Lookup a bootrom data address by its code.
bool | rom_funcs_lookup (uint32_t *table, unsigned int count)
| Helper function to lookup the addresses of multiple bootrom functions.
static __force_inline void * | rom_func_lookup_inline (uint32_t code)
| Lookup a bootrom function by code. This method is forcibly inlined into the caller for FLASH/RAM sensitive code usage.
static __force_inline void * | rom_data_lookup_inline (uint32_t code)
| Lookup a bootrom data address by its code. This method is forcibly inlined into the caller for FLASH/RAM sensitive code usage.
void | rom_reset_usb_boot (uint32_t usb_activity_gpio_pin_mask, uint32_t disable_interface_mask)
| Reboot the device into BOOTSEL mode.
static void | reset_usb_boot (uint32_t usb_activity_gpio_pin_mask, uint32_t disable_interface_mask)
void | rom_reset_usb_boot_extra (int usb_activity_gpio_pin, uint32_t disable_interface_mask, bool usb_activity_gpio_pin_active_low)
| Reboot the device into BOOTSEL mode.
static void | rom_connect_internal_flash (void)
| Connect the SSI/QMI to the QSPI pads.
static void | rom_flash_exit_xip (void)
| Return the QSPI device from its XIP state to a serial command state.
static void | rom_flash_range_erase (uint32_t addr, size_t count, uint32_t block_size, uint8_t block_cmd)
| Erase bytes in flash.
static void | rom_flash_range_program (uint32_t addr, const uint8_t *data, size_t count)
| Program bytes in flash.
static void | rom_flash_flush_cache (void)
| Flush the XIP cache.
static void | rom_flash_enter_cmd_xip (void)
| Configure the SSI/QMI with a standard command.

## Macro Definition Documentation

## rom_hword_as_ptr

#define rom_hword_as_ptr | ( |  | rom_address | ) |

Value:
(void *)(uintptr_t)(*(uint16_t *)(uintptr_t)(rom_address))