blob: 3425b334150843238994c7ec8e63be786c6d6128 [file] [log] [blame]
cpu: CPU.CortexM @ sysbus
cpuType: "cortex-m0+"
nvic: nvic
nvic: IRQControllers.NVIC @ sysbus 0xE000E000
priorityMask: 0xF0
systickFrequency: 32000000
IRQ -> cpu@0
sram: Memory.MappedMemory @ sysbus 0x20000000
size: 0x5000
exti: IRQControllers.STM32F4_EXTI @ sysbus 0x40010400
numberOfOutputLines: 30
firstDirectLine: 23
[0, 1] -> nvicInput5@[0, 1]
[2, 3] -> nvicInput6@[0, 1]
[4-15] -> nvicInput7@[0-11]
[16, 23, 25, 26, 28, 29] -> nvic@[1, 23, 27, 28, 29, 13]
[17, 19, 20] -> nvicInput2@[0-2]
[21, 22] -> nvicInput12@[0-1]
nvicInput5: Miscellaneous.CombinedInput
numberOfInputs: 2
-> nvic@5
nvicInput6: Miscellaneous.CombinedInput
numberOfInputs: 2
-> nvic@6
nvicInput7: Miscellaneous.CombinedInput
numberOfInputs: 12
-> nvic@7
nvicInput2: Miscellaneous.CombinedInput
numberOfInputs: 3
-> nvic@2
nvicInput12: Miscellaneous.CombinedInput
numberOfInputs: 2
-> nvic@12
adc1: Analog.STM32_ADC @ sysbus 0x40012400
IRQ->nvic@12
gpioPortA: GPIOPort.STM32_GPIOPort @ sysbus <0x50000000, +0x400>
modeResetValue: 0xEBFFFCFF
pullUpPullDownResetValue: 0x24000000
numberOfAFs: 8
[0-15] -> exti@[0-15]
gpioPortB: GPIOPort.STM32_GPIOPort @ sysbus <0x50000400, +0x400>
modeResetValue: 0xFFFFFFFF
pullUpPullDownResetValue: 0x00000000
numberOfAFs: 8
[0-15] -> exti@[0-15]
gpioPortC: GPIOPort.STM32_GPIOPort @ sysbus <0x50000800, +0x400>
modeResetValue: 0xFFFFFFFF
pullUpPullDownResetValue: 0x00000000
numberOfAFs: 8
[0-15] -> exti@[0-15]
gpioPortD: GPIOPort.STM32_GPIOPort @ sysbus <0x50000C00, +0x400>
modeResetValue: 0xFFFFFFFF
pullUpPullDownResetValue: 0x00000000
numberOfAFs: 8
[0-15] -> exti@[0-15]
gpioPortH: GPIOPort.STM32_GPIOPort @ sysbus <0x50001C00, +0x400>
modeResetValue: 0xFFFFFFFF
pullUpPullDownResetValue: 0x00000000
numberOfAFs: 8
[0-15] -> exti@[0-15]
gpioPortE: GPIOPort.STM32_GPIOPort @ sysbus <0x50001000, +0x400>
modeResetValue: 0xFFFFFFFF
pullUpPullDownResetValue: 0x00000000
numberOfAFs: 8
[0-15] -> exti@[0-15]
i2c1: I2C.STM32F7_I2C @ sysbus 0x40005400
EventInterrupt -> exti@23
i2c2: I2C.STM32F7_I2C @ sysbus 0x40005800
EventInterrupt -> nvic@24
i2c3: I2C.STM32F7_I2C @ sysbus 0x40007800
EventInterrupt -> nvic@21
flash: Memory.MappedMemory @ sysbus 0x08000000
size: 0x30000
eeprom: Memory.MappedMemory @ sysbus 0x08080000
size: 0x1800
flashController: MTD.STM32L0_FlashController @ {
sysbus 0x40022000;
sysbus new Bus.BusMultiRegistration { address: 0x1FF80000; size: 0x100; region: "signature" }
}
flash: flash
eeprom: eeprom
rcc: Miscellaneous.STM32L0_RCC @ sysbus 0x40021000
rtc: rtc
lptimer: lptim1
systick: nvic
rtc: Timers.STM32F4_RTC @ sysbus 0x40002800
AlarmIRQ -> exti@17
WakeupIRQ -> exti@20
spi1: SPI.STM32SPI @ sysbus 0x40013000
bufferCapacity: 1
IRQ ->nvic@25
spi2: SPI.STM32SPI @ sysbus 0x40003800
bufferCapacity: 1
IRQ ->nvic@26
timer2: Timers.STM32_Timer @ sysbus 0x40000000
frequency: 10000000
initialLimit: 0xFFFF
->nvic@15
timer3: Timers.STM32_Timer @ sysbus 0x40000400
frequency: 10000000
initialLimit: 0xFFFF
->nvic@16
timer21: Timers.STM32_Timer @ sysbus 0x40010800
frequency: 10000000
initialLimit: 0xFFFF
->nvic@20
timer22: Timers.STM32_Timer @ sysbus 0x40011400
frequency: 10000000
initialLimit: 0xFFFF
->nvic@22
timer6: Timers.STM32_Timer @ sysbus 0x40001000
frequency: 10000000
initialLimit: 0xFFFF
->nvic@17
timer7: Timers.STM32_Timer @ sysbus 0x40001400
frequency: 10000000
initialLimit: 0xFFFF
->nvic@18
usart2: UART.STM32F7_USART @ sysbus 0x40004400
frequency: 200000000
IRQ -> exti@26
usart1: UART.STM32F7_USART @ sysbus 0x40013800
frequency: 200000000
IRQ -> exti@25
lpuart1: UART.STM32F7_USART @ sysbus 0x40004800
frequency: 200000000
lowPowerMode: true
IRQ -> exti@28
usart4: UART.STM32F7_USART @ sysbus 0x40004C00
frequency: 200000000
IRQ -> nvicInput14@0
usart5: UART.STM32F7_USART @ sysbus 0x40005000
frequency: 200000000
IRQ -> nvicInput14@1
nvicInput14: Miscellaneous.CombinedInput
numberOfInputs: 2
-> nvic@14
iwdg: Timers.STM32_IndependentWatchdog @ sysbus 0x40003000
frequency: 32000
windowOption: true
defaultPrescaler: 0x0
nvicInput10: Miscellaneous.CombinedInput
numberOfInputs: 2
-> nvic@10
nvicInput11: Miscellaneous.CombinedInput
numberOfInputs: 4
-> nvic@11
dma1: DMA.STM32G0DMA @ sysbus 0x40020000
numberOfChannels: 7
0 -> nvic@9
[1, 2] -> nvicInput10@[0, 1]
[3-6] -> nvicInput11@[0-3]
pwr: Miscellaneous.STM32L0_PWR @ sysbus 0x40007000
-> exti@16
lptim1: Timers.STM32L0_LpTimer @ sysbus 0x40007C00
frequency: 0x1000000
-> exti@29
crc: CRC.STM32F0_CRC @ sysbus 0x40023000
configurablePoly: true
// The SYSCFG region is defined as memory mainly so that software can read/write
// values from the EXTICR registers. They currently have no effect in Renode.
syscfg: Memory.MappedMemory @ sysbus 0x40010000
size: 0x400
// Alternate function connections
// The syntax is:
// alternateFunctionOutput -> gpioPort#pinNumber@AFNumber
// Meaning `1 -> gpioPortA#2@0` connects output 1 to pin 2 of GPIO port A as AF 0
timer2:
0 -> gpioPortA#00@2 | gpioPortA#05@5 | gpioPortA#15@5 | gpioPortE#09@0
1 -> gpioPortA#01@2 | gpioPortB#03@2 | gpioPortE#10@0
2 -> gpioPortA#02@2 | gpioPortB#10@2 | gpioPortE#11@0
3 -> gpioPortA#03@2 | gpioPortB#11@2 | gpioPortE#12@0
timer3:
0 -> gpioPortA#06@2 | gpioPortB#04@2 | gpioPortC#06@2 | gpioPortE#03@2
1 -> gpioPortA#07@2 | gpioPortB#05@2 | gpioPortC#07@2 | gpioPortE#04@2
2 -> gpioPortB#00@2 | gpioPortC#08@2 | gpioPortE#05@2
3 -> gpioPortB#01@2 | gpioPortC#09@2 | gpioPortE#06@2
timer21:
0 -> gpioPortA#02@0 | gpioPortB#13@6 | gpioPortD#00@0 | gpioPortE#05@0
1 -> gpioPortA#03@0 | gpioPortB#14@6 | gpioPortD#07@1 | gpioPortE#06@0
timer22:
0 -> gpioPortA#06@5 | gpioPortB#04@4 | gpioPortC#06@0 | gpioPortE#03@0
1 -> gpioPortA#07@5 | gpioPortB#05@4 | gpioPortC#07@0 | gpioPortE#04@0
sysbus:
init:
Tag <0x40026000, 0x400263FF> "AES"
Tag <0x40015800, 0x40015BFF> "DBGMCU"
Tag <0x40011C00, 0x40011FFF> "Firewall"
Tag <0x40002C00, 0x40002FFF> "WWDG"
ApplySVD @https://dl.antmicro.com/projects/renode/svd/STM32L0x1.svd