diff options
| author | Ha Thach <[email protected]> | 2021-01-23 23:28:35 +0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-01-23 23:28:35 +0700 |
| commit | 469ca2f1559800f4b1eabc860336ff33ed118718 (patch) | |
| tree | a6b68799030fd5cdc41881ebdbd259a8ee97b1e6 /examples/device/board_test | |
| parent | edd91d28f5afa175d7f52ec1bf1845ff29aabab9 (diff) | |
| parent | e6ce18b01990d5e06f12e0aeb57d53ce365ba7b7 (diff) | |
Merge pull request #600 from hathach/refactor-bsp
Refactor bsp
Diffstat (limited to 'examples/device/board_test')
| -rw-r--r-- | examples/device/board_test/CMakeLists.txt | 64 |
1 files changed, 57 insertions, 7 deletions
diff --git a/examples/device/board_test/CMakeLists.txt b/examples/device/board_test/CMakeLists.txt index c09ffe215..54a4009fe 100644 --- a/examples/device/board_test/CMakeLists.txt +++ b/examples/device/board_test/CMakeLists.txt @@ -1,15 +1,65 @@ -# The following five lines of boilerplate have to be in your project's -# CMakeLists in this exact order for cmake to work correctly cmake_minimum_required(VERSION 3.5) +# use directory name for project id +get_filename_component(PROJECT ${CMAKE_CURRENT_SOURCE_DIR} NAME) + # TOP is absolute path to root directory of TinyUSB git repo set(TOP "../../..") get_filename_component(TOP "${TOP}" REALPATH) -# Add example src and bsp directories -set(EXTRA_COMPONENT_DIRS "src" "${TOP}/hw/bsp/esp32s2/boards" "${TOP}/hw/bsp/esp32s2/components") +# Check for -DFAMILY= +if(NOT DEFINED FAMILY) + message(FATAL_ERROR "Invalid FAMILY specified") +endif() + +include(${TOP}/hw/bsp/${FAMILY}/family.cmake) +project(${PROJECT}) + +if(FAMILY STREQUAL "rp2040") + +pico_sdk_init() + +add_executable(${PROJECT}) + +# TinyUSB Stack source +set(SRC_TINYUSB + ${TOP}/src/tusb.c + ${TOP}/src/common/tusb_fifo.c + ${TOP}/src/device/usbd.c + ${TOP}/src/device/usbd_control.c + ${TOP}/src/class/audio/audio_device.c + ${TOP}/src/class/cdc/cdc_device.c + ${TOP}/src/class/dfu/dfu_rt_device.c + ${TOP}/src/class/hid/hid_device.c + ${TOP}/src/class/midi/midi_device.c + ${TOP}/src/class/msc/msc_device.c + ${TOP}/src/class/net/net_device.c + ${TOP}/src/class/usbtmc/usbtmc_device.c + ${TOP}/src/class/vendor/vendor_device.c + ${TOP}/src/portable/raspberrypi/${FAMILY}/dcd_rp2040.c + ${TOP}/src/portable/raspberrypi/${FAMILY}/rp2040_usb.c +) + +target_sources(${PROJECT} PUBLIC + src/main.c + ${TOP}/hw/bsp/${FAMILY}/family.c + ${SRC_TINYUSB} +) + +target_include_directories(${PROJECT} PUBLIC + src/ + ${TOP}/hw + ${TOP}/src + ${TOP}/hw/bsp/${FAMILY}/boards/${BOARD} +) + +target_compile_definitions(${PROJECT} PUBLIC + CFG_TUSB_MCU=OPT_MCU_RP2040 + CFG_TUSB_OS=OPT_OS_PICO +) + +target_link_libraries(${PROJECT} pico_stdlib) -include($ENV{IDF_PATH}/tools/cmake/project.cmake) -set(SUPPORTED_TARGETS esp32s2) +pico_add_extra_outputs(${PROJECT}) -project(board_test) +endif() |
