stm32wb_pac/
flash.rs

1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4    #[doc = "0x00 - Access control register"]
5    pub acr: ACR,
6    _reserved1: [u8; 4usize],
7    #[doc = "0x08 - Flash key register"]
8    pub keyr: KEYR,
9    #[doc = "0x0c - Option byte key register"]
10    pub optkeyr: OPTKEYR,
11    #[doc = "0x10 - Status register"]
12    pub sr: SR,
13    #[doc = "0x14 - Flash control register"]
14    pub cr: CR,
15    #[doc = "0x18 - Flash ECC register"]
16    pub eccr: ECCR,
17    _reserved6: [u8; 4usize],
18    #[doc = "0x20 - Flash option register"]
19    pub optr: OPTR,
20    #[doc = "0x24 - Flash Bank 1 PCROP Start address zone A register"]
21    pub pcrop1asr: PCROP1ASR,
22    #[doc = "0x28 - Flash Bank 1 PCROP End address zone A register"]
23    pub pcrop1aer: PCROP1AER,
24    #[doc = "0x2c - Flash Bank 1 WRP area A address register"]
25    pub wrp1ar: WRP1AR,
26    #[doc = "0x30 - Flash Bank 1 WRP area B address register"]
27    pub wrp1br: WRP1BR,
28    #[doc = "0x34 - Flash Bank 1 PCROP Start address area B register"]
29    pub pcrop1bsr: PCROP1BSR,
30    #[doc = "0x38 - Flash Bank 1 PCROP End address area B register"]
31    pub pcrop1ber: PCROP1BER,
32    #[doc = "0x3c - IPCC mailbox data buffer address register"]
33    pub ipccbr: IPCCBR,
34    _reserved14: [u8; 28usize],
35    #[doc = "0x5c - CPU2 cortex M0 access control register"]
36    pub c2acr: C2ACR,
37    #[doc = "0x60 - CPU2 cortex M0 status register"]
38    pub c2sr: C2SR,
39    #[doc = "0x64 - CPU2 cortex M0 control register"]
40    pub c2cr: C2CR,
41    _reserved17: [u8; 24usize],
42    #[doc = "0x80 - Secure flash start address register"]
43    pub sfr: SFR,
44    #[doc = "0x84 - Secure SRAM2 start address and cortex M0 reset vector register"]
45    pub srrvr: SRRVR,
46}
47#[doc = "Access control register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [acr](acr) module"]
48pub type ACR = crate::Reg<u32, _ACR>;
49#[allow(missing_docs)]
50#[doc(hidden)]
51pub struct _ACR;
52#[doc = "`read()` method returns [acr::R](acr::R) reader structure"]
53impl crate::Readable for ACR {}
54#[doc = "`write(|w| ..)` method takes [acr::W](acr::W) writer structure"]
55impl crate::Writable for ACR {}
56#[doc = "Access control register"]
57pub mod acr;
58#[doc = "Flash key register\n\nThis register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [keyr](keyr) module"]
59pub type KEYR = crate::Reg<u32, _KEYR>;
60#[allow(missing_docs)]
61#[doc(hidden)]
62pub struct _KEYR;
63#[doc = "`write(|w| ..)` method takes [keyr::W](keyr::W) writer structure"]
64impl crate::Writable for KEYR {}
65#[doc = "Flash key register"]
66pub mod keyr;
67#[doc = "Option byte key register\n\nThis register you can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [optkeyr](optkeyr) module"]
68pub type OPTKEYR = crate::Reg<u32, _OPTKEYR>;
69#[allow(missing_docs)]
70#[doc(hidden)]
71pub struct _OPTKEYR;
72#[doc = "`write(|w| ..)` method takes [optkeyr::W](optkeyr::W) writer structure"]
73impl crate::Writable for OPTKEYR {}
74#[doc = "Option byte key register"]
75pub mod optkeyr;
76#[doc = "Status register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [sr](sr) module"]
77pub type SR = crate::Reg<u32, _SR>;
78#[allow(missing_docs)]
79#[doc(hidden)]
80pub struct _SR;
81#[doc = "`read()` method returns [sr::R](sr::R) reader structure"]
82impl crate::Readable for SR {}
83#[doc = "`write(|w| ..)` method takes [sr::W](sr::W) writer structure"]
84impl crate::Writable for SR {}
85#[doc = "Status register"]
86pub mod sr;
87#[doc = "Flash control register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [cr](cr) module"]
88pub type CR = crate::Reg<u32, _CR>;
89#[allow(missing_docs)]
90#[doc(hidden)]
91pub struct _CR;
92#[doc = "`read()` method returns [cr::R](cr::R) reader structure"]
93impl crate::Readable for CR {}
94#[doc = "`write(|w| ..)` method takes [cr::W](cr::W) writer structure"]
95impl crate::Writable for CR {}
96#[doc = "Flash control register"]
97pub mod cr;
98#[doc = "Flash ECC register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [eccr](eccr) module"]
99pub type ECCR = crate::Reg<u32, _ECCR>;
100#[allow(missing_docs)]
101#[doc(hidden)]
102pub struct _ECCR;
103#[doc = "`read()` method returns [eccr::R](eccr::R) reader structure"]
104impl crate::Readable for ECCR {}
105#[doc = "`write(|w| ..)` method takes [eccr::W](eccr::W) writer structure"]
106impl crate::Writable for ECCR {}
107#[doc = "Flash ECC register"]
108pub mod eccr;
109#[doc = "Flash option register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [optr](optr) module"]
110pub type OPTR = crate::Reg<u32, _OPTR>;
111#[allow(missing_docs)]
112#[doc(hidden)]
113pub struct _OPTR;
114#[doc = "`read()` method returns [optr::R](optr::R) reader structure"]
115impl crate::Readable for OPTR {}
116#[doc = "`write(|w| ..)` method takes [optr::W](optr::W) writer structure"]
117impl crate::Writable for OPTR {}
118#[doc = "Flash option register"]
119pub mod optr;
120#[doc = "Flash Bank 1 PCROP Start address zone A register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [pcrop1asr](pcrop1asr) module"]
121pub type PCROP1ASR = crate::Reg<u32, _PCROP1ASR>;
122#[allow(missing_docs)]
123#[doc(hidden)]
124pub struct _PCROP1ASR;
125#[doc = "`read()` method returns [pcrop1asr::R](pcrop1asr::R) reader structure"]
126impl crate::Readable for PCROP1ASR {}
127#[doc = "`write(|w| ..)` method takes [pcrop1asr::W](pcrop1asr::W) writer structure"]
128impl crate::Writable for PCROP1ASR {}
129#[doc = "Flash Bank 1 PCROP Start address zone A register"]
130pub mod pcrop1asr;
131#[doc = "Flash Bank 1 PCROP End address zone A register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [pcrop1aer](pcrop1aer) module"]
132pub type PCROP1AER = crate::Reg<u32, _PCROP1AER>;
133#[allow(missing_docs)]
134#[doc(hidden)]
135pub struct _PCROP1AER;
136#[doc = "`read()` method returns [pcrop1aer::R](pcrop1aer::R) reader structure"]
137impl crate::Readable for PCROP1AER {}
138#[doc = "`write(|w| ..)` method takes [pcrop1aer::W](pcrop1aer::W) writer structure"]
139impl crate::Writable for PCROP1AER {}
140#[doc = "Flash Bank 1 PCROP End address zone A register"]
141pub mod pcrop1aer;
142#[doc = "Flash Bank 1 WRP area A address register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [wrp1ar](wrp1ar) module"]
143pub type WRP1AR = crate::Reg<u32, _WRP1AR>;
144#[allow(missing_docs)]
145#[doc(hidden)]
146pub struct _WRP1AR;
147#[doc = "`read()` method returns [wrp1ar::R](wrp1ar::R) reader structure"]
148impl crate::Readable for WRP1AR {}
149#[doc = "`write(|w| ..)` method takes [wrp1ar::W](wrp1ar::W) writer structure"]
150impl crate::Writable for WRP1AR {}
151#[doc = "Flash Bank 1 WRP area A address register"]
152pub mod wrp1ar;
153#[doc = "Flash Bank 1 WRP area B address register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [wrp1br](wrp1br) module"]
154pub type WRP1BR = crate::Reg<u32, _WRP1BR>;
155#[allow(missing_docs)]
156#[doc(hidden)]
157pub struct _WRP1BR;
158#[doc = "`read()` method returns [wrp1br::R](wrp1br::R) reader structure"]
159impl crate::Readable for WRP1BR {}
160#[doc = "`write(|w| ..)` method takes [wrp1br::W](wrp1br::W) writer structure"]
161impl crate::Writable for WRP1BR {}
162#[doc = "Flash Bank 1 WRP area B address register"]
163pub mod wrp1br;
164#[doc = "Flash Bank 1 PCROP Start address area B register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [pcrop1bsr](pcrop1bsr) module"]
165pub type PCROP1BSR = crate::Reg<u32, _PCROP1BSR>;
166#[allow(missing_docs)]
167#[doc(hidden)]
168pub struct _PCROP1BSR;
169#[doc = "`read()` method returns [pcrop1bsr::R](pcrop1bsr::R) reader structure"]
170impl crate::Readable for PCROP1BSR {}
171#[doc = "`write(|w| ..)` method takes [pcrop1bsr::W](pcrop1bsr::W) writer structure"]
172impl crate::Writable for PCROP1BSR {}
173#[doc = "Flash Bank 1 PCROP Start address area B register"]
174pub mod pcrop1bsr;
175#[doc = "Flash Bank 1 PCROP End address area B register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [pcrop1ber](pcrop1ber) module"]
176pub type PCROP1BER = crate::Reg<u32, _PCROP1BER>;
177#[allow(missing_docs)]
178#[doc(hidden)]
179pub struct _PCROP1BER;
180#[doc = "`read()` method returns [pcrop1ber::R](pcrop1ber::R) reader structure"]
181impl crate::Readable for PCROP1BER {}
182#[doc = "`write(|w| ..)` method takes [pcrop1ber::W](pcrop1ber::W) writer structure"]
183impl crate::Writable for PCROP1BER {}
184#[doc = "Flash Bank 1 PCROP End address area B register"]
185pub mod pcrop1ber;
186#[doc = "IPCC mailbox data buffer address register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ipccbr](ipccbr) module"]
187pub type IPCCBR = crate::Reg<u32, _IPCCBR>;
188#[allow(missing_docs)]
189#[doc(hidden)]
190pub struct _IPCCBR;
191#[doc = "`read()` method returns [ipccbr::R](ipccbr::R) reader structure"]
192impl crate::Readable for IPCCBR {}
193#[doc = "`write(|w| ..)` method takes [ipccbr::W](ipccbr::W) writer structure"]
194impl crate::Writable for IPCCBR {}
195#[doc = "IPCC mailbox data buffer address register"]
196pub mod ipccbr;
197#[doc = "CPU2 cortex M0 access control register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [c2acr](c2acr) module"]
198pub type C2ACR = crate::Reg<u32, _C2ACR>;
199#[allow(missing_docs)]
200#[doc(hidden)]
201pub struct _C2ACR;
202#[doc = "`read()` method returns [c2acr::R](c2acr::R) reader structure"]
203impl crate::Readable for C2ACR {}
204#[doc = "`write(|w| ..)` method takes [c2acr::W](c2acr::W) writer structure"]
205impl crate::Writable for C2ACR {}
206#[doc = "CPU2 cortex M0 access control register"]
207pub mod c2acr;
208#[doc = "CPU2 cortex M0 status register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [c2sr](c2sr) module"]
209pub type C2SR = crate::Reg<u32, _C2SR>;
210#[allow(missing_docs)]
211#[doc(hidden)]
212pub struct _C2SR;
213#[doc = "`read()` method returns [c2sr::R](c2sr::R) reader structure"]
214impl crate::Readable for C2SR {}
215#[doc = "`write(|w| ..)` method takes [c2sr::W](c2sr::W) writer structure"]
216impl crate::Writable for C2SR {}
217#[doc = "CPU2 cortex M0 status register"]
218pub mod c2sr;
219#[doc = "CPU2 cortex M0 control register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [c2cr](c2cr) module"]
220pub type C2CR = crate::Reg<u32, _C2CR>;
221#[allow(missing_docs)]
222#[doc(hidden)]
223pub struct _C2CR;
224#[doc = "`read()` method returns [c2cr::R](c2cr::R) reader structure"]
225impl crate::Readable for C2CR {}
226#[doc = "`write(|w| ..)` method takes [c2cr::W](c2cr::W) writer structure"]
227impl crate::Writable for C2CR {}
228#[doc = "CPU2 cortex M0 control register"]
229pub mod c2cr;
230#[doc = "Secure flash start address register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [sfr](sfr) module"]
231pub type SFR = crate::Reg<u32, _SFR>;
232#[allow(missing_docs)]
233#[doc(hidden)]
234pub struct _SFR;
235#[doc = "`read()` method returns [sfr::R](sfr::R) reader structure"]
236impl crate::Readable for SFR {}
237#[doc = "`write(|w| ..)` method takes [sfr::W](sfr::W) writer structure"]
238impl crate::Writable for SFR {}
239#[doc = "Secure flash start address register"]
240pub mod sfr;
241#[doc = "Secure SRAM2 start address and cortex M0 reset vector register\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [srrvr](srrvr) module"]
242pub type SRRVR = crate::Reg<u32, _SRRVR>;
243#[allow(missing_docs)]
244#[doc(hidden)]
245pub struct _SRRVR;
246#[doc = "`read()` method returns [srrvr::R](srrvr::R) reader structure"]
247impl crate::Readable for SRRVR {}
248#[doc = "`write(|w| ..)` method takes [srrvr::W](srrvr::W) writer structure"]
249impl crate::Writable for SRRVR {}
250#[doc = "Secure SRAM2 start address and cortex M0 reset vector register"]
251pub mod srrvr;