1fsmcBank1: Memory.MappedMemory @ sysbus 0xC0000000
2    size: 0x10000
3
4sram: Memory.MappedMemory @ sysbus 0x20000000
5    size: 0x20000
6
7flash: Memory.MappedMemory @ sysbus 0x08000000
8    size: 0x100000
9
10pwr: Miscellaneous.STM32WBA_PWR @ sysbus 0x46020800
11
12usart1: UART.STM32F7_USART @ sysbus 0x40013800
13    frequency: 200000000
14    IRQ -> nvic@46
15
16usart2: UART.STM32F7_USART @ sysbus 0x40004400
17    frequency: 200000000
18    IRQ -> nvic@47
19
20lpuart1: UART.STM32F7_USART @ sysbus 0x46002400
21    frequency: 200000000
22    lowPowerMode: true
23    IRQ -> nvic@48
24
25spi1: SPI.STM32WBA_SPI @ sysbus 0x40013000
26    IRQ -> nvic@45
27
28spi3: SPI.STM32WBA_SPI @ sysbus 0x46002000
29    IRQ -> nvic@63
30
31nvic: IRQControllers.NVIC @ sysbus 0xE000E000
32    priorityMask: 0xF0
33    // without any divider on the way the base clock is still divided by 8
34    systickFrequency: 16000000
35    IRQ -> cpu@0
36
37exti: IRQControllers.STM32WBA_EXTI @ sysbus 0x46022000
38    numberOfOutputLines: 24
39    [0-15] -> nvic@[11-26]
40
41adc4: Analog.STM32WBA_ADC @ sysbus 0x46021000
42    referenceVoltage: 3.0
43    externalEventFrequency: 1000
44    -> nvic@65
45
46cpu: CPU.CortexM @ sysbus
47    cpuType: "cortex-m33"
48    nvic: nvic
49
50gpioPortA: GPIOPort.STM32_GPIOPort @ sysbus <0x42020000, +0x400>
51    modeResetValue: 0xABFFFFFF
52    outputSpeedResetValue: 0x08000000
53    pullUpPullDownResetValue: 0x64000000
54    numberOfAFs: 16
55    [0-15] -> exti#0@[0-15]
56
57gpioPortB: GPIOPort.STM32_GPIOPort @ sysbus <0x42020400, +0x400>
58    modeResetValue: 0xFFFFFEBF
59    outputSpeedResetValue: 0x00000080
60    pullUpPullDownResetValue: 0x00000100
61    numberOfAFs: 16
62    [0-15] -> exti#1@[0-15]
63
64gpioPortC: GPIOPort.STM32_GPIOPort @ sysbus <0x42020800, +0x400>
65    modeResetValue: 0xFC000000
66    numberOfAFs: 16
67    [0-15] -> exti#2@[0-15]
68
69gpioPortH: GPIOPort.STM32_GPIOPort @ sysbus <0x42021C00, +0x400>
70    modeResetValue: 0x000000C0
71    numberOfAFs: 16
72    [0-15] -> exti#7@[0-15]
73
74rom: Memory.MappedMemory @ sysbus 0x1FFF0000
75    size: 0x10000
76
77i2c1: I2C.STM32F7_I2C @ sysbus 0x40005400
78    EventInterrupt -> nvic@43
79    ErrorInterrupt -> nvic@44
80
81i2c3: I2C.STM32F7_I2C @ sysbus 0x46002800
82    EventInterrupt -> nvic@54
83    ErrorInterrupt -> nvic@55
84
85timer1: Timers.STM32_Timer @ sysbus 0x40012C00
86    initialLimit: 0xFFFF
87    frequency: 16000000
88    IRQ -> nvic@40
89
90timer2: Timers.STM32_Timer @ sysbus 0x40000000
91    initialLimit: 0xFFFF
92    frequency: 16000000
93    IRQ -> nvic@41
94
95timer3: Timers.STM32_Timer @ sysbus 0x40000400
96    initialLimit: 0xFFFF
97    frequency: 16000000
98    IRQ -> nvic@42
99
100timer16: Timers.STM32_Timer @ sysbus 0x40014400
101    initialLimit: 0xFFFF
102    frequency: 16000000
103    IRQ -> nvic@51
104
105timer17: Timers.STM32_Timer @ sysbus 0x40014800
106    initialLimit: 0xFFFF
107    frequency: 16000000
108    IRQ -> nvic@52
109
110iwdg: Timers.STM32_IndependentWatchdog @ sysbus 0x40003000
111    frequency: 32000
112    windowOption: true
113    defaultPrescaler: 0
114
115lptim1: Timers.STM32L0_LpTimer @ sysbus 0x46004400
116    frequency: 16000000
117    -> nvic@49
118
119lptim2: Timers.STM32L0_LpTimer @ sysbus 0x40009400
120    frequency: 16000000
121    -> nvic@50
122
123rtc: Timers.STM32F4_RTC @ sysbus 0x46007800
124
125flash_ctrl: MTD.STM32WBA_FlashController @ sysbus 0x40022000
126    flash: flash
127    // TODO: connect interrupt
128
129rcc: Miscellaneous.STM32WBA_RCC @ sysbus 0x46020C00
130    nvic: nvic
131    lptim1: lptim1
132    lptim2: lptim2
133
134sysbus:
135    init:
136        Tag <0xE0001004, 0xE0001008> "DWT_CYCCNT" 100
137