1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
#[doc = r" Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - time register"]
    pub tr: TR,
    #[doc = "0x04 - date register"]
    pub dr: DR,
    #[doc = "0x08 - sub second register"]
    pub ssr: SSR,
    #[doc = "0x0c - initialization and status register"]
    pub icsr: ICSR,
    #[doc = "0x10 - prescaler register"]
    pub prer: PRER,
    #[doc = "0x14 - wakeup timer register"]
    pub wutr: WUTR,
    #[doc = "0x18 - control register"]
    pub cr: CR,
    _reserved0: [u8; 8usize],
    #[doc = "0x24 - write protection register"]
    pub wpr: WPR,
    #[doc = "0x28 - calibration register"]
    pub calr: CALR,
    #[doc = "0x2c - shift control register"]
    pub shiftr: SHIFTR,
    #[doc = "0x30 - time stamp time register"]
    pub tstr: TSTR,
    #[doc = "0x34 - time stamp date register"]
    pub tsdr: TSDR,
    #[doc = "0x38 - timestamp sub second register"]
    pub tsssr: TSSSR,
    _reserved1: [u8; 4usize],
    #[doc = "0x40 - alarm A register"]
    pub alrmar: ALRMAR,
    #[doc = "0x44 - alarm A sub second register"]
    pub alrmassr: ALRMASSR,
    #[doc = "0x48 - alarm B register"]
    pub alrmbr: ALRMBR,
    #[doc = "0x4c - alarm B sub second register"]
    pub alrmbssr: ALRMBSSR,
    #[doc = "0x50 - status register"]
    pub sr: SR,
    #[doc = "0x54 - masked interrupt status register"]
    pub misr: MISR,
    _reserved2: [u8; 4usize],
    #[doc = "0x5c - status clear register"]
    pub scr: SCR,
    _reserved3: [u8; 912usize],
    #[doc = "0x3f0 - hardware configuration register"]
    pub hwcfgr: HWCFGR,
    #[doc = "0x3f4 - EXTI IP Version register"]
    pub verr: VERR,
    #[doc = "0x3f8 - EXTI Identification register"]
    pub ipidr: IPIDR,
    #[doc = "0x3fc - EXTI Size ID register"]
    pub sidr: SIDR,
}
#[doc = "time register"]
pub struct TR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "time register"]
pub mod tr;
#[doc = "date register"]
pub struct DR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "date register"]
pub mod dr;
#[doc = "sub second register"]
pub struct SSR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "sub second register"]
pub mod ssr;
#[doc = "initialization and status register"]
pub struct ICSR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "initialization and status register"]
pub mod icsr;
#[doc = "prescaler register"]
pub struct PRER {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "prescaler register"]
pub mod prer;
#[doc = "wakeup timer register"]
pub struct WUTR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "wakeup timer register"]
pub mod wutr;
#[doc = "control register"]
pub struct CR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "control register"]
pub mod cr;
#[doc = "write protection register"]
pub struct WPR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "write protection register"]
pub mod wpr;
#[doc = "calibration register"]
pub struct CALR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "calibration register"]
pub mod calr;
#[doc = "shift control register"]
pub struct SHIFTR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "shift control register"]
pub mod shiftr;
#[doc = "time stamp time register"]
pub struct TSTR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "time stamp time register"]
pub mod tstr;
#[doc = "time stamp date register"]
pub struct TSDR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "time stamp date register"]
pub mod tsdr;
#[doc = "timestamp sub second register"]
pub struct TSSSR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "timestamp sub second register"]
pub mod tsssr;
#[doc = "alarm A register"]
pub struct ALRMAR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "alarm A register"]
pub mod alrmar;
#[doc = "alarm A sub second register"]
pub struct ALRMASSR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "alarm A sub second register"]
pub mod alrmassr;
#[doc = "alarm B register"]
pub struct ALRMBR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "alarm B register"]
pub mod alrmbr;
#[doc = "alarm B sub second register"]
pub struct ALRMBSSR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "alarm B sub second register"]
pub mod alrmbssr;
#[doc = "status register"]
pub struct SR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "status register"]
pub mod sr;
#[doc = "masked interrupt status register"]
pub struct MISR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "masked interrupt status register"]
pub mod misr;
#[doc = "status clear register"]
pub struct SCR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "status clear register"]
pub mod scr;
#[doc = "hardware configuration register"]
pub struct HWCFGR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "hardware configuration register"]
pub mod hwcfgr;
#[doc = "EXTI IP Version register"]
pub struct VERR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "EXTI IP Version register"]
pub mod verr;
#[doc = "EXTI Identification register"]
pub struct IPIDR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "EXTI Identification register"]
pub mod ipidr;
#[doc = "EXTI Size ID register"]
pub struct SIDR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "EXTI Size ID register"]
pub mod sidr;