|
@@ -0,0 +1,59 @@
|
|
|
|
|
+set(STM32_F3_TYPES
|
|
|
|
|
+ F301x8 F302x8 F302xC F302xE F303x8 F303xC
|
|
|
|
|
+ F303xE F318xx F328xx F334x8 F358xx F373xC
|
|
|
|
|
+ F378xx F398xx
|
|
|
|
|
+)
|
|
|
|
|
+set(STM32_F3_TYPE_MATCH
|
|
|
|
|
+ "301.[68]" "302.[68]" "302.[BC]" "302.[ED]" "303.[68]" "303.[BC]"
|
|
|
|
|
+ "303.[ED]" "318.." "328.." "334.[468]" "358.." "373.[8BC]"
|
|
|
|
|
+ "378.." "398.."
|
|
|
|
|
+)
|
|
|
|
|
+set(STM32_F3_RAM_SIZES
|
|
|
|
|
+ 16K 16K 0K 64K 16K 0K
|
|
|
|
|
+ 80K 16K 16K 16K 48K 0K
|
|
|
|
|
+ 32K 80K
|
|
|
|
|
+)
|
|
|
|
|
+set(STM32_F3_CCRAM_SIZES
|
|
|
|
|
+ 0K 0K 0K 0K 0K 0K
|
|
|
|
|
+ 0K 0K 0K 0K 0K 0K
|
|
|
|
|
+ 0K 0K
|
|
|
|
|
+)
|
|
|
|
|
+
|
|
|
|
|
+stm32_util_create_family_targets(F3)
|
|
|
|
|
+
|
|
|
|
|
+target_compile_options(STM32::F3 INTERFACE
|
|
|
|
|
+ -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard
|
|
|
|
|
+)
|
|
|
|
|
+target_link_options(STM32::F3 INTERFACE
|
|
|
|
|
+ -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard
|
|
|
|
|
+)
|
|
|
|
|
+
|
|
|
|
|
+function(stm32f3_get_memory_info DEVICE TYPE FLASH_SIZE RAM_SIZE)
|
|
|
|
|
+ string(REGEX REPLACE "F3[0-9][0-9].([468BCDEFGHI])" "\\1" SIZE_CODE ${DEVICE})
|
|
|
|
|
+
|
|
|
|
|
+ if(TYPE STREQUAL "F302xC")
|
|
|
|
|
+ if(SIZE_CODE STREQUAL "C")
|
|
|
|
|
+ set(RAM "40K")
|
|
|
|
|
+ else()
|
|
|
|
|
+ set(RAM "32K")
|
|
|
|
|
+ endif()
|
|
|
|
|
+ elseif(TYPE STREQUAL "F303xC")
|
|
|
|
|
+ if(SIZE_CODE STREQUAL "C")
|
|
|
|
|
+ set(RAM "48K")
|
|
|
|
|
+ else()
|
|
|
|
|
+ set(RAM "40K")
|
|
|
|
|
+ endif()
|
|
|
|
|
+ elseif(TYPE STREQUAL "F373xC")
|
|
|
|
|
+ if(SIZE_CODE STREQUAL "B")
|
|
|
|
|
+ set(RAM "24K")
|
|
|
|
|
+ elseif(SIZE_CODE STREQUAL "C")
|
|
|
|
|
+ set(RAM "32K")
|
|
|
|
|
+ else()
|
|
|
|
|
+ set(RAM "16K")
|
|
|
|
|
+ endif()
|
|
|
|
|
+ endif()
|
|
|
|
|
+
|
|
|
|
|
+ if(RAM)
|
|
|
|
|
+ set(${RAM_SIZE} ${RAM} PARENT_SCOPE)
|
|
|
|
|
+ endif()
|
|
|
|
|
+endfunction()
|