cmake_minimum_required(VERSION 3.13) include(pico_sdk_import.cmake) project(host_cdc_msc_hid C CXX ASM) set(CMAKE_C_STNDARD 11) set(CMAKE_CXX_STANDARD 17) set(PICO_EXAMPLES_PATH ${PROJECT_SOURCE_DIR}) pico_sdk_init() add_executable(host_cdc_msc_hid) pico_generate_pio_header(host_cdc_msc_hid ${CMAKE_CURRENT_LIST_DIR}/lib/sd_driver/SDIO/rp2040_sdio.pio) # Example source target_sources(host_cdc_msc_hid PUBLIC hid_app.c main.c msc_app.c cdc_app.c diskio_USB.c diskio_SDIO.c lib/FatFs/source/ff.c lib/FatFs/source/ffsystem.c lib/FatFs/source/diskio.c lib/sd_driver/my_debug.c lib/sd_driver/dma_interrupts.c lib/sd_driver/sd_card.c lib/sd_driver/crc.c lib/sd_driver/crash.c lib/sd_driver/f_util.c lib/sd_driver/my_rtc.c lib/sd_driver/sd_timeouts.c lib/sd_driver/SDIO/rp2040_sdio.c lib/sd_driver/SDIO/sd_card_sdio.c lib/sd_driver/SPI/my_spi.c lib/sd_driver/SPI/sd_card_spi.c lib/sd_driver/SPI/sd_spi.c ) # Make sure TinyUSB can find tusb_config.h target_include_directories(host_cdc_msc_hid PUBLIC ${CMAKE_CURRENT_LIST_DIR}/ ${CMAKE_CURRENT_LIST_DIR}/lib/FatFs/source/ ${CMAKE_CURRENT_LIST_DIR}/lib/sd_driver/) if(PICO_RISCV) set(HWDEP_LIBS hardware_watchdog) else() set(HWDEP_LIBS cmsis_core) endif() # In addition to pico_stdlib required for common PicoSDK functionality, add dependency on tinyusb_host # for TinyUSB device support and tinyusb_board for the additional board support library used by the example target_link_libraries( host_cdc_msc_hid PUBLIC pico_stdlib tinyusb_host tinyusb_board hardware_dma hardware_pio hardware_spi hardware_sync pico_aon_timer pico_stdlib ${HWDEP_LIBS} ) pico_add_extra_outputs(host_cdc_msc_hid) add_custom_target(Flash DEPENDS host_cdc_msc_hid COMMAND sudo picotool load -f ${PROJECT_BINARY_DIR}/host_cdc_msc_hid.uf2 )