|
| 1 | +# SPDX-License-Identifier: Apache-2.0 |
| 2 | + |
| 3 | +#set(DTC_OVERLAY_FILE ${BOARD}.overlay) |
| 4 | + |
| 5 | +cmake_minimum_required(VERSION 3.20.0) |
| 6 | + |
| 7 | +# get value of NORMALIZED_BOARD_TARGET early |
| 8 | +find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE} COMPONENTS yaml boards) |
| 9 | + |
| 10 | +set(DTC_OVERLAY_FILE ${CMAKE_CURRENT_LIST_DIR}/../variants/${NORMALIZED_BOARD_TARGET}/${NORMALIZED_BOARD_TARGET}.overlay) |
| 11 | +set(EXTRA_CONF_FILE ${CMAKE_CURRENT_LIST_DIR}/../variants/${NORMALIZED_BOARD_TARGET}/${NORMALIZED_BOARD_TARGET}.conf) |
| 12 | + |
| 13 | +find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE}) |
| 14 | + |
| 15 | +project(app LANGUAGES C CXX) |
| 16 | + |
| 17 | +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/blobs) |
| 18 | + |
| 19 | +# Memory region relocation based on Kconfig |
| 20 | +# Relocate LLEXT heap if region specified |
| 21 | +if(NOT "${CONFIG_LLEXT_HEAP_REGION}" STREQUAL "") |
| 22 | + zephyr_code_relocate(FILES ${ZEPHYR_BASE}/subsys/llext/llext_mem.c |
| 23 | + LOCATION ${CONFIG_LLEXT_HEAP_REGION}_BSS_NOINIT) |
| 24 | +endif() |
| 25 | + |
| 26 | +# Relocate main stack if region specified |
| 27 | +if(NOT "${CONFIG_MAIN_STACK_REGION}" STREQUAL "") |
| 28 | + zephyr_code_relocate(FILES ${ZEPHYR_BASE}/kernel/init.c |
| 29 | + LOCATION ${CONFIG_MAIN_STACK_REGION}_BSS_NOINIT) |
| 30 | +endif() |
| 31 | + |
| 32 | + |
| 33 | +# for USB device stack NEXT |
| 34 | +target_sources_ifdef(CONFIG_USB_DEVICE_STACK_NEXT app PRIVATE |
| 35 | + ${CMAKE_CURRENT_LIST_DIR}/../cores/arduino/usb_device_descriptor.c |
| 36 | +) |
| 37 | + |
| 38 | +FILE(GLOB app_sources *.c) |
| 39 | +target_sources(app PRIVATE ${app_sources}) |
| 40 | +target_compile_definitions(app PUBLIC _XOPEN_SOURCE=700) |
| 41 | +target_compile_definitions(app PUBLIC _GNU_SOURCE) |
| 42 | + |
| 43 | +target_link_libraries(app PUBLIC blobs) |
0 commit comments