#[repr(u8)]pub enum PropertyTag {
Show 38 variants
CurrentVersion(Version),
AvailablePeripherals(Box<[PeripheryTag]>),
FlashStartAddress(u32),
FlashSize(u32),
FlashSectorSize(u32),
FlashBlockCount(u32),
AvailableCommands(Box<[CommandTagDiscriminants]>),
CRCCheckStatus(StatusCode),
LastError(u32),
VerifyWrites(bool),
MaxPacketSize(u32),
ReservedRegions(ReservedRegions),
ValidateRegions(bool),
RAMStartAddress(u32),
RAMSize(u32),
SystemDeviceId(u32),
FlashSecurityState(FlashSecurityState),
UniqueDeviceId(DeviceId),
FlashFacSupport(bool),
FlashAccessSegmentSize(u32),
FlashAccessSegmentCount(u32),
FlashReadMargin(FlashReadMargin),
QSPIInitStatus(StatusCode),
TargetVersion(Version),
ExternalMemoryAttributes(ExternalMemoryAttributes),
ReliableUpdateStatus(StatusCode),
FlashPageSize(u32),
IrqNotifierPin(IrqNotifierPin),
PFRKeystoreUpdateOpt(PfrKeystoreUpdateOpt),
ByteWriteTimeoutMs(u32),
FuseLockedStatus = 31,
BootStatusRegister(u32),
FirmwareVersion(u32),
FuseProgramVoltage(FuseProgramVoltage),
VerifyErase(bool),
SHEFlashPartition(SHEFlashPartition),
SHEBootMode(SHEBootMode),
LifeCycleState(LifeCycleState),
}Expand description
Enumeration of bootloader property tags.
These properties can be queried from the bootloader to get information about the device capabilities, memory layout, and current status.
Variants§
CurrentVersion(Version)
Current version of the bootloader
AvailablePeripherals(Box<[PeripheryTag]>)
List of available peripheral interfaces
FlashStartAddress(u32)
FlashSize(u32)
Size of the internal flash memory
FlashSectorSize(u32)
Size of a single flash sector
FlashBlockCount(u32)
Number of flash blocks
AvailableCommands(Box<[CommandTagDiscriminants]>)
List of available bootloader commands
CRCCheckStatus(StatusCode)
Status of the last CRC check operation
LastError(u32)
Value of the last error that occurred
VerifyWrites(bool)
Whether write operations are verified after completion
MaxPacketSize(u32)
Maximum packet size for data transfer
ReservedRegions(ReservedRegions)
Memory regions reserved by the bootloader
ValidateRegions(bool)
Regions that should be validated
RAMStartAddress(u32)
Start address of the internal RAM memory
RAMSize(u32)
Size of the internal RAM memory
SystemDeviceId(u32)
System device identification number
FlashSecurityState(FlashSecurityState)
Current security state of the flash memory
UniqueDeviceId(DeviceId)
Unique device identification bytes
FlashFacSupport(bool)
Flash factory support information
FlashAccessSegmentSize(u32)
Size of flash access segments
FlashAccessSegmentCount(u32)
Number of flash access segments
FlashReadMargin(FlashReadMargin)
Flash read margin setting
QSPIInitStatus(StatusCode)
QuadSPI initialization status
TargetVersion(Version)
Target version information
ExternalMemoryAttributes(ExternalMemoryAttributes)
Attributes of external memory devices
ReliableUpdateStatus(StatusCode)
Status of reliable update feature
FlashPageSize(u32)
Size of a single flash page
IrqNotifierPin(IrqNotifierPin)
IRQ notifier pin configuration
PFRKeystoreUpdateOpt(PfrKeystoreUpdateOpt)
PFR keystore update option
ByteWriteTimeoutMs(u32)
Timeout for byte write operations in milliseconds
FuseLockedStatus = 31
Status of fuse locked state
BootStatusRegister(u32)
Boot status register value
FirmwareVersion(u32)
Firmware version information
FuseProgramVoltage(FuseProgramVoltage)
Fuse program voltage setting
VerifyErase(bool)
Whether erase operations are verified after completion
SHEFlashPartition(SHEFlashPartition)
Secure Hardware Extension flash partition information
SHEBootMode(SHEBootMode)
Secure Hardware Extension boot mode information
LifeCycleState(LifeCycleState)
Current life cycle state of the device
Implementations§
Source§impl PropertyTag
impl PropertyTag
Sourcepub fn from_code(tag: PropertyTagDiscriminants, data: &[u32]) -> PropertyTag
pub fn from_code(tag: PropertyTagDiscriminants, data: &[u32]) -> PropertyTag
Create a PropertyTag from a discriminant and data array.
Parses the raw data according to the property type and creates
the appropriate PropertyTag variant.
§Arguments
tag- Property tag discriminant identifying the property typedata- Raw data array containing the property value
§Returns
Parsed PropertyTag variant
§Panics
When parsing PropertyTag::CRCCheckStatus, if the status returned by the board is invalid.
Trait Implementations§
Source§impl Clone for PropertyTag
impl Clone for PropertyTag
Source§fn clone(&self) -> PropertyTag
fn clone(&self) -> PropertyTag
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more