pub struct RawFlashAlgorithm {Show 22 fields
pub name: String,
pub description: String,
pub default: bool,
pub instructions: Vec<u8>,
pub load_address: Option<u64>,
pub data_load_address: Option<u64>,
pub pc_init: Option<u64>,
pub pc_uninit: Option<u64>,
pub pc_program_page: u64,
pub pc_erase_sector: u64,
pub pc_erase_all: Option<u64>,
pub pc_verify: Option<u64>,
pub pc_read: Option<u64>,
pub pc_blank_check: Option<u64>,
pub data_section_offset: u64,
pub rtt_location: Option<u64>,
pub flash_properties: FlashProperties,
pub cores: Vec<String>,
pub stack_size: Option<u32>,
pub stack_overflow_check: Option<bool>,
pub transfer_encoding: Option<TransferEncoding>,
pub big_endian: bool,
}Expand description
The raw flash algorithm is the description of a flash algorithm, and is usually read from a target description file.
Before it can be used for flashing, it has to be assembled for
a specific chip, by determining the RAM addresses which are used when flashing.
This process is done in the main probe-rs library.
Fields§
§name: StringThe name of the flash algorithm.
description: StringThe description of the algorithm.
default: boolWhether this flash algorithm is the default one or not.
instructions: Vec<u8>List of 32-bit words containing the code for the algo. If load_address is not specified, the code must be position independent (PIC).
load_address: Option<u64>Address to load algo into RAM. Optional.
data_load_address: Option<u64>Address to load data into RAM. Optional.
pc_init: Option<u64>Address of the Init() entry point. Optional.
pc_uninit: Option<u64>Address of the UnInit() entry point. Optional.
pc_program_page: u64Address of the ProgramPage() entry point.
pc_erase_sector: u64Address of the EraseSector() entry point.
pc_erase_all: Option<u64>Address of the EraseAll() entry point. Optional.
pc_verify: Option<u64>Address of the Verify() entry point. Optional.
pc_read: Option<u64>Address of the (non-standard) ReadFlash() entry point. Optional.
pc_blank_check: Option<u64>Address of the BlankCheck() entry point. Optional.
data_section_offset: u64The offset from the start of RAM to the data section.
rtt_location: Option<u64>Location of the RTT control block in RAM.
If this is set, the flash algorithm supports RTT output and debug messages will be read over RTT.
flash_properties: FlashPropertiesThe properties of the flash on the device.
cores: Vec<String>List of cores that can use this algorithm
stack_size: Option<u32>The flash algorithm’s stack size, in bytes.
If not set, probe-rs selects a default value. Increase this value if you’re concerned about stack overruns during flashing.
stack_overflow_check: Option<bool>Whether to check for stack overflows during flashing.
transfer_encoding: Option<TransferEncoding>The encoding format accepted by the flash algorithm.
big_endian: booltrue if the instructions are saved in Big Endian format
Implementations§
Source§impl RawFlashAlgorithm
impl RawFlashAlgorithm
Sourcepub fn stack_overflow_check(&self) -> bool
pub fn stack_overflow_check(&self) -> bool
Whether to check for stack overflows during flashing.
Trait Implementations§
Source§impl Clone for RawFlashAlgorithm
impl Clone for RawFlashAlgorithm
Source§fn clone(&self) -> RawFlashAlgorithm
fn clone(&self) -> RawFlashAlgorithm
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RawFlashAlgorithm
impl Debug for RawFlashAlgorithm
Source§impl Default for RawFlashAlgorithm
impl Default for RawFlashAlgorithm
Source§fn default() -> RawFlashAlgorithm
fn default() -> RawFlashAlgorithm
Source§impl<'de> Deserialize<'de> for RawFlashAlgorithm
impl<'de> Deserialize<'de> for RawFlashAlgorithm
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Hash for RawFlashAlgorithm
impl Hash for RawFlashAlgorithm
Source§impl PartialEq for RawFlashAlgorithm
impl PartialEq for RawFlashAlgorithm
Source§impl Serialize for RawFlashAlgorithm
impl Serialize for RawFlashAlgorithm
impl Eq for RawFlashAlgorithm
impl StructuralPartialEq for RawFlashAlgorithm
Auto Trait Implementations§
impl Freeze for RawFlashAlgorithm
impl RefUnwindSafe for RawFlashAlgorithm
impl Send for RawFlashAlgorithm
impl Sync for RawFlashAlgorithm
impl Unpin for RawFlashAlgorithm
impl UnwindSafe for RawFlashAlgorithm
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.