Add tinyusb library as meson subproject, providing USB drivers.
This commit is contained in:
parent
ed44e1bb33
commit
8df0ce2f2f
|
|
@ -54,6 +54,7 @@ tags
|
||||||
# subprojects
|
# subprojects
|
||||||
subprojects/radio_tool
|
subprojects/radio_tool
|
||||||
subprojects/codec2
|
subprojects/codec2
|
||||||
|
subprojects/tinyusb
|
||||||
|
|
||||||
#ignore log files
|
#ignore log files
|
||||||
*.log
|
*.log
|
||||||
|
|
|
||||||
11
meson.build
11
meson.build
|
|
@ -85,6 +85,9 @@ else
|
||||||
codec2_dep = dependency('codec2')
|
codec2_dep = dependency('codec2')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# tinyusb, An open source cross-platform USB stack for embedded system
|
||||||
|
tinyusb_proj = subproject('tinyusb')
|
||||||
|
tinyusb_dep = tinyusb_proj.get_variable('tinyusb_dep')
|
||||||
|
|
||||||
##
|
##
|
||||||
## RTOS
|
## RTOS
|
||||||
|
|
@ -418,7 +421,7 @@ md3x0_opts = {'sources' : md3x0_src,
|
||||||
'cpp_args': md3x0_args,
|
'cpp_args': md3x0_args,
|
||||||
'link_args' : ['-Wl,-T../platform/mcu/STM32F4xx/linker_script_MDx.ld',
|
'link_args' : ['-Wl,-T../platform/mcu/STM32F4xx/linker_script_MDx.ld',
|
||||||
'-Wl,--print-memory-usage'],
|
'-Wl,--print-memory-usage'],
|
||||||
'dependencies': [codec2_dep],
|
'dependencies': [codec2_dep, tinyusb_dep],
|
||||||
'include_directories': md3x0_inc}
|
'include_directories': md3x0_inc}
|
||||||
|
|
||||||
mduv3x0_opts = {'sources': mduv3x0_src,
|
mduv3x0_opts = {'sources': mduv3x0_src,
|
||||||
|
|
@ -426,7 +429,7 @@ mduv3x0_opts = {'sources': mduv3x0_src,
|
||||||
'cpp_args': mduv3x0_args,
|
'cpp_args': mduv3x0_args,
|
||||||
'link_args' : ['-Wl,-T../platform/mcu/STM32F4xx/linker_script_MDx.ld',
|
'link_args' : ['-Wl,-T../platform/mcu/STM32F4xx/linker_script_MDx.ld',
|
||||||
'-Wl,--print-memory-usage'],
|
'-Wl,--print-memory-usage'],
|
||||||
'dependencies': [codec2_dep],
|
'dependencies': [codec2_dep, tinyusb_dep],
|
||||||
'include_directories': mduv3x0_inc}
|
'include_directories': mduv3x0_inc}
|
||||||
|
|
||||||
gd77_opts = {'sources': gd77_src,
|
gd77_opts = {'sources': gd77_src,
|
||||||
|
|
@ -450,7 +453,7 @@ md9600_opts = {'sources': md9600_src,
|
||||||
'cpp_args': md9600_args,
|
'cpp_args': md9600_args,
|
||||||
'link_args' : ['-Wl,-T../platform/mcu/STM32F4xx/linker_script_MDx.ld',
|
'link_args' : ['-Wl,-T../platform/mcu/STM32F4xx/linker_script_MDx.ld',
|
||||||
'-Wl,--print-memory-usage'],
|
'-Wl,--print-memory-usage'],
|
||||||
'dependencies': [codec2_dep],
|
'dependencies': [codec2_dep, tinyusb_dep],
|
||||||
'include_directories': md9600_inc}
|
'include_directories': md9600_inc}
|
||||||
|
|
||||||
mod17_opts = {'sources': mod17_src,
|
mod17_opts = {'sources': mod17_src,
|
||||||
|
|
@ -458,7 +461,7 @@ mod17_opts = {'sources': mod17_src,
|
||||||
'cpp_args': mod17_args,
|
'cpp_args': mod17_args,
|
||||||
'link_args' : ['-Wl,-T../platform/mcu/STM32F4xx/linker_script_Mod17.ld',
|
'link_args' : ['-Wl,-T../platform/mcu/STM32F4xx/linker_script_Mod17.ld',
|
||||||
'-Wl,--print-memory-usage'],
|
'-Wl,--print-memory-usage'],
|
||||||
'dependencies': [codec2_dep],
|
'dependencies': [codec2_dep, tinyusb_dep],
|
||||||
'include_directories': mod17_inc}
|
'include_directories': mod17_inc}
|
||||||
|
|
||||||
##
|
##
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
project('tinyusb', 'c')
|
||||||
|
|
||||||
|
#
|
||||||
|
# HACK
|
||||||
|
# This is a workaround for meson not propagating the include directories of the
|
||||||
|
# main project to the subprojects. To avoid double-inclusion we force the
|
||||||
|
# include paths needed to compile tinyusb and already present in the main
|
||||||
|
# program via GCC compile arguments.
|
||||||
|
#
|
||||||
|
add_project_arguments('-I../platform/mcu/CMSIS/Device/ST/STM32F4xx/Include',
|
||||||
|
language : 'c')
|
||||||
|
add_project_arguments('-I../platform/mcu/CMSIS/Include', language : 'c')
|
||||||
|
add_project_arguments('-w', language : 'c')
|
||||||
|
|
||||||
|
tinyusb_inc = include_directories('openrtx', 'src', 'hw')
|
||||||
|
|
||||||
|
tinyusb_src = ['src/tusb.c',
|
||||||
|
'src/device/usbd.c',
|
||||||
|
'src/common/tusb_fifo.c',
|
||||||
|
'src/device/usbd_control.c',
|
||||||
|
'src/class/cdc/cdc_device.c',
|
||||||
|
'src/portable/st/synopsys/dcd_synopsys.c',
|
||||||
|
'src/portable/st/stm32_fsdev/dcd_stm32_fsdev.c']
|
||||||
|
|
||||||
|
# Define CPU type and clock speed via GCC command line arguments
|
||||||
|
add_project_arguments('-DSTM32F405xx', language : 'c')
|
||||||
|
add_project_arguments('-DHSE_VALUE=8000000', language : 'c')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
tinyusb = static_library('tinyusb',
|
||||||
|
tinyusb_src,
|
||||||
|
include_directories : tinyusb_inc,
|
||||||
|
install : false)
|
||||||
|
|
||||||
|
tinyusb_dep = declare_dependency(include_directories : tinyusb_inc,
|
||||||
|
link_with : tinyusb)
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
[wrap-git]
|
||||||
|
url = https://github.com/hathach/tinyusb.git
|
||||||
|
revision = 4bfab30c02279a0530e1a56f4a7c539f2d35a293
|
||||||
|
patch_directory = tinyusb
|
||||||
Loading…
Reference in New Issue