Expand description
Functions and data from the RPI Bootrom.
From the RP2040 datasheet, Section 2.8.3.1:
The Bootrom contains a number of public functions that provide useful RP2040 functionality that might be needed in the absence of any other code on the device, as well as highly optimized versions of certain key functionality that would otherwise have to take up space in most user binaries.
Modules§
- clz32
- Additional access for the
clz32
ROM function. - connect_
internal_ flash - Additional access for the
connect_internal_flash
ROM function. - ctz32
- Additional access for the
ctz32
ROM function. - double_
funcs - Functions using double-precision arithmetic (i.e. ‘f64’ in Rust terms)
- flash_
enter_ cmd_ xip - Additional access for the
flash_enter_cmd_xip
ROM function. - flash_
exit_ xip - Additional access for the
flash_exit_xip
ROM function. - flash_
flush_ cache - Additional access for the
flash_flush_cache
ROM function. - flash_
range_ erase - Additional access for the
flash_range_erase
ROM function. - flash_
range_ program - Additional access for the
flash_range_program
ROM function. - float_
funcs - ROM functions using single-precision arithmetic (i.e. ‘f32’ in Rust terms)
- memcpy
- Additional access for the
memcpy
ROM function. - memcpy44
- Additional access for the
memcpy44
ROM function. - memset
- Additional access for the
memset
ROM function. - memset4
- Additional access for the
memset4
ROM function. - popcount32
- Additional access for the
popcount32
ROM function. - reset_
to_ usb_ boot - Additional access for the
reset_to_usb_boot
ROM function. - reverse32
- Additional access for the
reverse32
ROM function. - wait_
for_ vector - Additional access for the
wait_for_vector
ROM function.
Functions§
- clz32
- Return the number of consecutive high order 0 bits of value. If value is zero, returns 32.
- connect_
internal_ ⚠flash - Restore all QSPI pad controls to their default state, and connect the SSI to the QSPI pads.
- copyright_
string - The Raspberry Pi Trading Ltd copyright string.
- ctz32
- Return the number of consecutive low order 0 bits of value. If value is zero, returns 32.
- flash_
enter_ ⚠cmd_ xip - Configure the SSI to generate a standard 03h serial read command, with 24 address bits, upon each XIP access.
- flash_
exit_ ⚠xip - First set up the SSI for serial-mode operations, then issue the fixed XIP exit sequence.
- flash_
flush_ ⚠cache - Flush and enable the XIP cache. Also clears the IO forcing on QSPI CSn, so that the SSI can drive the flashchip select as normal.
- flash_
range_ ⚠erase - Erase a count bytes, starting at addr (offset from start of flash).
- flash_
range_ ⚠program - Program data to a range of flash addresses starting at
addr
(and offset from the start of flash) andcount
bytes in size. - fplib_
end - The end address of the floating point library code and data.
- fplib_
start - The start address of the floating point library code and data.
- git_
revision - The 8 most significant hex digits of the Bootrom git revision.
- memcpy⚠
- Copies n bytes starting at src to dest and returns dest. The results are undefined if the regions overlap.
- memcpy44⚠
- Copies n bytes starting at src to dest and returns dest. The results are undefined if the regions overlap.
- memset⚠
- Sets n bytes start at ptr to the value c and returns ptr
- memset4⚠
- Sets n bytes start at ptr to the value c and returns ptr.
- popcount32
- Return a count of the number of 1 bits in value.
- reset_
to_ usb_ boot - Resets the RP2040 and uses the watchdog facility to re-start in BOOTSEL mode:
- reverse32
- Return the bits of value in the reverse order.
- rom_
version_ number - The version number of the rom.
- soft_
double_ table - This entry is only present in the V2 bootrom. See Table 182 in the RP2040 datasheet for the contents of this table.
- soft_
float_ table - See Table 180 in the RP2040 datasheet for the contents of this table.
- wait_
for_ ⚠vector - This is the method that is entered by core 1 on reset to wait to be launched by core 0.
Type Aliases§
- RomFn
Table Code - A bootrom function table code.