summaryrefslogtreecommitdiff
path: root/hw/bsp/nrf
diff options
context:
space:
mode:
authorhathach <[email protected]>2024-04-22 19:45:27 +0700
committerhathach <[email protected]>2024-04-22 19:45:27 +0700
commit838a58df99cbdbf08d1535fa9b2d45f8ee5d8b5f (patch)
tree1a18cc5fb6843c08e4dadb4f6d061f25f5459592 /hw/bsp/nrf
parentdb30eee0fcacda2b2f3f208ddf5ab9be723129d8 (diff)
clang work with lpc43
Diffstat (limited to 'hw/bsp/nrf')
-rw-r--r--hw/bsp/nrf/family.cmake122
1 files changed, 62 insertions, 60 deletions
diff --git a/hw/bsp/nrf/family.cmake b/hw/bsp/nrf/family.cmake
index 1d6702720..b2cd926f9 100644
--- a/hw/bsp/nrf/family.cmake
+++ b/hw/bsp/nrf/family.cmake
@@ -29,73 +29,75 @@ set(FAMILY_MCUS NRF5X CACHE INTERNAL "")
#------------------------------------
# only need to be built ONCE for all examples
function(add_board_target BOARD_TARGET)
- if (NOT TARGET ${BOARD_TARGET})
- if (MCU_VARIANT STREQUAL "nrf5340_application")
- set(MCU_VARIANT_XXAA "nrf5340_xxaa_application")
- else ()
- set(MCU_VARIANT_XXAA "${MCU_VARIANT}_xxaa")
- endif ()
+ if (TARGET ${BOARD_TARGET})
+ return()
+ endif ()
- if (NOT DEFINED LD_FILE_GNU)
- set(LD_FILE_GNU ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/linker/${MCU_VARIANT_XXAA}.ld)
- endif ()
+ if (MCU_VARIANT STREQUAL "nrf5340_application")
+ set(MCU_VARIANT_XXAA "nrf5340_xxaa_application")
+ else ()
+ set(MCU_VARIANT_XXAA "${MCU_VARIANT}_xxaa")
+ endif ()
- if (NOT DEFINED STARTUP_FILE_${CMAKE_C_COMPILER_ID})
- set(STARTUP_FILE_GNU ${NRFX_DIR}/mdk/gcc_startup_${MCU_VARIANT}.S)
- set(STARTUP_FILE_Clang ${STARTUP_FILE_GNU})
- endif ()
+ if (NOT DEFINED LD_FILE_GNU)
+ set(LD_FILE_GNU ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/linker/${MCU_VARIANT_XXAA}.ld)
+ endif ()
- add_library(${BOARD_TARGET} STATIC
- ${NRFX_DIR}/helpers/nrfx_flag32_allocator.c
- ${NRFX_DIR}/drivers/src/nrfx_gpiote.c
- ${NRFX_DIR}/drivers/src/nrfx_power.c
- ${NRFX_DIR}/drivers/src/nrfx_spim.c
- ${NRFX_DIR}/drivers/src/nrfx_uarte.c
- ${NRFX_DIR}/mdk/system_${MCU_VARIANT}.c
- ${NRFX_DIR}/soc/nrfx_atomic.c
- ${STARTUP_FILE_${CMAKE_C_COMPILER_ID}}
- )
- string(TOUPPER "${MCU_VARIANT_XXAA}" MCU_VARIANT_XXAA_UPPER)
- target_compile_definitions(${BOARD_TARGET} PUBLIC
- __STARTUP_CLEAR_BSS
- CONFIG_GPIO_AS_PINRESET
- ${MCU_VARIANT_XXAA_UPPER}
- )
+ if (NOT DEFINED STARTUP_FILE_${CMAKE_C_COMPILER_ID})
+ set(STARTUP_FILE_GNU ${NRFX_DIR}/mdk/gcc_startup_${MCU_VARIANT}.S)
+ set(STARTUP_FILE_Clang ${STARTUP_FILE_GNU})
+ endif ()
+
+ add_library(${BOARD_TARGET} STATIC
+ ${NRFX_DIR}/helpers/nrfx_flag32_allocator.c
+ ${NRFX_DIR}/drivers/src/nrfx_gpiote.c
+ ${NRFX_DIR}/drivers/src/nrfx_power.c
+ ${NRFX_DIR}/drivers/src/nrfx_spim.c
+ ${NRFX_DIR}/drivers/src/nrfx_uarte.c
+ ${NRFX_DIR}/mdk/system_${MCU_VARIANT}.c
+ ${NRFX_DIR}/soc/nrfx_atomic.c
+ ${STARTUP_FILE_${CMAKE_C_COMPILER_ID}}
+ )
+ string(TOUPPER "${MCU_VARIANT_XXAA}" MCU_VARIANT_XXAA_UPPER)
+ target_compile_definitions(${BOARD_TARGET} PUBLIC
+ __STARTUP_CLEAR_BSS
+ CONFIG_GPIO_AS_PINRESET
+ ${MCU_VARIANT_XXAA_UPPER}
+ )
- if (TRACE_ETM STREQUAL "1")
- # ENABLE_TRACE will cause system_nrf5x.c to set up ETM trace
- target_compile_definitions(${BOARD_TARGET} PUBLIC ENABLE_TRACE)
- endif ()
+ if (TRACE_ETM STREQUAL "1")
+ # ENABLE_TRACE will cause system_nrf5x.c to set up ETM trace
+ target_compile_definitions(${BOARD_TARGET} PUBLIC ENABLE_TRACE)
+ endif ()
- target_include_directories(${BOARD_TARGET} PUBLIC
- ${CMAKE_CURRENT_FUNCTION_LIST_DIR}
- ${NRFX_DIR}
- ${NRFX_DIR}/mdk
- ${NRFX_DIR}/hal
- ${NRFX_DIR}/drivers/include
- ${NRFX_DIR}/drivers/src
- ${CMSIS_DIR}/CMSIS/Core/Include
- )
+ target_include_directories(${BOARD_TARGET} PUBLIC
+ ${CMAKE_CURRENT_FUNCTION_LIST_DIR}
+ ${NRFX_DIR}
+ ${NRFX_DIR}/mdk
+ ${NRFX_DIR}/hal
+ ${NRFX_DIR}/drivers/include
+ ${NRFX_DIR}/drivers/src
+ ${CMSIS_DIR}/CMSIS/Core/Include
+ )
- update_board(${BOARD_TARGET})
+ update_board(${BOARD_TARGET})
- if (CMAKE_C_COMPILER_ID STREQUAL "GNU")
- target_link_options(${BOARD_TARGET} PUBLIC
- "LINKER:--script=${LD_FILE_GNU}"
- -L${NRFX_DIR}/mdk
- --specs=nosys.specs --specs=nano.specs
- -nostartfiles
- )
- elseif (CMAKE_C_COMPILER_ID STREQUAL "Clang")
- target_link_options(${BOARD_TARGET} PUBLIC
- "LINKER:--script=${LD_FILE_GNU}"
- -L${NRFX_DIR}/mdk
- )
- elseif (CMAKE_C_COMPILER_ID STREQUAL "IAR")
- target_link_options(${BOARD_TARGET} PUBLIC
- "LINKER:--config=${LD_FILE_IAR}"
- )
- endif ()
+ if (CMAKE_C_COMPILER_ID STREQUAL "GNU")
+ target_link_options(${BOARD_TARGET} PUBLIC
+ "LINKER:--script=${LD_FILE_GNU}"
+ -L${NRFX_DIR}/mdk
+ --specs=nosys.specs --specs=nano.specs
+ -nostartfiles
+ )
+ elseif (CMAKE_C_COMPILER_ID STREQUAL "Clang")
+ target_link_options(${BOARD_TARGET} PUBLIC
+ "LINKER:--script=${LD_FILE_GNU}"
+ -L${NRFX_DIR}/mdk
+ )
+ elseif (CMAKE_C_COMPILER_ID STREQUAL "IAR")
+ target_link_options(${BOARD_TARGET} PUBLIC
+ "LINKER:--config=${LD_FILE_IAR}"
+ )
endif ()
endfunction()