Struct TRACE

Source
pub struct TRACE { /* private fields */ }
Expand description

RISC-V Trace Encoder

Implementations§

Source§

impl TRACE

Source

pub const PTR: *const RegisterBlock = {0x600c0000 as *const trace::RegisterBlock}

Pointer to the register block

Source

pub const fn ptr() -> *const RegisterBlock

Return the pointer to the register block

Source

pub unsafe fn steal() -> Self

Steal an instance of this peripheral

§Safety

Ensure that the new instance of the peripheral cannot be used in a way that may race with any existing instances, for example by only accessing read-only or write-only registers, or by consuming the original peripheral and using critical sections to coordinate access between multiple new instances.

Additionally, other software such as HALs may rely on only one peripheral instance existing to ensure memory safety; ensure no stolen instances are passed to such software.

Methods from Deref<Target = RegisterBlock>§

Source

pub fn mem_start_addr(&self) -> &MEM_START_ADDR

0x00 - mem start addr

Source

pub fn mem_end_addr(&self) -> &MEM_END_ADDR

0x04 - mem end addr

Source

pub fn mem_current_addr(&self) -> &MEM_CURRENT_ADDR

0x08 - mem current addr

Source

pub fn mem_addr_update(&self) -> &MEM_ADDR_UPDATE

0x0c - mem addr update

Source

pub fn fifo_status(&self) -> &FIFO_STATUS

0x10 - fifo status register

Source

pub fn intr_ena(&self) -> &INTR_ENA

0x14 - interrupt enable register

Source

pub fn intr_raw(&self) -> &INTR_RAW

0x18 - interrupt status register

Source

pub fn intr_clr(&self) -> &INTR_CLR

0x1c - interrupt clear register

Source

pub fn trigger(&self) -> &TRIGGER

0x20 - trigger register

Source

pub fn resync_prolonged(&self) -> &RESYNC_PROLONGED

0x24 - resync configuration register

Source

pub fn clock_gate(&self) -> &CLOCK_GATE

0x28 - Clock gate control register

Source

pub fn date(&self) -> &DATE

0x3fc - Version control register

Trait Implementations§

Source§

impl Debug for TRACE

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Deref for TRACE

Source§

type Target = RegisterBlock

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Send for TRACE

Auto Trait Implementations§

§

impl Freeze for TRACE

§

impl RefUnwindSafe for TRACE

§

impl !Sync for TRACE

§

impl Unpin for TRACE

§

impl UnwindSafe for TRACE

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.