pub struct TRACE { /* private fields */ }
Expand description
RISC-V Trace Encoder
Implementations§
Source§impl TRACE
impl TRACE
Sourcepub const PTR: *const RegisterBlock = {0x600c0000 as *const trace::RegisterBlock}
pub const PTR: *const RegisterBlock = {0x600c0000 as *const trace::RegisterBlock}
Pointer to the register block
Sourcepub const fn ptr() -> *const RegisterBlock
pub const fn ptr() -> *const RegisterBlock
Return the pointer to the register block
Sourcepub unsafe fn steal() -> Self
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>§
Sourcepub fn mem_start_addr(&self) -> &MEM_START_ADDR
pub fn mem_start_addr(&self) -> &MEM_START_ADDR
0x00 - mem start addr
Sourcepub fn mem_end_addr(&self) -> &MEM_END_ADDR
pub fn mem_end_addr(&self) -> &MEM_END_ADDR
0x04 - mem end addr
Sourcepub fn mem_current_addr(&self) -> &MEM_CURRENT_ADDR
pub fn mem_current_addr(&self) -> &MEM_CURRENT_ADDR
0x08 - mem current addr
Sourcepub fn mem_addr_update(&self) -> &MEM_ADDR_UPDATE
pub fn mem_addr_update(&self) -> &MEM_ADDR_UPDATE
0x0c - mem addr update
Sourcepub fn fifo_status(&self) -> &FIFO_STATUS
pub fn fifo_status(&self) -> &FIFO_STATUS
0x10 - fifo status register
Sourcepub fn resync_prolonged(&self) -> &RESYNC_PROLONGED
pub fn resync_prolonged(&self) -> &RESYNC_PROLONGED
0x24 - resync configuration register
Sourcepub fn clock_gate(&self) -> &CLOCK_GATE
pub fn clock_gate(&self) -> &CLOCK_GATE
0x28 - Clock gate control register