| nvic: IRQControllers.NVIC @ sysbus 0xE000E000 |
| priorityMask: 0xF0 |
| systickFrequency: 1000000 |
| IRQ -> cpu@0 |
| |
| cpu: CPU.CortexM @ sysbus |
| cpuType: "cortex-m33" |
| nvic: nvic |
| |
| spi1: SPI.STM32SPI @ sysbus 0x40013000 |
| series: STM32Series.L5 |
| IRQ->nvic@59 |
| DMAReceive -> dmamux@11 |
| DMASend -> dmamux@12 |
| |
| spi2: SPI.STM32SPI @ sysbus 0x40003800 |
| series: STM32Series.L5 |
| IRQ->nvic@60 |
| DMAReceive -> dmamux@13 |
| DMASend -> dmamux@14 |
| |
| spi3: SPI.STM32SPI @ sysbus 0x40003C00 |
| series: STM32Series.L5 |
| IRQ->nvic@99 |
| DMAReceive -> dmamux@15 |
| DMASend -> dmamux@16 |
| |
| // This model's registers are not compatible with the EXTI in this MCU, |
| // it is currently here to support direct interrupts |
| exti: IRQControllers.STM32F4_EXTI @ sysbus 0x4002F400 |
| [0-15,17] -> nvic@[11-26,2] |
| numberOfOutputLines: 43 |
| firstDirectLine: 17 |
| |
| sram1: Memory.MappedMemory @ sysbus 0x20000000 |
| size: 0x30000 |
| |
| sram2: Memory.MappedMemory @ sysbus 0x20030000 |
| size: 0x10000 |
| |
| flash: Memory.MappedMemory @ sysbus 0x08000000 |
| size: 0x80000 |
| |
| // frequency to be verified |
| usart1: UART.STM32F7_USART @ sysbus 0x40013800 |
| frequency: 200000000 |
| IRQ -> nvic@61 |
| |
| usart2: UART.STM32F7_USART @ sysbus 0x40004400 |
| frequency: 200000000 |
| IRQ -> nvic@62 |
| |
| usart3: UART.STM32F7_USART @ sysbus 0x40004800 |
| frequency: 200000000 |
| IRQ -> nvic@63 |
| |
| uart4: UART.STM32F7_USART @ sysbus 0x40004C00 |
| frequency: 200000000 |
| IRQ -> nvic@64 |
| |
| uart5: UART.STM32F7_USART @ sysbus 0x40005000 |
| frequency: 200000000 |
| IRQ -> nvic@65 |
| |
| lpuart1: UART.STM32F7_USART @ sysbus 0x40008000 |
| frequency: 200000000 |
| IRQ -> nvic@66 |
| |
| gpioPortA: GPIOPort.STM32_GPIOPort @ sysbus <0x42020000, +0x400> |
| modeResetValue: 0xABFFFFFF |
| outputSpeedResetValue: 0x0C000000 |
| pullUpPullDownResetValue: 0x64000000 |
| numberOfAFs: 16 |
| invertedAFPins: [[5, 3], [7, 1, 3]] |
| |
| gpioPortB: GPIOPort.STM32_GPIOPort @ sysbus <0x42020400, +0x400> |
| modeResetValue: 0xFFFFFEBF |
| pullUpPullDownResetValue: 0x00000100 |
| numberOfAFs: 16 |
| invertedAFPins: [[0, 1, 3], [1, 1, 3], [13, 1], [14, 1, 3], [15, 1, 3]] |
| |
| gpioPortC: GPIOPort.STM32_GPIOPort @ sysbus <0x42020800, +0x400> |
| modeResetValue: 0xFFFFFFFF |
| numberOfAFs: 16 |
| |
| gpioPortD: GPIOPort.STM32_GPIOPort @ sysbus <0x42020C00, +0x400> |
| modeResetValue: 0xFFFFFFFF |
| numberOfAFs: 16 |
| |
| gpioPortE: GPIOPort.STM32_GPIOPort @ sysbus <0x42021000, +0x400> |
| modeResetValue: 0xFFFFFFFF |
| numberOfAFs: 16 |
| invertedAFPins: [[8, 1], [10, 1], [12, 1]] |
| |
| gpioPortF: GPIOPort.STM32_GPIOPort @ sysbus <0x42021400, +0x400> |
| modeResetValue: 0xFFFFFFFF |
| numberOfAFs: 16 |
| |
| gpioPortG: GPIOPort.STM32_GPIOPort @ sysbus <0x42021800, +0x400> |
| modeResetValue: 0xFFFFFFFF |
| numberOfAFs: 16 |
| |
| gpioPortH: GPIOPort.STM32_GPIOPort @ sysbus <0x42021C00, +0x400> |
| modeResetValue: 0x0000000F |
| numberOfAFs: 16 |
| |
| dma1: DMA.STM32LDMA @ sysbus 0x40020000 |
| [0-7] -> nvic@[29-36] |
| |
| dma2: DMA.STM32LDMA @ sysbus 0x40020400 |
| [0-7] -> nvic@[80-87] |
| |
| dmamux: Miscellaneous.STM32_DMAMUX @ sysbus 0x40020800 |
| numberOfInputRequestChannels: 94 |
| numberOfOutputRequestChannels: 16 |
| numberOfRequestGeneratorChannels: 4 |
| [0-7] -> dma1@[0-7] |
| [8-15] -> dma2@[0-7] |
| |
| i2c1: I2C.STM32F1_I2C @ sysbus 0x40005400 |
| EventInterrupt -> nvic@55 |
| ErrorInterrupt -> nvic@56 |
| |
| fdcanRAM: Memory.ArrayMemory @ sysbus 0x4000AC00 |
| size: 0x400 |
| |
| fdcan1: CAN.STM32_FDCAN @ sysbus 0x4000A400 |
| series: .L5 |
| messageRam: fdcanRAM |
| Int0 -> nvic@39 |
| Int1 -> nvic@40 |
| |
| rtc: STM32L_RTC @ sysbus <0x40002800, +0x400> |
| -> exti@17 |
| |
| timer1: Timers.STM32_Timer @ sysbus 0x40012c00 |
| BreakInterrupt -> nvic@41 |
| UpdateInterrupt -> nvic@42 |
| [TriggerInterrupt, CommutationInterrupt] -> nvic@[43, 43] |
| CaptureCompareInterrupt -> nvic@44 |
| frequency: 10000000 |
| initialLimit: 0xFFFF |
| |
| // frequency to be verified |
| timer2: Timers.STM32_Timer @ sysbus 0x40000000 |
| -> nvic@45 |
| frequency: 10000000 |
| initialLimit: 0xFFFFFFFF |
| |
| timer3: Timers.STM32_Timer @ sysbus 0x40000400 |
| -> nvic@46 |
| frequency: 10000000 |
| initialLimit: 0xFFFF |
| |
| timer4: Timers.STM32_Timer @ sysbus 0x40000800 |
| -> nvic@47 |
| frequency: 10000000 |
| initialLimit: 0xFFFF |
| |
| timer5: Timers.STM32_Timer @ sysbus 0x40000C00 |
| -> nvic@48 |
| frequency: 10000000 |
| initialLimit: 0xFFFFFFFF |
| |
| timer6: Timers.STM32_Timer @ sysbus 0x40001000 |
| -> nvic@49 |
| frequency: 10000000 |
| initialLimit: 0xFFFF |
| |
| timer7: Timers.STM32_Timer @ sysbus 0x40001400 |
| -> nvic@50 |
| frequency: 10000000 |
| initialLimit: 0xFFFF |
| |
| timer8: Timers.STM32_Timer @ sysbus 0x40013400 |
| BreakInterrupt -> nvic@51 |
| UpdateInterrupt -> nvic@52 |
| [TriggerInterrupt, CommutationInterrupt] -> nvic@[53, 53] |
| CaptureCompareInterrupt -> nvic@54 |
| frequency: 10000000 |
| initialLimit: 0xFFFF |
| |
| timer15: Timers.STM32_Timer @ sysbus 0x40014000 |
| -> nvic@69 |
| frequency: 10000000 |
| initialLimit: 0xFFFF |
| |
| timer16: Timers.STM32_Timer @ sysbus 0x40014400 |
| -> nvic@70 |
| frequency: 10000000 |
| initialLimit: 0xFFFF |
| |
| timer17: Timers.STM32_Timer @ sysbus 0x40014800 |
| -> nvic@71 |
| frequency: 10000000 |
| initialLimit: 0xFFFF |
| |
| // Alternate function mapping connections. For more details see `stm32l071.repl`. |
| timer1: |
| 0 -> gpioPortA#07@01 | gpioPortA#08@01 | gpioPortB#13@01 | gpioPortE#08@01 | gpioPortE#09@01 |
| 1 -> gpioPortA#09@01 | gpioPortB#00@01 | gpioPortB#14@01 | gpioPortE#10@01 | gpioPortE#11@01 |
| 2 -> gpioPortA#10@01 | gpioPortB#01@01 | gpioPortB#15@01 | gpioPortE#12@01 | gpioPortE#13@01 |
| 3 -> gpioPortA#11@01 | gpioPortE#14@01 |
| |
| timer2: |
| 0 -> gpioPortA#00@01 | gpioPortA#05@01 | gpioPortA#15@01 |
| 1 -> gpioPortA#01@01 | gpioPortB#03@01 |
| 2 -> gpioPortA#02@01 | gpioPortB#10@01 |
| 3 -> gpioPortA#03@01 | gpioPortB#11@01 |
| |
| timer3: |
| 0 -> gpioPortA#06@02 | gpioPortB#04@02 | gpioPortC#06@02 | gpioPortE#03@02 |
| 1 -> gpioPortA#07@02 | gpioPortB#05@02 | gpioPortC#07@02 | gpioPortE#04@02 |
| 2 -> gpioPortB#00@02 | gpioPortC#08@02 | gpioPortE#05@02 |
| 3 -> gpioPortB#01@02 | gpioPortC#09@02 | gpioPortE#06@02 |
| |
| timer4: |
| 0 -> gpioPortB#06@02 | gpioPortB#12@02 |
| 1 -> gpioPortB#07@02 | gpioPortB#13@02 |
| 2 -> gpioPortB#08@02 | gpioPortB#14@02 |
| 3 -> gpioPortB#09@02 | gpioPortB#15@02 |
| |
| timer5: |
| 0 -> gpioPortB#00@02 | gpioPortF#06@02 |
| 1 -> gpioPortB#01@02 | gpioPortF#07@02 |
| 2 -> gpioPortB#02@02 | gpioPortF#08@02 |
| 3 -> gpioPortB#03@02 | gpioPortF#09@02 |
| |
| gpioPortA: |
| 0 -> timer2@00 |
| 1 -> timer2@01 |
| 2 -> timer2@02 |
| 3 -> timer2@03 |
| 5 -> timer2@00 |
| 6 -> timer3@00 |
| 7 -> timer1@00 | timer3@01 |
| 8 -> timer1@00 |
| 9 -> timer1@01 |
| 10 -> timer1@02 |
| 11 -> timer1@03 |
| 15 -> timer2@00 |
| |
| gpioPortB: |
| 0 -> timer1@01 | timer3@02 | timer5@00 |
| 1 -> timer1@02 | timer3@03 | timer5@01 |
| 2 -> timer5@02 |
| 3 -> timer2@01 | timer5@03 |
| 4 -> timer3@00 |
| 5 -> timer3@01 |
| 6 -> timer4@00 |
| 7 -> timer4@01 |
| 8 -> timer4@02 |
| 9 -> timer4@03 |
| 10 -> timer2@02 |
| 11 -> timer2@03 |
| 12 -> timer4@00 |
| 13 -> timer1@00 | timer4@01 |
| 14 -> timer1@01 | timer4@02 |
| 15 -> timer1@02 | timer4@03 |
| |
| gpioPortC: |
| 6 -> timer3@00 |
| 7 -> timer3@01 |
| 8 -> timer3@02 |
| 9 -> timer3@03 |
| |
| gpioPortE: |
| 3 -> timer3@00 |
| 4 -> timer3@01 |
| 5 -> timer3@02 |
| 6 -> timer3@03 |
| 8 -> timer1@00 |
| 9 -> timer1@00 |
| 10 -> timer1@01 |
| 11 -> timer1@01 |
| 12 -> timer1@02 |
| 13 -> timer1@02 |
| 14 -> timer1@03 |
| |
| gpioPortF: |
| 6 -> timer5@00 |
| 7 -> timer5@01 |
| 8 -> timer5@02 |
| 9 -> timer5@03 |
| |
| sysbus: |
| init: |
| ApplySVD @https://dl.antmicro.com/projects/renode/svd/STM32L552.svd |
| |
| Tag <0x40007000 0x400> "PWR" |
| Tag <0xE0001000 0xffb> "DWT" |
| |
| rcc: Miscellaneous.STM32L5_RCC @ sysbus 0x40021000 |
| |
| flashController: MTD.STM32WBA_FlashController @ sysbus 0x40022000 |
| flash: flash |
| |
| rng: Miscellaneous.STM32_RNG @ sysbus 0x420c0800 |
| series: STM32Series.L5 |
| |
| adc1: Analog.STM32L5_ADC @ sysbus 0x42028000 |
| referenceVoltage: 3.3 |
| externalEventFrequency: 1000 |
| dmaChannel: 5 |
| dmaPeripheral: dmamux |
| IRQ->nvic@37 |
| |
| iwdg: Timers.STM32_IndependentWatchdog @ sysbus 0x40003000 |
| frequency: 32000 |