embassy-rp

Crates

git

Versions

rp235xb

Flavors

Module block

Source
Expand description

Support for the RP235x Boot ROM’s “Block” structures

Blocks contain pointers, to form Block Loops.

The IMAGE_DEF Block (here the ImageDef type) tells the ROM how to boot a firmware image. The PARTITION_TABLE Block (here the PartitionTable type) tells the ROM how to divide the flash space up into partitions.

Structs§

Block
A Block as understood by the Boot ROM.
Partition
Describes a Partition
PartitionTableBlock
Describes a partition table.
UnpartitionedSpace
Describes a unpartitioned space

Enums§

Architecture
The supported RP2350 CPU architectures
Link
Kinds of linked partition
PartitionFlag
Flags that a Partition can have
Permission
Permissions that a Partition can have
Security
The kinds of Secure Boot we support
UnpartitionedFlag
Flags that a Partition can have

Constants§

IMAGE_TYPE_DATA
A ITEM_1BS_IMAGE_TYPE value bitmask to mark an image as data
IMAGE_TYPE_EXE
A ITEM_1BS_IMAGE_TYPE value bitmask to mark an image as an executable
IMAGE_TYPE_EXE_CHIP_RP2040
A ITEM_1BS_IMAGE_TYPE value bitmask to mark the CPU as an RP2040
IMAGE_TYPE_EXE_CHIP_RP2350
A ITEM_1BS_IMAGE_TYPE value bitmask to mark the CPU as an RP2350
IMAGE_TYPE_EXE_CPU_ARM
A ITEM_1BS_IMAGE_TYPE value bitmask to mark the CPU type as Arm
IMAGE_TYPE_EXE_CPU_RISCV
A ITEM_1BS_IMAGE_TYPE value bitmask to mark the CPU type as RISC-V
IMAGE_TYPE_EXE_TYPE_SECURITY_NS
A ITEM_1BS_IMAGE_TYPE value bitmask to mark the CPU security mode as Non Secure
IMAGE_TYPE_EXE_TYPE_SECURITY_S
A ITEM_1BS_IMAGE_TYPE value bitmask to mark the CPU security mode as Non Secure
IMAGE_TYPE_EXE_TYPE_SECURITY_UNSPECIFIED
A ITEM_1BS_IMAGE_TYPE value bitmask to mark the CPU security mode as unspecified
IMAGE_TYPE_INVALID
A ITEM_1BS_IMAGE_TYPE value bitmask to mark an image as invalid
IMAGE_TYPE_TBYB
A ITEM_1BS_IMAGE_TYPE value bitmask to mark the image as Try Before You Buy.
ITEM_1BS_ENTRY_POINT
An item ID for encoding the image’s Entry Point
ITEM_1BS_HASH_VALUE
An item ID for encoding a Hash
ITEM_1BS_IMAGE_TYPE
An item ID for encoding an Image Type
ITEM_1BS_ROLLING_WINDOW_DELTA
An item ID for encoding a Rolling Window Delta
ITEM_1BS_SALT
An item ID for encoding a Salt
ITEM_1BS_SIGNATURE
An item ID for encoding a Signature
ITEM_1BS_VECTOR_TABLE
An item ID for encoding a Vector Table address
ITEM_1BS_VERSION
An item ID for encoding a Version
ITEM_2BS_HASH_DEF
An item ID for encoding the definition of a Hash
ITEM_2BS_IGNORED
An item ID for encoding a placeholder entry that is ignored
ITEM_2BS_LAST
An item ID for encoding the special last item in a Block
ITEM_2BS_LOAD_MAP
An item ID for encoding a Load Map
ITEM_2BS_PARTITION_TABLE
An item ID for encoding a Partition Table
PARTITION_TABLE_MAX_ITEMS
We make our partition table this fixed size.

Functions§

item_entry_point
Create an Entry Point item.
item_generic_1bs
Make an item containing a tag, 1 byte length and two extra bytes.
item_generic_2bs
Make an item containing a tag, 2 byte length and one extra byte.
item_ignored
Create Image Type item, of type IGNORED.
item_image_type_data
Create Image Type item, of type DATA.
item_image_type_exe
Create Image Type item, of type EXE.
item_image_type_invalid
Create Image Type item, of type INVALID.
item_last
Create a Block Last item.
item_rolling_window
Create an Rolling Window item.
item_vector_table
Create a Vector Table item.

Type Aliases§

ImageDef
An Image Definition has one item in it - an ITEM_1BS_IMAGE_TYPE