summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhathach <[email protected]>2025-01-24 00:39:48 +0700
committerhathach <[email protected]>2025-01-24 00:39:48 +0700
commit9f45e25b1c322202084d80f1fd88567fe0b0a3e2 (patch)
treeb675d9a939de35fa802a20695519928fc9527b8a
parent0162d6ab326cb1903e62664b0e18913dbf8ed823 (diff)
msc_dual_lun and cdc_msc work with zephyr on pca10056
-rw-r--r--examples/device/cdc_msc/CMakeLists.txt5
-rw-r--r--examples/device/msc_dual_lun/CMakeLists.txt17
-rw-r--r--hw/bsp/family_support.cmake32
3 files changed, 30 insertions, 24 deletions
diff --git a/examples/device/cdc_msc/CMakeLists.txt b/examples/device/cdc_msc/CMakeLists.txt
index 754c5deb0..1c00ae0b2 100644
--- a/examples/device/cdc_msc/CMakeLists.txt
+++ b/examples/device/cdc_msc/CMakeLists.txt
@@ -6,11 +6,6 @@ include(${CMAKE_CURRENT_SOURCE_DIR}/../../../hw/bsp/family_support.cmake)
# gets PROJECT name for the example (e.g. <BOARD>-<DIR_NAME>)
family_get_project_name(PROJECT ${CMAKE_CURRENT_LIST_DIR})
-if (BUILD_ZEPHYR)
- set(BOARD_ROOT ${TOP}/hw/bsp/${FAMILY})
- find_package(Zephyr REQUIRED HINTS ${TOP}/lib/zephyr)
-endif ()
-
project(${PROJECT} C CXX ASM)
# Checks this example is valid for the family and initializes the project
diff --git a/examples/device/msc_dual_lun/CMakeLists.txt b/examples/device/msc_dual_lun/CMakeLists.txt
index 58a7bd30b..8c39168e8 100644
--- a/examples/device/msc_dual_lun/CMakeLists.txt
+++ b/examples/device/msc_dual_lun/CMakeLists.txt
@@ -15,20 +15,29 @@ if(FAMILY STREQUAL "espressif")
return()
endif()
-add_executable(${PROJECT})
+if (BUILD_ZEPHYR)
+ set(EXE_NAME app)
+else()
+ set(EXE_NAME ${PROJECT})
+ add_executable(${EXE_NAME})
+endif()
# Example source
-target_sources(${PROJECT} PUBLIC
+target_sources(${EXE_NAME} PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/src/main.c
${CMAKE_CURRENT_SOURCE_DIR}/src/msc_disk_dual.c
${CMAKE_CURRENT_SOURCE_DIR}/src/usb_descriptors.c
)
# Example include
-target_include_directories(${PROJECT} PUBLIC
+target_include_directories(${EXE_NAME} PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/src
)
# Configure compilation flags and libraries for the example without RTOS.
# See the corresponding function in hw/bsp/FAMILY/family.cmake for details.
-family_configure_device_example(${PROJECT} noos)
+if (BUILD_ZEPHYR)
+ family_configure_device_example(${EXE_NAME} zephyr)
+else()
+ family_configure_device_example(${EXE_NAME} noos)
+endif()
diff --git a/hw/bsp/family_support.cmake b/hw/bsp/family_support.cmake
index e32bb1689..6ba7cb1c7 100644
--- a/hw/bsp/family_support.cmake
+++ b/hw/bsp/family_support.cmake
@@ -73,10 +73,10 @@ if (NOT NO_WARN_RWX_SEGMENTS_SUPPORTED)
set(NO_WARN_RWX_SEGMENTS_SUPPORTED 1)
endif()
-#if (BUILD_ZEPHYR)
-# set(BOARD_ROOT ${TOP}/hw/bsp/${FAMILY})
-# find_package(Zephyr REQUIRED HINTS ${TOP}/lib/zephyr)
-#endif ()
+if (BUILD_ZEPHYR)
+ set(BOARD_ROOT ${TOP}/hw/bsp/${FAMILY})
+ find_package(Zephyr REQUIRED HINTS ${TOP}/lib/zephyr)
+endif ()
#-------------------------------------------------------------
# Functions
@@ -401,26 +401,28 @@ function(family_flash_jlink TARGET)
endif ()
separate_arguments(OPTION_LIST UNIX_COMMAND ${JLINK_OPTION})
+ if (BUILD_ZEPHYR)
+ set(BINARY_TARGET zephyr_final)
+ set(NAME_TARGET ${CMAKE_PROJECT_NAME})
+ else ()
+ set(BINARY_TARGET ${TARGET})
+ set(NAME_TARGET ${TARGET})
+ endif ()
+
file(GENERATE
- OUTPUT $<TARGET_FILE_DIR:${TARGET}>/${TARGET}.jlink
+ OUTPUT $<TARGET_FILE_DIR:${BINARY_TARGET}>/${BINARY_TARGET}.jlink
CONTENT "halt
-loadfile $<TARGET_FILE:${TARGET}>
+loadfile $<TARGET_FILE:${BINARY_TARGET}>
r
go
exit"
)
- add_custom_target(${TARGET}-jlink
- DEPENDS ${TARGET}
- COMMAND ${JLINKEXE} -device ${JLINK_DEVICE} ${OPTION_LIST} -if ${JLINK_IF} -JTAGConf -1,-1 -speed auto -CommandFile $<TARGET_FILE_DIR:${TARGET}>/${TARGET}.jlink
+ add_custom_target(${NAME_TARGET}-jlink
+ DEPENDS ${BINARY_TARGET}
+ COMMAND ${JLINKEXE} -device ${JLINK_DEVICE} ${OPTION_LIST} -if ${JLINK_IF} -JTAGConf -1,-1 -speed auto -CommandFile $<TARGET_FILE_DIR:${BINARY_TARGET}>/${BINARY_TARGET}.jlink
VERBATIM
)
-
- # optional flash post build
-# add_custom_command(TARGET ${TARGET} POST_BUILD
-# COMMAND ${JLINKEXE} -device ${JLINK_DEVICE} ${OPTION_LIST} -if ${JLINK_IF} -JTAGConf -1,-1 -speed auto -CommandFile $<TARGET_FILE_DIR:${TARGET}>/${TARGET}.jlink
-# VERBATIM
-# )
endfunction()