embassy-rp

Crates

git

Versions

rp235xb

Flavors

Skip to main content

Module block

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