| nvic: IRQControllers.NVIC @ sysbus 0xE000E000 | |
| priorityMask: 0xF0 | |
| systickFrequency: 72000000 | |
| IRQ -> cpu@0 | |
| exti: IRQControllers.STM32F4_EXTI @ sysbus 0x40010400 | |
| numberOfOutputLines: 32 | |
| [0, 1] -> nvicInput5@[0, 1] | |
| [2, 3] -> nvicInput6@[0, 1] | |
| [4-15] -> nvicInput7@[0-11] | |
| [21, 22] -> nvicInput12@[0, 1] | |
| [25] -> nvicInput27@[0] | |
| [26] -> nvicInput28@[0] | |
| [28] -> nvicInput29@[0] | |
| [18, 23, 27] -> nvic@[31, 23, 30] | |
| nvicInput5: Miscellaneous.CombinedInput @ none | |
| numberOfInputs: 2 | |
| -> nvic@5 | |
| nvicInput6: Miscellaneous.CombinedInput @ none | |
| numberOfInputs: 2 | |
| -> nvic@6 | |
| nvicInput7: Miscellaneous.CombinedInput @ none | |
| numberOfInputs: 12 | |
| -> nvic@7 | |
| nvicInput12: Miscellaneous.CombinedInput @ none | |
| numberOfInputs: 3 | |
| -> nvic@12 | |
| nvicInput27: Miscellaneous.CombinedInput @ none | |
| numberOfInputs: 2 | |
| -> nvic@27 | |
| nvicInput28: Miscellaneous.CombinedInput @ none | |
| numberOfInputs: 2 | |
| -> nvic@28 | |
| nvicInput29: Miscellaneous.CombinedInput @ none | |
| numberOfInputs: 7 | |
| -> nvic@29 | |
| cpu: CPU.CortexM @ sysbus | |
| cpuType: "cortex-m0" | |
| nvic: nvic | |
| usart1: UART.STM32F7_USART @ sysbus 0x40013800 | |
| frequency: 200000000 | |
| IRQ -> nvicInput27@1 | |
| usart2: UART.STM32F7_USART @ sysbus 0x40004400 | |
| frequency: 200000000 | |
| IRQ -> nvicInput28@1 | |
| usart3: UART.STM32F7_USART @ sysbus 0x40004800 | |
| frequency: 200000000 | |
| IRQ -> nvicInput29@1 | |
| usart4: UART.STM32F7_USART @ sysbus 0x40004C00 | |
| frequency: 200000000 | |
| IRQ -> nvicInput29@2 | |
| usart5: UART.STM32F7_USART @ sysbus 0x40005000 | |
| frequency: 200000000 | |
| IRQ -> nvicInput29@3 | |
| usart6: UART.STM32F7_USART @ sysbus 0x40011400 | |
| frequency: 200000000 | |
| IRQ -> nvicInput29@4 | |
| usart7: UART.STM32F7_USART @ sysbus 0x40011800 | |
| frequency: 200000000 | |
| IRQ -> nvicInput29@5 | |
| gpioPortA: GPIOPort.STM32_GPIOPort @ sysbus <0x48000000, +0x400> | |
| modeResetValue: 0x28000000 | |
| pullUpPullDownResetValue: 0x24000000 | |
| numberOfAFs: 8 | |
| [0-15] -> exti@[0-15] | |
| gpioPortB: GPIOPort.STM32_GPIOPort @ sysbus <0x48000400, +0x400> | |
| modeResetValue: 0x00000000 | |
| pullUpPullDownResetValue: 0x00000000 | |
| numberOfAFs: 8 | |
| [0-15] -> exti@[0-15] | |
| gpioPortC: GPIOPort.STM32_GPIOPort @ sysbus <0x48000800, +0x400> | |
| modeResetValue: 0x00000000 | |
| pullUpPullDownResetValue: 0x00000000 | |
| numberOfAFs: 8 | |
| [0-15] -> exti@[0-15] | |
| gpioPortD: GPIOPort.STM32_GPIOPort @ sysbus <0x48000C00, +0x400> | |
| modeResetValue: 0x00000000 | |
| pullUpPullDownResetValue: 0x00000000 | |
| numberOfAFs: 8 | |
| [0-15] -> exti@[0-15] | |
| gpioPortE: GPIOPort.STM32_GPIOPort @ sysbus <0x48001000, +0x400> | |
| modeResetValue: 0x00000000 | |
| pullUpPullDownResetValue: 0x00000000 | |
| numberOfAFs: 8 | |
| [0-15] -> exti@[0-15] | |
| gpioPortF: GPIOPort.STM32_GPIOPort @ sysbus <0x48001400, +0x400> | |
| modeResetValue: 0x28000000 | |
| pullUpPullDownResetValue: 0x24000000 | |
| numberOfAFs: 8 | |
| [0-15] -> exti@[0-15] | |
| i2c1: I2C.STM32F7_I2C @ sysbus 0x40005400 | |
| i2c2: I2C.STM32F7_I2C @ sysbus 0x40005800 | |
| spi1: SPI.STM32SPI @ sysbus 0x40013000 | |
| IRQ -> nvic@25 | |
| spi2: SPI.STM32SPI @ sysbus 0x40003800 | |
| IRQ -> nvic@26 | |
| timer1: Timers.STM32_Timer @ sysbus 0x40012C00 | |
| frequency: 10000000 | |
| initialLimit: 0xFFFF | |
| -> nvic@14 | |
| timer2: Timers.STM32_Timer @ sysbus 0x40000000 | |
| frequency: 10000000 | |
| initialLimit: 0xFFFFFFFF | |
| -> nvic@15 | |
| timer3: Timers.STM32_Timer @ sysbus 0x40000400 | |
| frequency: 10000000 | |
| initialLimit: 0xFFFF | |
| -> nvic@16 | |
| timer6: Timers.STM32_Timer @ sysbus 0x40001000 | |
| frequency: 10000000 | |
| initialLimit: 0xFFFF | |
| timer7: Timers.STM32_Timer @ sysbus 0x40001400 | |
| frequency: 10000000 | |
| initialLimit: 0xFFFF | |
| -> nvic@18 | |
| timer14: Timers.STM32_Timer @ sysbus 0x40002000 | |
| frequency: 10000000 | |
| initialLimit: 0xFFFF | |
| -> nvic@19 | |
| timer15: Timers.STM32_Timer @ sysbus 0x40014000 | |
| frequency: 10000000 | |
| initialLimit: 0xFFFF | |
| -> nvic@20 | |
| timer16: Timers.STM32_Timer @ sysbus 0x40014400 | |
| frequency: 10000000 | |
| initialLimit: 0xFFFF | |
| -> nvic@21 | |
| timer17: Timers.STM32_Timer @ sysbus 0x40014800 | |
| frequency: 10000000 | |
| initialLimit: 0xFFFF | |
| -> nvic@22 | |
| can: CAN.STMCAN @ sysbus <0x40006400, +0x400> | |
| rtc: Timers.STM32F4_RTC @ sysbus 0x40002800 | |
| // missing TamperIRQ, TimeStampIRQ, WakeupEventIRQ | |
| AlarmIRQ -> exti@17 | |
| rcc: Python.PythonPeripheral @ sysbus 0x40021000 | |
| size: 0x400 | |
| initable: true | |
| script: ''' | |
| if request.isInit: | |
| lastVal = 0 | |
| elif request.isRead: | |
| lastVal = 1 - lastVal | |
| if request.offset == 0x0: | |
| request.value = lastVal * 0x83 | |
| elif request.offset == 0x4: | |
| request.value = lastVal * 0xFFFFFFF8 | |
| elif request.offset == 0x24: | |
| request.value = 0x0 | |
| else: | |
| request.value = lastVal * 0xFFFFFFFF | |
| self.NoisyLog("%s on FLIPFLOP at 0x%x, value 0x%x" % (str(request.type), request.offset, request.value)) | |
| ''' | |
| DMA: Python.PythonPeripheral @ sysbus 0x40020000 | |
| size: 0x400 | |
| script: ''' | |
| if request.isWrite and request.offset in (0x10, 0x24, 0x38): | |
| # writing base address - we write some positive value there in case initialization awaits output | |
| sysbus.WriteDoubleWord(request.value, 0x40E33333) | |
| self.NoisyLog("0x%x written with value 0x40E33333" % request.value) | |
| ''' | |
| adc: Analog.STM32F0_ADC @ sysbus 0x40012400 | |
| referenceVoltage: 3.3 | |
| externalEventFrequency: 1000 | |
| -> nvicInput12@2 | |
| crc: CRC.STM32F0_CRC @ sysbus 0x40023000 | |
| configurablePoly: false // Only STM32F07x and STM32F09x implements configurablePoly: true | |
| sysbus: | |
| init: | |
| Tag <0x40002C00, 0x40002FFF> "WWDG" | |
| Tag <0x40003000, 0x400033FF> "IWDG" | |
| Tag <0x40005C00, 0x40005FFF> "USB " | |
| Tag <0x40006000, 0x400063FF> "USB/CAN SRAM" | |
| Tag <0x40006C00, 0x40006FFF> "CRS" | |
| Tag <0x40007000, 0x400073FF> "PWR" | |
| Tag <0x40007400, 0x400077FF> "DAC" | |
| Tag <0x40007800, 0x40007BFF> "CEC" | |
| Tag <0x40010000, 0x400103FF> "SYSCFGCOMP" | |
| Tag <0x40015800, 0x40015BFF> "DBGMCU" | |
| Tag <0x40020000, 0x400203FF> "DMA" | |
| Tag <0x40020400, 0x400207FF> "DMA2" | |
| Tag <0x40022000, 0x400223FF> "FLASH_INTERFACE" | |
| Tag <0x40023000, 0x400233FF> "CRC" | |
| Tag <0x40024000, 0x400243FF> "TSC" |