1#[repr(C)]
2#[cfg_attr(feature = "debug", derive(Debug))]
3#[doc = "Register block"]
4pub struct RegisterBlock {
5 _reserved0: [u8; 0x20],
6 bootadr: Bootadr,
7 ctrl: Ctrl,
8 pc: Pc,
9 sp: Sp,
10 break_addr: BreakAddr,
11 break_vect: BreakVect,
12 emer_vect: EmerVect,
13 emer_sel: EmerSel,
14 arm2ezh: Arm2ezh,
15 ezh2arm: Ezh2arm,
16 pendtrap: Pendtrap,
17}
18impl RegisterBlock {
19 #[doc = "0x20 - Boot Address"]
20 #[inline(always)]
21 pub const fn bootadr(&self) -> &Bootadr {
22 &self.bootadr
23 }
24 #[doc = "0x24 - Control"]
25 #[inline(always)]
26 pub const fn ctrl(&self) -> &Ctrl {
27 &self.ctrl
28 }
29 #[doc = "0x28 - Program Counter"]
30 #[inline(always)]
31 pub const fn pc(&self) -> &Pc {
32 &self.pc
33 }
34 #[doc = "0x2c - Stack Pointer"]
35 #[inline(always)]
36 pub const fn sp(&self) -> &Sp {
37 &self.sp
38 }
39 #[doc = "0x30 - Breakpoint Address"]
40 #[inline(always)]
41 pub const fn break_addr(&self) -> &BreakAddr {
42 &self.break_addr
43 }
44 #[doc = "0x34 - Breakpoint Vector"]
45 #[inline(always)]
46 pub const fn break_vect(&self) -> &BreakVect {
47 &self.break_vect
48 }
49 #[doc = "0x38 - Emergency Vector"]
50 #[inline(always)]
51 pub const fn emer_vect(&self) -> &EmerVect {
52 &self.emer_vect
53 }
54 #[doc = "0x3c - Emergency Select"]
55 #[inline(always)]
56 pub const fn emer_sel(&self) -> &EmerSel {
57 &self.emer_sel
58 }
59 #[doc = "0x40 - ARM to EZH Interrupt Control"]
60 #[inline(always)]
61 pub const fn arm2ezh(&self) -> &Arm2ezh {
62 &self.arm2ezh
63 }
64 #[doc = "0x44 - EZH to ARM Trigger"]
65 #[inline(always)]
66 pub const fn ezh2arm(&self) -> &Ezh2arm {
67 &self.ezh2arm
68 }
69 #[doc = "0x48 - Pending Trap Control"]
70 #[inline(always)]
71 pub const fn pendtrap(&self) -> &Pendtrap {
72 &self.pendtrap
73 }
74}
75#[doc = "BOOTADR (rw) register accessor: Boot Address\n\nYou can [`read`](crate::Reg::read) this register and get [`bootadr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`bootadr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@bootadr`] module"]
76#[doc(alias = "BOOTADR")]
77pub type Bootadr = crate::Reg<bootadr::BootadrSpec>;
78#[doc = "Boot Address"]
79pub mod bootadr;
80#[doc = "CTRL (rw) register accessor: Control\n\nYou can [`read`](crate::Reg::read) this register and get [`ctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ctrl::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ctrl`] module"]
81#[doc(alias = "CTRL")]
82pub type Ctrl = crate::Reg<ctrl::CtrlSpec>;
83#[doc = "Control"]
84pub mod ctrl;
85#[doc = "PC (r) register accessor: Program Counter\n\nYou can [`read`](crate::Reg::read) this register and get [`pc::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@pc`] module"]
86#[doc(alias = "PC")]
87pub type Pc = crate::Reg<pc::PcSpec>;
88#[doc = "Program Counter"]
89pub mod pc;
90#[doc = "SP (r) register accessor: Stack Pointer\n\nYou can [`read`](crate::Reg::read) this register and get [`sp::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@sp`] module"]
91#[doc(alias = "SP")]
92pub type Sp = crate::Reg<sp::SpSpec>;
93#[doc = "Stack Pointer"]
94pub mod sp;
95#[doc = "BREAK_ADDR (rw) register accessor: Breakpoint Address\n\nYou can [`read`](crate::Reg::read) this register and get [`break_addr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`break_addr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@break_addr`] module"]
96#[doc(alias = "BREAK_ADDR")]
97pub type BreakAddr = crate::Reg<break_addr::BreakAddrSpec>;
98#[doc = "Breakpoint Address"]
99pub mod break_addr;
100#[doc = "BREAK_VECT (rw) register accessor: Breakpoint Vector\n\nYou can [`read`](crate::Reg::read) this register and get [`break_vect::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`break_vect::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@break_vect`] module"]
101#[doc(alias = "BREAK_VECT")]
102pub type BreakVect = crate::Reg<break_vect::BreakVectSpec>;
103#[doc = "Breakpoint Vector"]
104pub mod break_vect;
105#[doc = "EMER_VECT (rw) register accessor: Emergency Vector\n\nYou can [`read`](crate::Reg::read) this register and get [`emer_vect::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`emer_vect::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@emer_vect`] module"]
106#[doc(alias = "EMER_VECT")]
107pub type EmerVect = crate::Reg<emer_vect::EmerVectSpec>;
108#[doc = "Emergency Vector"]
109pub mod emer_vect;
110#[doc = "EMER_SEL (rw) register accessor: Emergency Select\n\nYou can [`read`](crate::Reg::read) this register and get [`emer_sel::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`emer_sel::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@emer_sel`] module"]
111#[doc(alias = "EMER_SEL")]
112pub type EmerSel = crate::Reg<emer_sel::EmerSelSpec>;
113#[doc = "Emergency Select"]
114pub mod emer_sel;
115#[doc = "ARM2EZH (rw) register accessor: ARM to EZH Interrupt Control\n\nYou can [`read`](crate::Reg::read) this register and get [`arm2ezh::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`arm2ezh::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@arm2ezh`] module"]
116#[doc(alias = "ARM2EZH")]
117pub type Arm2ezh = crate::Reg<arm2ezh::Arm2ezhSpec>;
118#[doc = "ARM to EZH Interrupt Control"]
119pub mod arm2ezh;
120#[doc = "EZH2ARM (rw) register accessor: EZH to ARM Trigger\n\nYou can [`read`](crate::Reg::read) this register and get [`ezh2arm::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ezh2arm::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ezh2arm`] module"]
121#[doc(alias = "EZH2ARM")]
122pub type Ezh2arm = crate::Reg<ezh2arm::Ezh2armSpec>;
123#[doc = "EZH to ARM Trigger"]
124pub mod ezh2arm;
125#[doc = "PENDTRAP (rw) register accessor: Pending Trap Control\n\nYou can [`read`](crate::Reg::read) this register and get [`pendtrap::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pendtrap::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@pendtrap`] module"]
126#[doc(alias = "PENDTRAP")]
127pub type Pendtrap = crate::Reg<pendtrap::PendtrapSpec>;
128#[doc = "Pending Trap Control"]
129pub mod pendtrap;