Puf

Struct Puf 

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

PUF Controller

Implementations§

Source§

impl Puf

Source

pub const PTR: *const RegisterBlock = {0x40006000 as *const puf::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 ctrl(&self) -> &Ctrl

0x00 - PUF Control

Source

pub fn keyindex(&self) -> &Keyindex

0x04 - PUF Key Index

Source

pub fn keysize(&self) -> &Keysize

0x08 - PUF Key Size

Source

pub fn stat(&self) -> &Stat

0x20 - PUF Status

Source

pub fn allow(&self) -> &Allow

0x28 - PUF Allow

Source

pub fn keyinput(&self) -> &Keyinput

0x40 - PUF Key Input

Source

pub fn codeinput(&self) -> &Codeinput

0x44 - PUF Code Input

Source

pub fn codeoutput(&self) -> &Codeoutput

0x48 - PUF Code Output

Source

pub fn keyoutindex(&self) -> &Keyoutindex

0x60 - PUF Key Output Index

Source

pub fn keyoutput(&self) -> &Keyoutput

0x64 - PUF Key Output

Source

pub fn ifstat(&self) -> &Ifstat

0xdc - PUF Interface Status and Clear

Source

pub fn version(&self) -> &Version

0xfc - PUF Version

Source

pub fn inten(&self) -> &Inten

0x100 - PUF Interrupt Enable

Source

pub fn intstat(&self) -> &Intstat

0x104 - PUF Interrupt Status

Source

pub fn pwrctrl(&self) -> &Pwrctrl

0x108 - PUF Power Control

Source

pub fn cfg(&self) -> &Cfg

0x10c - PUF Configuration

Source

pub fn keylock(&self) -> &Keylock

0x200 - Key Lock

Source

pub fn keyenable(&self) -> &Keyenable

0x204 - Key Enable

Source

pub fn keyreset(&self) -> &Keyreset

0x208 - Key Reset

Source

pub fn idxblk_l(&self) -> &IdxblkL

0x20c - Index Block Low

Source

pub fn idxblk_h_dp(&self) -> &IdxblkHDp

0x210 - Index Block High Duplicate

Source

pub fn keymask(&self, n: usize) -> &Keymask

0x214..0x21c - Key Mask x

Source

pub fn keymask_iter(&self) -> impl Iterator<Item = &Keymask>

Iterator for array of: 0x214..0x21c - Key Mask x

Source

pub fn idxblk_h(&self) -> &IdxblkH

0x254 - Index Block High

Source

pub fn idxblk_l_dp(&self) -> &IdxblkLDp

0x258 - Index Block Low Duplicate

Trait Implementations§

Source§

impl Debug for Puf

Source§

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

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

impl Deref for Puf

Source§

type Target = RegisterBlock

The resulting type after dereferencing.
Source§

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

Dereferences the value.
Source§

impl Send for Puf

Auto Trait Implementations§

§

impl Freeze for Puf

§

impl RefUnwindSafe for Puf

§

impl !Sync for Puf

§

impl Unpin for Puf

§

impl UnwindSafe for Puf

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.