| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- set(STM32_WL_TYPES
- WL54xx WL55xx WLE4xx WLE5xx WLE4xx WLE5xx WLE4xx WLE5xx
- )
- set(STM32_WL_TYPE_MATCH
- "WL54.." "WL55.." "WLE4.8" "WLE5.8" "WLE4.B" "WLE5.B" "WLE4.C" "WLE5.C"
- )
- # this is RAM size allocated to M4 core
- # Note devices with 20 and 48K RAM can use only half of available RAM because
- # there are 2 split sections of RAM and our default linker script only manages
- # one section.
- set(STM32_WL_RAM_SIZES
- 32K 32K 10K 10K 24K 24K 64K 64K
- )
- # this is RAM size allocated to M0PLUS core
- set(STM32_WL_M0PLUS_RAM_SIZES
- 32K 32K 0K 0K 0K 0K 0K 0K
- )
- set(STM32_WL_CCRAM_SIZES
- 0K 0K 0K 0K 0K 0K 0K 0K
- )
- set(STM32_WL_DUAL_CORE
- WL54xx WL55xx
- )
- stm32_util_create_family_targets(WL M4)
- target_compile_options(STM32::WL::M4 INTERFACE
- -mcpu=cortex-m4 -mfloat-abi=soft
- )
- target_link_options(STM32::WL::M4 INTERFACE
- -mcpu=cortex-m4 -mfloat-abi=soft
- )
- stm32_util_create_family_targets(WL M0PLUS)
- target_compile_options(STM32::WL::M0PLUS INTERFACE
- -mcpu=cortex-m0plus -mfloat-abi=soft
- )
- target_link_options(STM32::WL::M0PLUS INTERFACE
- -mcpu=cortex-m0plus -mfloat-abi=soft
- )
- function(stm32wl_get_memory_info DEVICE TYPE CORE RAM FLASH_ORIGIN RAM_ORIGIN TWO_FLASH_BANKS)
- if(${TYPE} IN_LIST STM32_WL_DUAL_CORE)
- set(${TWO_FLASH_BANKS} TRUE PARENT_SCOPE)
- else()
- set(${TWO_FLASH_BANKS} FALSE PARENT_SCOPE)
- endif()
- list(FIND STM32_WL_TYPES ${TYPE} TYPE_INDEX)
- if(CORE STREQUAL "M4")
- list(GET STM32_WL_RAM_SIZES ${TYPE_INDEX} RAM_VALUE)
- set(${RAM} ${RAM_VALUE} PARENT_SCOPE)
- set(${FLASH_ORIGIN} 0x8000000 PARENT_SCOPE)
- set(${RAM_ORIGIN} 0x20000000 PARENT_SCOPE)
- elseif((${TYPE} IN_LIST STM32_WL_DUAL_CORE) AND (CORE STREQUAL "M0PLUS"))
- list(GET STM32_WL_M0PLUS_RAM_SIZES ${TYPE_INDEX} RAM_VALUE)
- set(${RAM} ${RAM_VALUE} PARENT_SCOPE)
- set(${FLASH_ORIGIN} 0x8020000 PARENT_SCOPE)
- set(${RAM_ORIGIN} 0x20008000 PARENT_SCOPE)
- else()
- message(FATAL_ERROR "Unknown core ${CORE}")
- endif()
- endfunction()
- function(stm32wl_get_device_cores DEVICE TYPE CORES)
- if(${TYPE} IN_LIST STM32_WL_DUAL_CORE)
- set(${CORES} M4 M0PLUS PARENT_SCOPE)
- else()
- set(${CORES} M4 PARENT_SCOPE)
- endif()
- endfunction()
- list(APPEND STM32_ALL_DEVICES
- WL55CC
- WL54CC
- WL55JC
- WL54JC
- WLE5J8
- WLE5JB
- WLE5JC
- WLE5C8
- WLE5CB
- WLE5CC
- WLE4J8
- WLE4JB
- WLE4JC
- WLE4C8
- WLE4CB
- WLE4CC
- )
- list(APPEND STM32_SUPPORTED_FAMILIES_LONG_NAME
- STM32WL_M0PLUS
- STM32WL_M4
- )
- list(APPEND STM32_FETCH_FAMILIES WL)
- set(CUBE_WL_VERSION v1.1.0)
- set(CMSIS_WL_VERSION v1.1.0)
- set(HAL_WL_VERSION v1.1.0)
|