210 lines
5.6 KiB
Plaintext
210 lines
5.6 KiB
Plaintext
fsmcBank1: Memory.MappedMemory @ sysbus 0x60000000
|
|
size: 0x10000000
|
|
|
|
sram: Memory.MappedMemory @ sysbus 0x20000000
|
|
size: 0x10000000
|
|
|
|
flash: Memory.MappedMemory @ sysbus 0x00000000
|
|
size: 0x20000000
|
|
|
|
usart1: UART.STM32_UART @ sysbus <0x40013800, +0x100>
|
|
-> nvic@37
|
|
|
|
usart2: UART.STM32_UART @ sysbus <0x40004400, +0x100>
|
|
-> nvic@38
|
|
|
|
usart3: UART.STM32_UART @ sysbus <0x40004800, +0x100>
|
|
-> nvic@39
|
|
|
|
usart4: UART.STM32_UART @ sysbus <0x40004C00, +0x100>
|
|
-> nvic@52
|
|
|
|
usart5: UART.STM32_UART @ sysbus <0x40005000, +0x100>
|
|
-> nvic@53
|
|
|
|
nvic: IRQControllers.NVIC @ sysbus 0xE000E000
|
|
priorityMask: 0xF0
|
|
systickFrequency: 72000000
|
|
IRQ -> cpu@0
|
|
|
|
cpu: CPU.CortexM @ sysbus
|
|
cpuType: "cortex-m3"
|
|
nvic: nvic
|
|
|
|
i2c1: I2C.STM32F4_I2C @ sysbus 0x40005400
|
|
EventInterrupt -> nvic@31
|
|
ErrorInterrupt -> nvic@32
|
|
|
|
i2c2: I2C.STM32F4_I2C @ sysbus 0x40005800
|
|
EventInterrupt -> nvic@33
|
|
ErrorInterrupt -> nvic@34
|
|
|
|
exti: IRQControllers.STM32F4_EXTI @ sysbus 0x40010400
|
|
numberOfOutputLines: 19
|
|
[0-4] -> nvic@[6-10]
|
|
[5-9] -> nvicInput23@[0-4]
|
|
[10-15] -> nvicInput40@[0-5]
|
|
|
|
nvicInput23: Miscellaneous.CombinedInput @ none
|
|
numberOfInputs: 5
|
|
-> nvic@23
|
|
|
|
nvicInput40: Miscellaneous.CombinedInput @ none
|
|
numberOfInputs: 6
|
|
-> nvic@40
|
|
|
|
gpioPortA: GPIOPort.STM32F1GPIOPort @ sysbus <0x40010800, +0x400>
|
|
invertedAFPins: [[7, 1]]
|
|
[0-15] -> exti@[0-15]
|
|
|
|
gpioPortB: GPIOPort.STM32F1GPIOPort @ sysbus <0x40010C00, +0x400>
|
|
invertedAFPins: [[13, 1], [14, 1], [15, 1], [0, 1], [1, 1]]
|
|
[0-15] -> exti@[0-15]
|
|
|
|
gpioPortC: GPIOPort.STM32F1GPIOPort @ sysbus <0x40011000, +0x400>
|
|
[0-15] -> exti@[0-15]
|
|
|
|
gpioPortD: GPIOPort.STM32F1GPIOPort @ sysbus <0x40011400, +0x400>
|
|
[0-15] -> exti@[0-15]
|
|
|
|
gpioPortE: GPIOPort.STM32F1GPIOPort @ sysbus <0x40011800, +0x400>
|
|
invertedAFPins: [[8, 1], [10, 1], [12, 1]]
|
|
[0-15] -> exti@[0-15]
|
|
|
|
gpioPortF: GPIOPort.STM32F1GPIOPort @ sysbus <0x40011C00, +0x400>
|
|
[0-15] -> exti@[0-15]
|
|
|
|
gpioPortG: GPIOPort.STM32F1GPIOPort @ sysbus <0x40012000, +0x400>
|
|
[0-15] -> exti@[0-15]
|
|
|
|
timer1: Timers.STM32_Timer @ sysbus 0x40012c00
|
|
BreakInterrupt -> nvic@24
|
|
UpdateInterrupt -> nvic@25
|
|
[TriggerInterrupt, CommutationInterrupt] -> nvic@[26, 26]
|
|
CaptureCompareInterrupt -> nvic@27
|
|
frequency: 10000000
|
|
initialLimit: 0xFFFF
|
|
|
|
timer2: Timers.STM32_Timer @ sysbus 0x40000000
|
|
-> nvic@28
|
|
frequency: 10000000
|
|
initialLimit: 0xFFFF
|
|
|
|
timer3: Timers.STM32_Timer @ sysbus 0x40000400
|
|
-> nvic@29
|
|
frequency: 10000000
|
|
initialLimit: 0xFFFF
|
|
|
|
timer4: Timers.STM32_Timer @ sysbus 0x40000800
|
|
-> nvic@30
|
|
frequency: 10000000
|
|
initialLimit: 0xFFFF
|
|
|
|
timer5: Timers.STM32_Timer @ sysbus 0x40000C00
|
|
-> nvic@50
|
|
frequency: 10000000
|
|
initialLimit: 0xFFFF
|
|
|
|
timer6: Timers.STM32_Timer @ sysbus 0x40001000
|
|
-> nvic@54
|
|
frequency: 10000000
|
|
initialLimit: 0xFFFF
|
|
|
|
timer7: Timers.STM32_Timer @ sysbus 0x40001400
|
|
-> nvic@55
|
|
frequency: 10000000
|
|
initialLimit: 0xFFFF
|
|
|
|
timer8: Timers.STM32_Timer @ sysbus 0x40013400
|
|
BreakInterrupt -> nvic@43
|
|
UpdateInterrupt -> nvic@44
|
|
[TriggerInterrupt, CommutationInterrupt] -> nvic@[45, 45]
|
|
CaptureCompareInterrupt -> nvic@46
|
|
frequency: 10000000
|
|
initialLimit: 0xFFFF
|
|
|
|
timer9: Timers.STM32_Timer @ sysbus 0x40014c00
|
|
-> nvic@24
|
|
frequency: 10000000
|
|
initialLimit: 0xFFFF
|
|
|
|
timer10: Timers.STM32_Timer @ sysbus 0x40015000
|
|
-> nvic@25
|
|
frequency: 10000000
|
|
initialLimit: 0xFFFF
|
|
|
|
timer11: Timers.STM32_Timer @ sysbus 0x40015400
|
|
-> nvic@26
|
|
frequency: 10000000
|
|
initialLimit: 0xFFFF
|
|
|
|
timer12: Timers.STM32_Timer @ sysbus 0x40001800
|
|
-> nvic@43
|
|
frequency: 10000000
|
|
initialLimit: 0xFFFF
|
|
|
|
timer13: Timers.STM32_Timer @ sysbus 0x40001C00
|
|
-> nvic@44
|
|
frequency: 10000000
|
|
initialLimit: 0xFFFF
|
|
|
|
timer14: Timers.STM32_Timer @ sysbus 0x40002000
|
|
-> nvic@45
|
|
frequency: 10000000
|
|
initialLimit: 0xFFFF
|
|
|
|
afio: GPIOPort.STM32F1AFIO @ sysbus 0x40010000
|
|
gpioPorts: [gpioPortA, gpioPortB, gpioPortC, gpioPortD, gpioPortE, gpioPortF, gpioPortG]
|
|
|
|
// Alternate function connections
|
|
// The syntax is:
|
|
// gpioPort#pinNumber@timerNumber
|
|
// Meaning `1 -> gpioPortA#2@5` connects output 1 to pin 2 of GPIO port A and it receives its signal from timer 5
|
|
timer1:
|
|
0 -> gpioPortA#08@01 | gpioPortE#09@01 | gpioPortB#13@01 | gpioPortA#07@01 | gpioPortE#08@01
|
|
1 -> gpioPortA#09@01 | gpioPortE#11@01 | gpioPortB#14@01 | gpioPortB#00@01 | gpioPortE#10@01
|
|
2 -> gpioPortA#10@01 | gpioPortE#13@01 | gpioPortB#15@01 | gpioPortB#01@01 | gpioPortE#12@01
|
|
3 -> gpioPortA#11@01 | gpioPortE#14@01
|
|
|
|
timer2:
|
|
0 -> gpioPortA#00@02 | gpioPortA#15@02
|
|
1 -> gpioPortA#01@02 | gpioPortB#03@02
|
|
2 -> gpioPortA#02@02 | gpioPortB#10@02
|
|
3 -> gpioPortA#03@02 | gpioPortB#11@02
|
|
|
|
timer3:
|
|
0 -> gpioPortA#06@03 | gpioPortB#04@03 | gpioPortC#06@03
|
|
1 -> gpioPortA#07@03 | gpioPortB#05@03 | gpioPortC#07@03
|
|
2 -> gpioPortB#00@03 | gpioPortC#08@03
|
|
3 -> gpioPortB#01@03 | gpioPortC#09@03
|
|
|
|
timer4:
|
|
0 -> gpioPortB#06@04 | gpioPortD#12@04
|
|
1 -> gpioPortB#07@04 | gpioPortD#13@04
|
|
2 -> gpioPortB#08@04 | gpioPortD#14@04
|
|
3 -> gpioPortB#09@04 | gpioPortD#15@04
|
|
|
|
timer5:
|
|
3 -> gpioPortA#03@05
|
|
|
|
timer9:
|
|
0 -> gpioPortA#02@09 | gpioPortE#05@09
|
|
1 -> gpioPortA#03@09 | gpioPortE#06@09
|
|
|
|
timer10:
|
|
0 -> gpioPortB#08@10 | gpioPortF#06@10
|
|
|
|
timer11:
|
|
0 -> gpioPortB#09@11 | gpioPortF#07@11
|
|
|
|
timer13:
|
|
0 -> gpioPortA#06@13 | gpioPortF#08@13
|
|
|
|
timer14:
|
|
0 -> gpioPortA#07@14 | gpioPortF#09@14
|
|
|
|
sysbus:
|
|
init:
|
|
ApplySVD @https://dl.antmicro.com/projects/renode/svd/STM32F103.svd.gz
|
|
Tag <0x40021000, 0x40021003> "RCC_CR" 0x0A020083
|