Struct probe_rs_target::RawFlashAlgorithm
source · pub struct RawFlashAlgorithm {Show 17 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 data_section_offset: u64,
pub rtt_location: Option<u64>,
pub flash_properties: FlashProperties,
pub cores: Vec<String>,
pub stack_size: Option<u32>,
pub transfer_encoding: Option<TransferEncoding>,
}
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: String
The name of the flash algorithm.
description: String
The description of the algorithm.
default: bool
Whether 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: u64
Address of the ProgramPage()
entry point.
pc_erase_sector: u64
Address of the EraseSector()
entry point.
pc_erase_all: Option<u64>
Address of the EraseAll()
entry point. Optional.
data_section_offset: u64
The 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: FlashProperties
The 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.
transfer_encoding: Option<TransferEncoding>
The encoding format accepted by the flash algorithm.
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§fn eq(&self, other: &RawFlashAlgorithm) -> bool
fn eq(&self, other: &RawFlashAlgorithm) -> bool
self
and other
values to be equal, and is used
by ==
.