idf_build_get_property(target IDF_TARGET)
set(srcs)
set(includes_public)
set(includes_private)
set(compile_options)
if(CONFIG_TINYUSB)
if(target STREQUAL "esp32s3")
set(tusb_mcu "OPT_MCU_ESP32S3")
set(tusb_family "esp32sx")
elseif(target STREQUAL "esp32s2")
set(tusb_mcu "OPT_MCU_ESP32S2")
set(tusb_family "esp32sx")
else()
# CONFIG_TINYUSB dependency has been garanteed by Kconfig logic,
# So it's not possible that cmake goes here
message(FATAL_ERROR "TinyUSB is not support on ${target}.")
return()
endif()
list(APPEND compile_options
"-DCFG_TUSB_MCU=${tusb_mcu}"
"-DCFG_TUSB_DEBUG=${CONFIG_TINYUSB_DEBUG_LEVEL}"
)
idf_component_get_property(freertos_component_dir freertos COMPONENT_DIR)
list(APPEND includes_private
"${IDF_PATH}/components/tinyusb/tinyusb/hw/bsp/"
"${IDF_PATH}/components/tinyusb/tinyusb/src/"
"${IDF_PATH}/components/tinyusb/tinyusb/src/device"
"${IDF_PATH}/components/tinyusb/tinyusb/src/class/bth"
"${IDF_PATH}/components/tinyusb/tinyusb/src/class/msc"
#"additions/include_private"
)
list(APPEND includes_public
"${IDF_PATH}/components/tinyusb/tinyusb/src/"
"additions/include"
"additions/include_private"
"additions/tusb/src/lib/networking"
"additions/tusb/src/class/dfu"
"additions/tusb/src/class/vendor"
# The FreeRTOS API include convention in tinyusb is different from esp-idf
"${freertos_component_dir}/include/freertos"
)
list(APPEND srcs
"additions/tusb/src/portable/espressif/${tusb_family}/dcd_${tusb_family}.c"
"${IDF_PATH}/components/tinyusb/tinyusb/src/class/cdc/cdc_device.c"
"${IDF_PATH}/components/tinyusb/tinyusb/src/class/hid/hid_device.c"
"${IDF_PATH}/components/tinyusb/tinyusb/src/class/midi/midi_device.c"
"${IDF_PATH}/components/tinyusb/tinyusb/src/class/vendor/vendor_device.c"
"${IDF_PATH}/components/tinyusb/tinyusb/src/common/tusb_fifo.c"
"${IDF_PATH}/components/tinyusb/tinyusb/src/device/usbd_control.c"
"${IDF_PATH}/components/tinyusb/tinyusb/src/tusb.c"
#"${IDF_PATH}/components/tinyusb/tinyusb/src/device/usbd.c"
#"${IDF_PATH}/components/tinyusb/additions/src/descriptors_control.c"
#"${IDF_PATH}/components/tinyusb/additions/src/tinyusb.c"
#"${IDF_PATH}/components/tinyusb/additions/src/tusb_tasks.c"
#"${IDF_PATH}/components/tinyusb/additions/src/usb_descriptors.c"
"additions/src/usbd.c"
"additions/src/descriptors_control.c"
"additions/src/tinyusb.c"
"additions/src/tusb_tasks.c"
"additions/src/usb_descriptors.c"
)
# when no builtin class driver is enabled, an uint8_t data compared with `BUILTIN_DRIVER_COUNT` will always be false
set_source_files_properties("tinyusb/src/device/usbd.c" PROPERTIES COMPILE_FLAGS "-Wno-type-limits")
if(CONFIG_TINYUSB_CDCACM_ENABLED)
list(APPEND srcs
"additions/src/cdc.c"
"additions/src/tusb_cdc_acm.c"
"additions/src/tusb_console.c"
"additions/src/vfs_tinyusb.c"
)
endif() # CONFIG_TINYUSB_CDCACM_ENABLED
if(CONFIG_TINYUSB_HID_ENABLED)
list(APPEND srcs
"additions/src/tusb_hid.c")
endif()
if(CONFIG_TINYUSB_MSC_ENABLED)
list(APPEND srcs
"additions/src/tusb_msc.c"
"additions/tusb/src/class/msc/msc_device.c")
endif()
if(CONFIG_TINYUSB_NET_ENABLED)
list(APPEND srcs
"additions/src/tusb_net.c"
"additions/tusb/src/class/net/net_device.c"
"additions/tusb/src/lib/networking/rndis_reports.c")
endif()
if(CONFIG_TINYUSB_BTH_ENABLED)
list(APPEND srcs
"additions/src/tusb_bth.c"
"${IDF_PATH}/components/tinyusb/tinyusb/src/class/bth/bth_device.c")
endif()
if(CONFIG_TINYUSB_DFU_ENABLED)
list(APPEND srcs
"additions/src/tusb_dfu.c"
"additions/tusb/src/class/dfu/dfu_device.c")
endif()
if(CONFIG_TINYUSB_WEBUSB_ENABLED)
list(APPEND srcs
"additions/src/tusb_webusb.c"
"additions/tusb/src/class/vendor/vendor_device.c")
endif()
endif() # CONFIG_TINYUSB
idf_component_register(SRCS ${srcs}
INCLUDE_DIRS ${includes_public}
PRIV_INCLUDE_DIRS ${includes_private}
PRIV_REQUIRES "vfs" "fatfs" "bt" "app_update"
)
if(CONFIG_TINYUSB)
target_compile_options(${COMPONENT_LIB} PRIVATE ${compile_options})
endif()
没有合适的资源?快使用搜索试试~ 我知道了~
esp32s3 u盘 usb_device_msc
共52个文件
c:23个
h:20个
txt:3个
5星 · 超过95%的资源 需积分: 50 49 下载量 156 浏览量
2022-08-16
10:18:08
上传
评论 10
收藏 123KB ZIP 举报
温馨提示
esp32s3 u盘 usb_device_msc 可以吧内部flash或者SD卡做成u盘。
资源详情
资源评论
资源推荐
收起资源包目录
usb_device_msc.zip (52个子文件)
usb_device_msc
sdkconfig.defaults 689B
partitions_example.csv 307B
main
CMakeLists.txt 77B
Kconfig.projbuild 677B
usb_msc_disk_main.c 6KB
components
tinyusb
Kconfig 9KB
idf_component.yml 426B
CMakeLists.txt 5KB
additions
include
tinyusb.h 3KB
tinyusb_types.h 915B
vfs_tinyusb.h 1KB
tusb_config.h 5KB
tusb_bth.h 1KB
tusb_tasks.h 2KB
tusb_net.h 1KB
tusb_console.h 1KB
tusb_msc.h 1KB
tusb_cdc_acm.h 7KB
tusb_hid.h 10KB
tusb
src
class
vendor
vendor_device.h 5KB
vendor_device.c 7KB
msc
msc_device.c 30KB
net
net_device.c 15KB
dfu
dfu_rt_device.h 2KB
dfu_device.c 15KB
dfu_rt_device.c 4KB
dfu_device.h 6KB
dfu.h 3KB
portable
espressif
esp32sx
dcd_esp32sx.c 28KB
lib
networking
rndis_reports.c 12KB
rndis_protocol.h 9KB
ndis.h 11KB
src
tusb_tasks.c 2KB
cdc.c 5KB
descriptors_control.c 10KB
vfs_tinyusb.c 8KB
tusb_dfu.c 11KB
usbd.c 40KB
tinyusb.c 3KB
tusb_hid.c 5KB
tusb_net.c 2KB
tusb_webusb.c 12KB
usb_descriptors.c 4KB
tusb_console.c 4KB
tusb_msc.c 8KB
tusb_cdc_acm.c 13KB
tusb_bth.c 7KB
include_private
descriptors_control.h 4KB
cdc.h 4KB
usb_descriptors.h 1005B
CMakeLists.txt 231B
dependencies.lock 204B
共 52 条
- 1
乔峰大侠
- 粉丝: 39
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- mybatis动态sql及其JAVA示例
- 微软常用运行库 游戏运行库 VC++各个版本
- 微信小程序开发教程.pptx
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- 锐捷网络认证中心网络管理.pdf
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- SD8233LF是一款用于单按键触摸及接近感应开关,其用途是替代传统的机械型开关芯片IC
- 基于YOLOv5的烟雾火焰检测算法研究
- 基于STM32的联合调试侦听设备解决方案原理图PCB源文件调试工具视频(大赛作品)
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论5