Struct SYSTEM

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

System Configuration Registers

Implementations§

Source§

impl SYSTEM

Source

pub const PTR: *const RegisterBlock = {0x3f4c0000 as *const system::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 rom_ctrl_0(&self) -> &ROM_CTRL_0

0x00 - System ROM configuration register 0

Source

pub fn rom_ctrl_1(&self) -> &ROM_CTRL_1

0x04 - System ROM configuration register 1

Source

pub fn sram_ctrl_0(&self) -> &SRAM_CTRL_0

0x08 - System SRAM configuration register 0

Source

pub fn sram_ctrl_1(&self) -> &SRAM_CTRL_1

0x0c - System SRAM configuration register 1

Source

pub fn cpu_peri_clk_en(&self) -> &CPU_PERI_CLK_EN

0x10 - CPU peripheral clock enable register

Source

pub fn cpu_peri_rst_en(&self) -> &CPU_PERI_RST_EN

0x14 - CPU peripheral reset register

Source

pub fn cpu_per_conf(&self) -> &CPU_PER_CONF

0x18 - CPU peripheral clock configuration register

Source

pub fn jtag_ctrl_0(&self) -> &JTAG_CTRL_0

0x1c - JTAG configuration register 0

Source

pub fn jtag_ctrl_1(&self) -> &JTAG_CTRL_1

0x20 - JTAG configuration register 1

Source

pub fn jtag_ctrl_2(&self) -> &JTAG_CTRL_2

0x24 - JTAG configuration register 2

Source

pub fn jtag_ctrl_3(&self) -> &JTAG_CTRL_3

0x28 - JTAG configuration register 3

Source

pub fn jtag_ctrl_4(&self) -> &JTAG_CTRL_4

0x2c - JTAG configuration register 4

Source

pub fn jtag_ctrl_5(&self) -> &JTAG_CTRL_5

0x30 - JTAG configuration register 5

Source

pub fn jtag_ctrl_6(&self) -> &JTAG_CTRL_6

0x34 - JTAG configuration register 6

Source

pub fn jtag_ctrl_7(&self) -> &JTAG_CTRL_7

0x38 - JTAG configuration register 7

Source

pub fn mem_pd_mask(&self) -> &MEM_PD_MASK

0x3c - Memory power-related controlling register (under low-sleep)

Source

pub fn perip_clk_en0(&self) -> &PERIP_CLK_EN0

0x40 - System peripheral clock (for hardware accelerators) enable register

Source

pub fn perip_clk_en1(&self) -> &PERIP_CLK_EN1

0x44 - System peripheral clock (for hardware accelerators) enable register 1

Source

pub fn perip_rst_en0(&self) -> &PERIP_RST_EN0

0x48 - System peripheral (hardware accelerators) reset register 0

Source

pub fn perip_rst_en1(&self) -> &PERIP_RST_EN1

0x4c - System peripheral (hardware accelerators) reset register 1

Source

pub fn lpck_div_int(&self) -> &LPCK_DIV_INT

0x50 - Low power clock divider integer register

Source

pub fn bt_lpck_div_frac(&self) -> &BT_LPCK_DIV_FRAC

0x54 - Divider fraction configuration register for low-power clock

Source

pub fn cpu_intr_from_cpu_0(&self) -> &CPU_INTR_FROM_CPU_0

0x58 - CPU interrupt controlling register 0

Source

pub fn cpu_intr_from_cpu_1(&self) -> &CPU_INTR_FROM_CPU_1

0x5c - CPU interrupt controlling register 1

Source

pub fn cpu_intr_from_cpu_2(&self) -> &CPU_INTR_FROM_CPU_2

0x60 - CPU interrupt controlling register 2

Source

pub fn cpu_intr_from_cpu_3(&self) -> &CPU_INTR_FROM_CPU_3

0x64 - CPU interrupt controlling register 3

Source

pub fn rsa_pd_ctrl(&self) -> &RSA_PD_CTRL

0x68 - RSA memory remapping register

Source

pub fn bustoextmem_ena(&self) -> &BUSTOEXTMEM_ENA

0x6c - EDMA enable register

Source

pub fn cache_control(&self) -> &CACHE_CONTROL

0x70 - Cache control register

Source

pub fn external_device_encrypt_decrypt_control( &self, ) -> &EXTERNAL_DEVICE_ENCRYPT_DECRYPT_CONTROL

0x74 - External memory encrypt and decrypt controlling register

Source

pub fn rtc_fastmem_config(&self) -> &RTC_FASTMEM_CONFIG

0x78 - RTC fast memory configuration register

Source

pub fn rtc_fastmem_crc(&self) -> &RTC_FASTMEM_CRC

0x7c - RTC fast memory CRC controlling register

Source

pub fn redundant_eco_ctrl(&self) -> &REDUNDANT_ECO_CTRL

0x80 - Redundant ECO control register

Source

pub fn clock_gate(&self) -> &CLOCK_GATE

0x84 - Clock gate control register

Source

pub fn sram_ctrl_2(&self) -> &SRAM_CTRL_2

0x88 - System SRAM configuration register 2

Source

pub fn sysclk_conf(&self) -> &SYSCLK_CONF

0x8c - SoC clock configuration register

Source

pub fn date(&self) -> &DATE

0xffc - Version control register

Trait Implementations§

Source§

impl Debug for SYSTEM

Source§

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

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

impl Deref for SYSTEM

Source§

type Target = RegisterBlock

The resulting type after dereferencing.
Source§

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

Dereferences the value.
Source§

impl Send for SYSTEM

Auto Trait Implementations§

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.