diff --git a/examples/device/board_test/CMakeLists.txt b/examples/device/board_test/CMakeLists.txt index 5bb8cb70..8cd5b9ea 100644 --- a/examples/device/board_test/CMakeLists.txt +++ b/examples/device/board_test/CMakeLists.txt @@ -17,12 +17,14 @@ if(FAMILY MATCHES "^esp32s[2-3]") else() - # Family chooses name based on passed name and vars (e.g. -) - get_filename_component(DIR_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) - family_get_project_name(PROJECT "${DIR_NAME}") + # gets PROJECT name for the example (e.g. -) + family_get_project_name(PROJECT ${CMAKE_CURRENT_LIST_DIR}) project(${PROJECT}) + # Checks this example is valid for the family and initializes the project + family_initialize_project(${PROJECT} ${CMAKE_CURRENT_LIST_DIR}) + add_executable(${PROJECT}) # Example source diff --git a/hw/bsp/esp32s2/family.cmake b/hw/bsp/esp32s2/family.cmake index 656f7d85..02957fa1 100644 --- a/hw/bsp/esp32s2/family.cmake +++ b/hw/bsp/esp32s2/family.cmake @@ -6,5 +6,5 @@ include($ENV{IDF_PATH}/tools/cmake/project.cmake) set(SUPPORTED_TARGETS esp32s2) # include basic family CMake functionality -set(FAMILY_MCUS esp32s2 ESP32S2) +set(FAMILY_MCUS ESP32S2) include(${CMAKE_CURRENT_LIST_DIR}/../family.cmake) diff --git a/hw/bsp/esp32s3/family.cmake b/hw/bsp/esp32s3/family.cmake index e57920bf..b530b326 100644 --- a/hw/bsp/esp32s3/family.cmake +++ b/hw/bsp/esp32s3/family.cmake @@ -6,5 +6,5 @@ include($ENV{IDF_PATH}/tools/cmake/project.cmake) set(SUPPORTED_TARGETS esp32s3) # include basic family CMake functionality -set(FAMILY_MCUS esp32s3 ESP32S3) # TODO MERGE THIS WITH supported targets? +set(FAMILY_MCUS ESP32S3) include(${CMAKE_CURRENT_LIST_DIR}/../family.cmake) diff --git a/hw/bsp/rp2040/boards/adafruit_feather_rp2040/board.cmake b/hw/bsp/rp2040/boards/adafruit_feather_rp2040/board.cmake new file mode 100644 index 00000000..e527a8ce --- /dev/null +++ b/hw/bsp/rp2040/boards/adafruit_feather_rp2040/board.cmake @@ -0,0 +1 @@ +set(PICO_BOARD adafruit_feather_rp2040) \ No newline at end of file diff --git a/hw/bsp/rp2040/boards/adafruit_itsybitsy_rp2040/board.cmake b/hw/bsp/rp2040/boards/adafruit_itsybitsy_rp2040/board.cmake new file mode 100644 index 00000000..3fd2dd06 --- /dev/null +++ b/hw/bsp/rp2040/boards/adafruit_itsybitsy_rp2040/board.cmake @@ -0,0 +1 @@ +set(PICO_BOARD adafruit_itsybitsy_rp2040) \ No newline at end of file diff --git a/hw/bsp/rp2040/boards/adafruit_qtpy_rp2040/board.cmake b/hw/bsp/rp2040/boards/adafruit_qtpy_rp2040/board.cmake new file mode 100644 index 00000000..469929c5 --- /dev/null +++ b/hw/bsp/rp2040/boards/adafruit_qtpy_rp2040/board.cmake @@ -0,0 +1 @@ +set(PICO_BOARD adafruit_qtpy_rp2040) \ No newline at end of file diff --git a/hw/bsp/rp2040/boards/pico_sdk/board.cmake b/hw/bsp/rp2040/boards/pico_sdk/board.cmake new file mode 100644 index 00000000..d57cbe52 --- /dev/null +++ b/hw/bsp/rp2040/boards/pico_sdk/board.cmake @@ -0,0 +1 @@ +# This builds with settings based purely on the current PICO_BOARD set via the SDK diff --git a/hw/bsp/rp2040/boards/raspberry_pi_pico/board.cmake b/hw/bsp/rp2040/boards/raspberry_pi_pico/board.cmake new file mode 100644 index 00000000..8280c835 --- /dev/null +++ b/hw/bsp/rp2040/boards/raspberry_pi_pico/board.cmake @@ -0,0 +1 @@ +set(PICO_BOARD pico) \ No newline at end of file diff --git a/hw/bsp/rp2040/family.cmake b/hw/bsp/rp2040/family.cmake index 544718a6..cc9bf65b 100644 --- a/hw/bsp/rp2040/family.cmake +++ b/hw/bsp/rp2040/family.cmake @@ -3,17 +3,18 @@ if (NOT TARGET _rp2040_family_inclusion_marker) add_library(_rp2040_family_inclusion_marker INTERFACE) # include basic family CMake functionality - set(FAMILY_MCUS RP2040 rp2040) - include(${CMAKE_CURRENT_LIST_DIR}/../family.cmake) - - if (BOARD AND NOT PICO_BOARD) - message("Defaulting PICO_BOARD from BOARD ('${BOARD}')") - set(PICO_BOARD ${BOARD}) - endif() + set(FAMILY_MCUS RP2040) # add the SDK in case we are standalone tinyusb example (noop if already present) include(${CMAKE_CURRENT_LIST_DIR}/pico_sdk_import.cmake) - set(BOARD ${PICO_BOARD}) + + include(${CMAKE_CURRENT_LIST_DIR}/../family.cmake) + + # todo should we default to pico_sdk? + if (NOT BOARD) + message(FATAL_ERROR "BOARD must be specified") + endif() + include(${CMAKE_CURRENT_LIST_DIR}/boards/${BOARD}/board.cmake) # TOP is absolute path to root directory of TinyUSB git repo set(TOP "../../..") @@ -24,6 +25,7 @@ if (NOT TARGET _rp2040_family_inclusion_marker) target_compile_definitions(tinyusb_additions INTERFACE PICO_RP2040_USB_DEVICE_ENUMERATION_FIX=1 + CFG_TUSB_MCU=OPT_MCU_RP2040 # this is already included in the SDK, but needed here for build_family.py grep ) if(DEFINED LOG) diff --git a/lib/CMSIS_5 b/lib/CMSIS_5 index 20285262..b7b26f50 160000 --- a/lib/CMSIS_5 +++ b/lib/CMSIS_5 @@ -1 +1 @@ -Subproject commit 20285262657d1b482d132d20d755c8c330d55c1f +Subproject commit b7b26f50d00072812aec8453f643e24bafedccb5