| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- 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.[DE]" "303.[68]" "303.[BC]"
- "303.[DE]" "318.." "328.." "334.[468]" "358.." "373.[8BC]"
- "378.." "398.."
- )
- set(STM32_F3_RAM_SIZES
- 16K 16K 0K 64K 12K 0K
- 64K 16K 12K 12K 40K 0K
- 32K 64K
- )
- set(STM32_F3_CCRAM_SIZES
- 0K 0K 0K 0K 4K 8K
- 16K 0K 4K 4K 8K 0K
- 0K 16K
- )
- 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 "40K")
- else()
- set(RAM "32K")
- 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()
|