summaryrefslogtreecommitdiff
path: root/platforms
diff options
context:
space:
mode:
authorVegard Storheil Eriksen <zyp@jvnv.net>2021-09-15 23:12:15 +0200
committerVegard Storheil Eriksen <zyp@jvnv.net>2021-09-15 23:12:15 +0200
commit71998c039fd18d2ef7da974232d1cb5d986b4a97 (patch)
treeabf951a86be016afd91de4f5413b4c333a316fd9 /platforms
parent0a62e7ae6c1974599f128a8c00221bbfbf6c6d83 (diff)
platforms: Add initial STM32F7 support.
Diffstat (limited to 'platforms')
-rw-r--r--platforms/cortex-m.yaml27
-rw-r--r--platforms/stm32/f7.yaml224
-rw-r--r--platforms/stm32/index.yaml5
3 files changed, 251 insertions, 5 deletions
diff --git a/platforms/cortex-m.yaml b/platforms/cortex-m.yaml
index a41957a..91072c7 100644
--- a/platforms/cortex-m.yaml
+++ b/platforms/cortex-m.yaml
@@ -1,5 +1,6 @@
+# All cortex-m
- match:
- cpu: cortex-m4f
+ cpu: !re cortex-m
periph:
nvic:
@@ -17,13 +18,31 @@
14: PendSV
15: SysTick
+ toolchains:
+ - arm-none-eabi
+
+# cortex-m4
+- match:
+ cpu: !re cortex-m4
+
cflags:
- -mcpu=cortex-m4
+
+# cortex-m7
+- match:
+ cpu: !re cortex-m7
+
+ cflags:
+ - -mcpu=cortex-m7
+
+# FPU
+- match:
+ cpu: !re cortex-m.f
+
+ cflags:
- -mfloat-abi=hard
- -mfpu=fpv4-sp-d16
define:
- HAS_FPU
-
- toolchains:
- - arm-none-eabi
+ \ No newline at end of file
diff --git a/platforms/stm32/f7.yaml b/platforms/stm32/f7.yaml
new file mode 100644
index 0000000..7c8e04d
--- /dev/null
+++ b/platforms/stm32/f7.yaml
@@ -0,0 +1,224 @@
+- match:
+ mem: e
+ mem:
+ flash:
+ origin: 0x00200000
+ size: 512k
+
+- match:
+ mem: g
+ mem:
+ flash:
+ origin: 0x00200000
+ size: 1M
+
+- mem:
+ ram:
+ origin: 0x20000000
+ size: 320k
+
+ periph:
+ stm32_uart:
+ USART1:
+ offset: 0x40011000
+ type: v2
+ USART2:
+ offset: 0x40004400
+ type: v2
+
+ rcc:
+ RCC:
+ offset: 0x40023800
+ type: f4
+ bus:
+ AHB1:
+ 0: GPIOA
+ 1: GPIOB
+ 2: GPIOC
+ 3: GPIOD
+ 4: GPIOE
+ 5: GPIOF
+ 6: GPIOG
+ 7: GPIOH
+ 8: GPIOI
+ 8: GPIOJ
+ 8: GPIOK
+ 12: CRC
+ 18: BKPSRAM
+ 20: DTCMRAM
+ 21: DMA1
+ 22: DMA2
+ 23: DMA2D
+ 25: ETHMAC
+ 26: ETHMACTX
+ 27: ETHMACRX
+ 28: ETHMACPTP
+ 29: OTGHS
+ 30: OTGHSULPI
+
+ AHB2:
+ 0: DCMI
+ 4: CRYP
+ 5: HASH
+ 6: RNG
+ 7: OTGFS
+
+ AHB3:
+ 0: FMC
+ 1: QSPI
+
+ APB1:
+ 0: TIM2
+ 1: TIM3
+ 2: TIM4
+ 3: TIM5
+ 4: TIM6
+ 5: TIM7
+ 6: TIM12
+ 7: TIM13
+ 8: TIM14
+ 9: LPTIM1
+ 11: WWDG
+ 14: SPI2
+ 15: SPI3
+ 16: SPDIFRX
+ 17: USART2
+ 18: USART3
+ 19: UART4
+ 20: UART5
+ 21: I2C1
+ 22: I2C2
+ 23: I2C3
+ 24: I2C4
+ 25: CAN1
+ 26: CAN2
+ 27: CEC
+ 28: PWR
+ 29: DAC
+ 30: UART7
+ 31: UART8
+
+ APB2:
+ 0: TIM1
+ 1: TIM8
+ 4: USART1
+ 5: USART6
+ 8: ADC1
+ 9: ADC2
+ 10: ADC3
+ 11: SDMMC1
+ 12: SPI1
+ 13: SPI4
+ 14: SYSCFG
+ 16: TIM9
+ 17: TIM10
+ 18: TIM11
+ 20: SPI5
+ 21: SPI6
+ 22: SAI1
+ 23: SAI2
+ 26: LTDC
+
+ interrupt:
+ irq:
+ 0: WWDG
+ 1: PVD
+ 2: TAMP_STAMP
+ 3: RTC_WKUP
+ 4: FLASH
+ 5: RCC
+ 6: EXTI0
+ 7: EXTI1
+ 8: EXTI2
+ 9: EXTI3
+ 10: EXTI4
+ 11: DMA1_Stream0
+ 12: DMA1_Stream1
+ 13: DMA1_Stream2
+ 14: DMA1_Stream3
+ 15: DMA1_Stream4
+ 16: DMA1_Stream5
+ 17: DMA1_Stream6
+ 18: ADC
+ 19: CAN1_TX
+ 20: CAN1_RX0
+ 21: CAN1_RX1
+ 22: CAN1_SCE
+ 23: EXTI9_5
+ 24: TIM1_BRK_TIM9
+ 25: TIM1_UP_TIM10
+ 26: TIM1_TRG_COM_TIM11
+ 27: TIM1_CC
+ 28: TIM2
+ 29: TIM3
+ 30: TIM4
+ 31: I2C1_EV
+ 32: I2C1_ER
+ 33: I2C2_EV
+ 34: I2C2_ER
+ 35: SPI1
+ 36: SPI2
+ 37: USART1
+ 38: USART2
+ 39: USART3
+ 40: EXTI15_10
+ 41: RTC_Alarm
+ 42: OTG_FS_WKUP
+ 43: TIM8_BRK_TIM12
+ 44: TIM8_UP_TIM13
+ 45: TIM8_TRG_COM_TIM14
+ 46: TIM8_CC
+ 47: DMA1_Stream7
+ 48: FSMC
+ 49: SDMMC1
+ 50: TIM5
+ 51: SPI3
+ 52: UART4
+ 53: UART5
+ 54: TIM6_DAC
+ 55: TIM7
+ 56: DMA2_Stream0
+ 57: DMA2_Stream1
+ 58: DMA2_Stream2
+ 59: DMA2_Stream3
+ 60: DMA2_Stream4
+ 61: ETH
+ 62: ETH_WKUP
+ 63: CAN2_TX
+ 64: CAN2_RX0
+ 65: CAN2_RX1
+ 66: CAN2_SCE
+ 67: OTG_FS
+ 68: DMA2_Stream5
+ 69: DMA2_Stream6
+ 70: DMA2_Stream7
+ 71: USART6
+ 72: I2C3_EV
+ 73: I2C3_ER
+ 74: OTG_HS_EP1_OUT
+ 75: OTG_HS_EP1_IN
+ 76: OTG_HS_WKUP
+ 77: OTG_HS
+ 78: DCMI
+ 79: CRYP
+ 80: HASH_RNG
+ 81: FPU
+ 82: UART7
+ 83: UART8
+ 84: SPI4
+ 85: SPI5
+ 86: SPI6
+ 87: SAI1
+ 88: LCD_TFT
+ 89: LCD_TFT_ERR
+ 90: DMA2D
+ 91: SAI2
+ 92: QuadSPI
+ 93: LPTIM1
+ 94: HDMI_CEC
+ 95: I2C4_EV
+ 96: I2C4_ER
+ 97: SPDIFRX
+
+ meta:
+ cpu: cortex-m7f \ No newline at end of file
diff --git a/platforms/stm32/index.yaml b/platforms/stm32/index.yaml
index a8cb56f..ca234bd 100644
--- a/platforms/stm32/index.yaml
+++ b/platforms/stm32/index.yaml
@@ -4,5 +4,8 @@
-:
- match:
family: f4
-
-: !import f4.yaml
+
+ - match:
+ family: f7
+ -: !import f7.yaml