probe_rs::architecture::arm::component

Trait DebugComponentInterface

Source
pub trait DebugComponentInterface:
    MemoryMappedRegister<u32>
    + Clone
    + From<u32>
    + Into<u32>
    + Sized
    + Debug {
    // Provided methods
    fn load(
        component: &CoresightComponent,
        interface: &mut dyn ArmProbeInterface,
    ) -> Result<Self, ArmError> { ... }
    fn load_unit(
        component: &CoresightComponent,
        interface: &mut dyn ArmProbeInterface,
        unit: usize,
    ) -> Result<Self, ArmError> { ... }
    fn store(
        &self,
        component: &CoresightComponent,
        interface: &mut dyn ArmProbeInterface,
    ) -> Result<(), ArmError> { ... }
    fn store_unit(
        &self,
        component: &CoresightComponent,
        interface: &mut dyn ArmProbeInterface,
        unit: usize,
    ) -> Result<(), ArmError> { ... }
}
Expand description

A trait to be implemented on memory mapped register types for debug component interfaces.

Provided Methods§

Source

fn load( component: &CoresightComponent, interface: &mut dyn ArmProbeInterface, ) -> Result<Self, ArmError>

Loads the register value from the given debug component via the given core.

Source

fn load_unit( component: &CoresightComponent, interface: &mut dyn ArmProbeInterface, unit: usize, ) -> Result<Self, ArmError>

Loads the register value from the given component in given unit via the given core.

Source

fn store( &self, component: &CoresightComponent, interface: &mut dyn ArmProbeInterface, ) -> Result<(), ArmError>

Stores the register value to the given debug component via the given core.

Source

fn store_unit( &self, component: &CoresightComponent, interface: &mut dyn ArmProbeInterface, unit: usize, ) -> Result<(), ArmError>

Stores the register value to the given component in given unit via the given core.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§