msc_dual_lun and cdc_msc work with zephyr on pca10056

This commit is contained in:
hathach 2025-01-24 00:39:48 +07:00
parent 0162d6ab32
commit 9f45e25b1c
No known key found for this signature in database
GPG Key ID: 26FAB84F615C3C52
3 changed files with 30 additions and 24 deletions

View File

@ -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

View File

@ -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()

View File

@ -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()