From f28b1c61ba108ba43dd5f12aa50310f70707f6d0 Mon Sep 17 00:00:00 2001 From: sakumisu <1203593632@qq.com> Date: Fri, 22 Mar 2024 19:32:13 +0800 Subject: [PATCH] update cmake file, submodule change ssh to https --- .gitmodules | 4 +- CMakeLists.txt | 57 ----- cherryusb.cmake | 206 ++++++++++++++++++ .../zephyr_bluetooth-2.7.5/zephyr_bluetooth | 2 +- 4 files changed, 209 insertions(+), 60 deletions(-) delete mode 100644 CMakeLists.txt create mode 100644 cherryusb.cmake diff --git a/.gitmodules b/.gitmodules index a827177..565c4a9 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,6 @@ [submodule "third_party/zephyr_bluetooth-2.7.5/zephyr_bluetooth"] path = third_party/zephyr_bluetooth-2.7.5/zephyr_bluetooth - url = git@github.com:sakumisu/zephyr_bluetooth.git + url = https://github.com/sakumisu/zephyr_bluetooth.git [submodule "third_party/nimble-1.6.0/nimble"] path = third_party/nimble-1.6.0/nimble - url = git@github.com:sakumisu/mynewt-nimble.git + url = https://github.com/sakumisu/mynewt-nimble.git diff --git a/CMakeLists.txt b/CMakeLists.txt deleted file mode 100644 index ec19cbc..0000000 --- a/CMakeLists.txt +++ /dev/null @@ -1,57 +0,0 @@ -add_library(cherryusb STATIC) - -target_include_directories(cherryusb PUBLIC -common -core -osal -class/cdc -class/hid -class/msc -class/audio -class/video -class/hub -class/wireless -) - -if(CONFIG_CHERRYUSB_DEVICE) - target_sources(cherryusb PRIVATE core/usbd_core.c) - if(CONFIG_CHERRYUSB_DEVICE_CDC) - target_sources(cherryusb PRIVATE class/cdc/usbd_cdc.c) - endif() - if(CONFIG_CHERRYUSB_DEVICE_HID) - target_sources(cherryusb PRIVATE class/hid/usbd_hid.c) - endif() - if(CONFIG_CHERRYUSB_DEVICE_MSC) - target_sources(cherryusb PRIVATE class/msc/usbd_msc.c) - endif() - if(CONFIG_CHERRYUSB_DEVICE_AUDIO) - target_sources(cherryusb PRIVATE class/audio/usbd_audio.c) - endif() - if(CONFIG_CHERRYUSB_DEVICE_VIDEO) - target_sources(cherryusb PRIVATE class/video/usbd_video.c) - endif() -endif() - -if(CONFIG_CHERRYUSB_HOST) - target_sources(cherryusb PRIVATE - core/usbh_core.c - class/hub/usbh_hub.c - class/cdc/usbh_cdc_acm.c - class/hid/usbh_hid.c - class/msc/usbh_msc.c - class/audio/usbh_audio.c - class/video/usbh_video.c - class/wireless/usbh_rndis.c - ) - -endif() - -if(DEFINED CONFIG_CHERRYUSB_OSAL) - if("${CONFIG_CHERRYUSB_OSAL}" STREQUAL "freertos") - target_sources(cherryusb PRIVATE osal/usb_osal_freertos.c) - elseif("${CONFIG_CHERRYUSB_OSAL}" STREQUAL "rtthread") - target_sources(cherryusb PRIVATE osal/usb_osal_rtthread.c) - elseif("${CONFIG_CHERRYUSB_OSAL}" STREQUAL "yoc") - target_sources(cherryusb PRIVATE osal/usb_osal_yoc.c) - endif() -endif() \ No newline at end of file diff --git a/cherryusb.cmake b/cherryusb.cmake new file mode 100644 index 0000000..c545662 --- /dev/null +++ b/cherryusb.cmake @@ -0,0 +1,206 @@ +# +# Copyright (c) 2024, sakumisu +# +# SPDX-License-Identifier: Apache-2.0 +# + +# set(CONFIG_CHERRYUSB_DEVICE 1) +# set(CONFIG_CHERRYUSB_DEVICE_CDC 1) +# set(CONFIG_CHERRYUSB_DEVICE_HID 1) +# set(CONFIG_CHERRYUSB_DEVICE_MSC 1) +# set(CONFIG_CHERRYUSB_DEVICE_DCD "dwc2_st") + +# set(CONFIG_CHERRYUSB_HOST 1) +# set(CONFIG_CHERRYUSB_HOST_CDC_ACM 1) +# set(CONFIG_CHERRYUSB_HOST_CDC_ECM 1) +# set(CONFIG_CHERRYUSB_HOST_CDC_NCM 1) +# set(CONFIG_CHERRYUSB_HOST_HID 1) +# set(CONFIG_CHERRYUSB_HOST_MSC 1) +# set(CONFIG_CHERRYUSB_HOST_VIDEO 1) +# set(CONFIG_CHERRYUSB_HOST_AUDIO 1) +# set(CONFIG_CHERRYUSB_HOST_CDC_RNDIS 1) +# set(CONFIG_CHERRYUSB_HOST_BLUETOOTH 1) +# set(CONFIG_CHERRYUSB_HOST_ASIX 1) +# set(CONFIG_CHERRYUSB_HOST_RTL8152 1) +# set(CONFIG_CHERRYUSB_OSAL "freertos") +# set(CONFIG_CHERRYUSB_HOST_HCD "ehci_xxx") + +list(APPEND cherryusb_incs +${CMAKE_CURRENT_LIST_DIR}/common +${CMAKE_CURRENT_LIST_DIR}/core +${CMAKE_CURRENT_LIST_DIR}/class/hub +${CMAKE_CURRENT_LIST_DIR}/class/cdc +${CMAKE_CURRENT_LIST_DIR}/class/hid +${CMAKE_CURRENT_LIST_DIR}/class/msc +${CMAKE_CURRENT_LIST_DIR}/class/audio +${CMAKE_CURRENT_LIST_DIR}/class/video +${CMAKE_CURRENT_LIST_DIR}/class/wireless +${CMAKE_CURRENT_LIST_DIR}/class/midi +${CMAKE_CURRENT_LIST_DIR}/class/vendor/net +${CMAKE_CURRENT_LIST_DIR}/class/vendor/serial +) + +if(CONFIG_CHERRYUSB_DEVICE) + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/core/usbd_core.c) + if(CONFIG_CHERRYUSB_DEVICE_CDC) + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/cdc/usbd_cdc.c) + endif() + if(CONFIG_CHERRYUSB_DEVICE_HID) + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/hid/usbd_hid.c) + endif() + if(CONFIG_CHERRYUSB_DEVICE_MSC) + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/msc/usbd_msc.c) + endif() + if(CONFIG_CHERRYUSB_DEVICE_AUDIO) + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/audio/usbd_audio.c) + endif() + if(CONFIG_CHERRYUSB_DEVICE_VIDEO) + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/video/usbd_video.c) + endif() + if(CONFIG_CHERRYUSB_DEVICE_CDC_ECM) + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/cdc/usbd_cdc_ecm.c) + endif() + if(CONFIG_CHERRYUSB_DEVICE_CDC_NCM) + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/cdc/usbd_cdc_ncm.c) + endif() + if(CONFIG_CHERRYUSB_DEVICE_CDC_RNDIS) + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/wireless/usbd_rndis.c) + endif() + + if(DEFINED CONFIG_CHERRYUSB_DEVICE_DCD) + if("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "dwc2_st") + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_dc_dwc2.c) + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_glue_st.c) + elseif("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "dwc2_esp") + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_dc_dwc2.c) + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_glue_esp.c) + elseif("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "dwc2_aic") + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_dc_dwc2.c) + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_glue_aic.c) + elseif("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "dwc2_at") + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_dc_dwc2.c) + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_glue_at.c) + elseif("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "fsdev") + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/fsdev/usb_dc_fsdev.c) + elseif("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "hpm") + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/hpm/usb_dc_hpm.c) + elseif("${CONFIG_CHERRYUSB_DEVICE_DCD}" STREQUAL "musb") + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_dc_musb.c) + endif() + endif() + +endif() + +if(CONFIG_CHERRYUSB_HOST) + list(APPEND cherryusb_srcs + ${CMAKE_CURRENT_LIST_DIR}/core/usbh_core.c + ${CMAKE_CURRENT_LIST_DIR}/class/hub/usbh_hub.c + ) + + if(CONFIG_CHERRYUSB_HOST_CDC_ACM) + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/cdc/usbh_cdc_acm.c) + endif() + if(CONFIG_CHERRYUSB_HOST_CDC_ECM) + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/cdc/usbh_cdc_ecm.c) + endif() + if(CONFIG_CHERRYUSB_HOST_CDC_NCM) + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/cdc/usbh_cdc_ncm.c) + endif() + if(CONFIG_CHERRYUSB_HOST_HID) + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/hid/usbh_hid.c) + endif() + if(CONFIG_CHERRYUSB_HOST_MSC) + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/msc/usbh_msc.c) + endif() + if(CONFIG_CHERRYUSB_HOST_VIDEO) + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/video/usbh_video.c) + endif() + if(CONFIG_CHERRYUSB_HOST_AUDIO) + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/audio/usbh_audio.c) + endif() + if(CONFIG_CHERRYUSB_HOST_CDC_RNDIS) + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/wireless/usbh_rndis.c) + endif() + if(CONFIG_CHERRYUSB_HOST_BLUETOOTH) + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/wireless/usbh_bluetooth.c) + + set(BLUETOOTH_PATH ${CMAKE_CURRENT_LIST_DIR}/third_party/zephyr_bluetooth-2.7.5) + + list(APPEND cherryusb_srcs + ${BLUETOOTH_PATH}/ble_hci_usbh.c + ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/beacon/src/main.c + ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/central/src/main.c + ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/central_hr/src/main.c + ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/central_ht/src/main.c + ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/central_multilink/src/main.c + ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/central_multilink/src/central_multilink.c + # ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/handsfree/src/main.c + ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/ibeacon/src/main.c + ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral/src/main.c + ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral/src/cts.c + ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_csc/src/main.c + ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_dis/src/main.c + ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_esp/src/main.c + ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_hids/src/main.c + ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_hids/src/hog.c + ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_hr/src/main.c + # ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_ht/src/main.c + # ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_ht/src/hts.c + ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_identity/src/main.c + ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_identity/src/peripheral_identity.c + # ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_ots/src/main.c + ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/peripheral_sc_only/src/main.c + ${BLUETOOTH_PATH}/zephyr_bluetooth/examples/scan_adv/src/main.c + ) + + include(${BLUETOOTH_PATH}/zephyr_bluetooth/zephyr_bluetooth.cmake) + list(APPEND cherryusb_srcs ${zephyr_bluetooth_srcs}) + list(APPEND cherryusb_incs ${zephyr_bluetooth_incs}) + endif() + + if(CONFIG_CHERRYUSB_HOST_ASIX) + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/vendor/net/usbh_asix.c) + endif() + if(CONFIG_CHERRYUSB_HOST_RTL8152) + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/class/vendor/net/usbh_rtl8152.c) + endif() + + if(DEFINED CONFIG_CHERRYUSB_HOST_HCD) + if("${CONFIG_CHERRYUSB_HOST_HCD}" STREQUAL "ehci_bouffalo") + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_hc_ehci.c) + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_hc_ehci_iso.c) + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_glue_bouffalo.c) + elseif("${CONFIG_CHERRYUSB_HOST_HCD}" STREQUAL "ehci_hpm") + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_hc_ehci.c) + #list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_hc_ehci_iso.c) + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_glue_hpm.c) + elseif("${CONFIG_CHERRYUSB_HOST_HCD}" STREQUAL "ehci_aic") + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_hc_ehci.c) + #list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_hc_ehci_iso.c) + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_glue_aic.c) + elseif("${CONFIG_CHERRYUSB_HOST_HCD}" STREQUAL "ehci_nuvoton") + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_hc_ehci.c) + #list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_hc_ehci_iso.c) + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/ehci/usb_glue_nuvoton.c) + elseif("${CONFIG_CHERRYUSB_HOST_HCD}" STREQUAL "dwc2_st") + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_hc_dwc2.c) + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_glue_st.c) + elseif("${CONFIG_CHERRYUSB_HOST_HCD}" STREQUAL "dwc2_esp") + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_hc_dwc2.c) + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/dwc2/usb_glue_esp.c) + elseif("${CONFIG_CHERRYUSB_HOST_HCD}" STREQUAL "musb") + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/port/musb/usb_hc_musb.c) + endif() + endif() + +endif() + +if(DEFINED CONFIG_CHERRYUSB_OSAL) + if("${CONFIG_CHERRYUSB_OSAL}" STREQUAL "freertos") + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/osal/usb_osal_freertos.c) + elseif("${CONFIG_CHERRYUSB_OSAL}" STREQUAL "rtthread") + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/osal/usb_osal_rtthread.c) + elseif("${CONFIG_CHERRYUSB_OSAL}" STREQUAL "yoc") + list(APPEND cherryusb_srcs ${CMAKE_CURRENT_LIST_DIR}/osal/usb_osal_yoc.c) + endif() +endif() \ No newline at end of file diff --git a/third_party/zephyr_bluetooth-2.7.5/zephyr_bluetooth b/third_party/zephyr_bluetooth-2.7.5/zephyr_bluetooth index 85834e8..7de2f76 160000 --- a/third_party/zephyr_bluetooth-2.7.5/zephyr_bluetooth +++ b/third_party/zephyr_bluetooth-2.7.5/zephyr_bluetooth @@ -1 +1 @@ -Subproject commit 85834e8f6c4b08df84dc294e02992d354febd257 +Subproject commit 7de2f76ae0d6e377071307934312b2523f5d7787