nrf-pac

Crates

git

Versions

nrf54l15-app

Flavors

nrf_pac::tpiu

Struct Tpiu

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

Trace Port Interface Unit

Implementations§

Source§

impl Tpiu

Source

pub const unsafe fn from_ptr(ptr: *mut ()) -> Self

Source

pub const fn as_ptr(&self) -> *mut ()

Source

pub const fn supportedportsizes(self) -> Reg<Supportedportsizes, RW>

Each bit location is a single port size that is supported on the device.

Source

pub const fn currentportsize(self) -> Reg<Currentportsize, RW>

Each bit location is a single port size. One bit can be set, and indicates the current port size.

Source

pub const fn supportedtriggermodes(self) -> Reg<Supportedtriggermodes, RW>

The Supported_trigger_modes register indicates the implemented trigger counter multipliers and other supported features of the trigger system.

Source

pub const fn triggercountervalue(self) -> Reg<Triggercountervalue, RW>

The Trigger_counter_value register enables delaying the indication of triggers to any external connected trace capture or storage devices.

Source

pub const fn triggermultiplier(self) -> Reg<Triggermultiplier, RW>

The Trigger_multiplier register contains the selectors for the trigger counter multiplier.

Source

pub const fn suppportedtestpatternmodes( self, ) -> Reg<Suppportedtestpatternmodes, RW>

The Supported_test_pattern_modes register provides a set of known bit sequences or patterns that can be output over the trace port and can be detected by the TPA or other associated trace capture device.

Source

pub const fn currenttestpatternmodes(self) -> Reg<Currenttestpatternmodes, RW>

Current_test_pattern_mode indicates the current test pattern or mode selected.

Source

pub const fn tprcr(self) -> Reg<Tprcr, RW>

The TPRCR register is an 8-bit counter start value that is decremented. A write sets the initial counter value and a read returns the programmed value.

Source

pub const fn ffsr(self) -> Reg<Ffsr, RW>

The FFSR register indicates the current status of the formatter and flush features available in the TPIU.

Source

pub const fn ffcr(self) -> Reg<Ffcr, RW>

The FFCR register controls the generation of stop, trigger, and flush events.

Source

pub const fn fscr(self) -> Reg<Fscr, RW>

The FSCR register enables the frequency of synchronization information to be optimized to suit the Trace Port Analyzer (TPA) capture buffer size.

Source

pub const fn extctlinport(self) -> Reg<Extctlinport, RW>

Two ports can be used as a control and feedback mechanism for any serializers, pin sharing multiplexers, or other solutions that might be added to the trace output pins either for pin control or a high-speed trace port solution.

Source

pub const fn extctloutport(self) -> Reg<Extctloutport, RW>

Two ports can be used as a control and feedback mechanism for any serializers, pin sharing multiplexers, or other solutions that might be added to the trace output pins either for pin control or a high speed trace port solution. These ports are raw register banks that sample or export the corresponding external pins.

Source

pub const fn ittrflinack(self) -> Reg<Ittrflinack, RW>

The ITTRFLINACK register enables control of the triginack and flushinack outputs from the TPIU.

Source

pub const fn ittrflin(self) -> Reg<Ittrflin, RW>

The ITTRFLIN register contains the values of the flushin and trigin inputs to the TPIU.

Source

pub const fn itatbdata0(self) -> Reg<Itatbdata0, RW>

The ITATBDATA0 register contains the value of the atdatas inputs to the TPIU. The values are valid only when atvalids is HIGH.

Source

pub const fn itatbctr2(self) -> Reg<Itatbctr2, RW>

Enables control of the atreadys and afvalids outputs of the TPIU.

Source

pub const fn itatbctr1(self) -> Reg<Itatbctr1, RW>

The ITATBCTR1 register contains the value of the atids input to the TPIU. This is only valid when atvalids is HIGH.

Source

pub const fn itatbctr0(self) -> Reg<Itatbctr0, RW>

The ITATBCTR0 register captures the values of the atvalids, afreadys, and atbytess inputs to the TPIU. To ensure the integration registers work correctly in a system, the value of atbytess is only valid when atvalids, bit[0], is HIGH.

Source

pub const fn itctrl(self) -> Reg<Itctrl, RW>

Used to enable topology detection. This register enables the component to switch from a functional mode, the default behavior, to integration mode where the inputs and outputs of the component can be directly controlled for integration testing and topology solving.

Source

pub const fn claimset(self) -> Reg<Claimset, RW>

Software can use the claim tag to coordinate application and debugger access to trace unit functionality. The claim tags have no effect on the operation of the component. The CLAIMSET register sets bits in the claim tag, and determines the number of claim bits implemented.

Source

pub const fn claimclr(self) -> Reg<Claimclr, RW>

Software can use the claim tag to coordinate application and debugger access to trace unit functionality. The claim tags have no effect on the operation of the component. The CLAIMCLR register sets the bits in the claim tag to 0 and determines the current value of the claim tag.

Source

pub const fn lar(self) -> Reg<Lar, RW>

This is used to enable write access to device registers.

Source

pub const fn lsr(self) -> Reg<Lsr, RW>

This indicates the status of the lock control mechanism. This lock prevents accidental writes by code under debug. Accesses to the extended stimulus port registers are not affected by the lock mechanism. This register must always be present although there might not be any lock access control mechanism. The lock mechanism, where present and locked, must block write accesses to any control register, except the Lock Access Register. For most components this covers all registers except for the Lock Access Register.

Source

pub const fn authstatus(self) -> Reg<Authstatus, RW>

Indicates the current level of tracing permitted by the system

Source

pub const fn devid(self) -> Reg<Devid, R>

Indicates the capabilities of the component.

Source

pub const fn devtype(self) -> Reg<Devtype, R>

The DEVTYPE register provides a debugger with information about the component when the Part Number field is not recognized. The debugger can then report this information.

Source

pub const fn pidr4(self) -> Reg<u32, RW>

Coresight peripheral identification registers.

Source

pub const fn pidr_0(self) -> Reg<u32, RW>

Coresight peripheral identification registers.

Source

pub const fn pidr_1(self) -> Reg<u32, RW>

Coresight peripheral identification registers.

Source

pub const fn pidr_2(self) -> Reg<u32, RW>

Coresight peripheral identification registers.

Source

pub const fn pidr_3(self) -> Reg<u32, RW>

Coresight peripheral identification registers.

Source

pub const fn cidr_0(self) -> Reg<u32, RW>

Coresight component identification registers.

Source

pub const fn cidr_1(self) -> Reg<u32, RW>

Coresight component identification registers.

Source

pub const fn cidr_2(self) -> Reg<u32, RW>

Coresight component identification registers.

Source

pub const fn cidr_3(self) -> Reg<u32, RW>

Coresight component identification registers.

Trait Implementations§

Source§

impl Clone for Tpiu

Source§

fn clone(&self) -> Tpiu

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl PartialEq for Tpiu

Source§

fn eq(&self, other: &Tpiu) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for Tpiu

Source§

impl Eq for Tpiu

Source§

impl Send for Tpiu

Source§

impl StructuralPartialEq for Tpiu

Source§

impl Sync for Tpiu

Auto Trait Implementations§

§

impl Freeze for Tpiu

§

impl RefUnwindSafe for Tpiu

§

impl Unpin for Tpiu

§

impl UnwindSafe for Tpiu

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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<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.