1nvic: IRQControllers.NVIC @ sysbus 0xE000E000
2    priorityMask: 0xF0
3    systickFrequency: 32000000
4    IRQ -> cpu@0
5
6cpu: CPU.CortexM @ sysbus
7    cpuType: "cortex-m33"
8    nvic: nvic
9
10// Missing interrupt lines for SPIs
11spi1: SPI.STM32SPI @ sysbus 0x40013000
12
13spi2: SPI.STM32SPI @ sysbus 0x40003800
14
15spi3: SPI.STM32SPI @ sysbus 0x40003C00
16
17// This model's registers are not compatible with the EXTI in this MCU,
18// it is currently here to support direct interrupts
19exti: IRQControllers.STM32F4_EXTI @ sysbus 0x4002F400
20    [0-15,17] -> nvic@[11-26,2]
21    numberOfOutputLines: 43
22    firstDirectLine: 17
23
24sram1: Memory.MappedMemory @ sysbus 0x20000000
25    size: 0x30000
26
27flash: Memory.MappedMemory @ sysbus 0x08000000
28    size: 0x80000
29
30// frequency to be verified
31usart1: UART.STM32F7_USART @ sysbus 0x40013800
32    frequency: 200000000
33    IRQ -> nvic@61
34
35usart2: UART.STM32F7_USART @ sysbus 0x40004400
36    frequency: 200000000
37    IRQ -> nvic@62
38
39usart3: UART.STM32F7_USART @ sysbus 0x40004800
40    frequency: 200000000
41    IRQ -> nvic@63
42
43uart4: UART.STM32F7_USART @ sysbus 0x40004C00
44    frequency: 200000000
45    IRQ -> nvic@64
46
47uart5: UART.STM32F7_USART @ sysbus 0x40005000
48    frequency: 200000000
49    IRQ -> nvic@65
50
51lpuart1: UART.STM32F7_USART @ sysbus 0x40008000
52    frequency: 200000000
53    IRQ -> nvic@66
54
55dma1: DMA.STM32LDMA @ sysbus 0x40020000
56    [0-7] -> nvic@[29-36]
57
58i2c1: I2C.STM32F4_I2C @ sysbus 0x40005400
59    EventInterrupt -> nvic@55
60    ErrorInterrupt -> nvic@56
61
62rtc: STM32L_RTC @ sysbus <0x40002800, +0x400>
63    -> exti@17
64
65// frequency to be verified
66timer2: Timers.STM32_Timer @ sysbus 0x40000000
67    -> nvic@28
68    frequency: 10000000
69    initialLimit: 0xFFFFFFFF
70
71timer3: Timers.STM32_Timer @ sysbus 0x40000400
72    -> nvic@29
73    frequency: 10000000
74    initialLimit: 0xFFFF
75
76timer4: Timers.STM32_Timer @ sysbus 0x40000800
77    -> nvic@30
78    frequency: 10000000
79    initialLimit: 0xFFFF
80
81timer5: Timers.STM32_Timer @ sysbus 0x40000C00
82    -> nvic@45
83    frequency: 10000000
84    initialLimit: 0xFFFFFFFF
85
86timer6: Timers.STM32_Timer @ sysbus 0x40001000
87    -> nvic@43
88    frequency: 10000000
89    initialLimit: 0xFFFF
90
91timer7: Timers.STM32_Timer @ sysbus 0x40001400
92    -> nvic@44
93    frequency: 10000000
94    initialLimit: 0xFFFF
95
96timer15: Timers.STM32_Timer @ sysbus 0x40014000
97    -> nvic@25
98    frequency: 10000000
99    initialLimit: 0xFFFF
100
101timer16: Timers.STM32_Timer @ sysbus 0x40014400
102    -> nvic@26
103    frequency: 10000000
104    initialLimit: 0xFFFF
105
106timer17: Timers.STM32_Timer @ sysbus 0x40014800
107    -> nvic@27
108    frequency: 10000000
109    initialLimit: 0xFFFF
110
111sysbus:
112    init:
113        // Hard set all oscillator RDY bits
114        Tag <0x40021000 4> "RCC_CR" 0x2A020402
115
116        // Hard set HSI16 oscillator as system clock
117        Tag <0x40021008 4> "RCC_CFGR" 0x4
118
119        Tag <0x42020000 0x400> "gpioPortA"
120        Tag <0x42020400 0x400> "gpioPortB"
121        Tag <0x42020800 0x400> "gpioPortC"
122        Tag <0x42020C00 0x400> "gpioPortD"
123        Tag <0x42021000 0x400> "gpioPortE"
124        Tag <0x42021400 0x400> "gpioPortF"
125        Tag <0x42021800 0x400> "gpioPortG"
126        Tag <0x42021C00 0x400> "gpioPortH"
127
128        Tag <0x40007000 0x400> "PWR"
129        Tag <0xE0001000 0xffb> "DWT"
130