blob: 0a0841c4ded2d4409aeabf623e7b40d410c7d2b0 [file] [log] [blame]
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"