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/radio_tool
|
||||
subprojects/codec2
|
||||
subprojects/tinyusb
|
||||
|
||||
#ignore log files
|
||||
*.log
|
||||
|
|
|
|||
11
meson.build
11
meson.build
|
|
@ -85,6 +85,9 @@ else
|
|||
codec2_dep = dependency('codec2')
|
||||
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
|
||||
|
|
@ -418,7 +421,7 @@ md3x0_opts = {'sources' : md3x0_src,
|
|||
'cpp_args': md3x0_args,
|
||||
'link_args' : ['-Wl,-T../platform/mcu/STM32F4xx/linker_script_MDx.ld',
|
||||
'-Wl,--print-memory-usage'],
|
||||
'dependencies': [codec2_dep],
|
||||
'dependencies': [codec2_dep, tinyusb_dep],
|
||||
'include_directories': md3x0_inc}
|
||||
|
||||
mduv3x0_opts = {'sources': mduv3x0_src,
|
||||
|
|
@ -426,7 +429,7 @@ mduv3x0_opts = {'sources': mduv3x0_src,
|
|||
'cpp_args': mduv3x0_args,
|
||||
'link_args' : ['-Wl,-T../platform/mcu/STM32F4xx/linker_script_MDx.ld',
|
||||
'-Wl,--print-memory-usage'],
|
||||
'dependencies': [codec2_dep],
|
||||
'dependencies': [codec2_dep, tinyusb_dep],
|
||||
'include_directories': mduv3x0_inc}
|
||||
|
||||
gd77_opts = {'sources': gd77_src,
|
||||
|
|
@ -450,7 +453,7 @@ md9600_opts = {'sources': md9600_src,
|
|||
'cpp_args': md9600_args,
|
||||
'link_args' : ['-Wl,-T../platform/mcu/STM32F4xx/linker_script_MDx.ld',
|
||||
'-Wl,--print-memory-usage'],
|
||||
'dependencies': [codec2_dep],
|
||||
'dependencies': [codec2_dep, tinyusb_dep],
|
||||
'include_directories': md9600_inc}
|
||||
|
||||
mod17_opts = {'sources': mod17_src,
|
||||
|
|
@ -458,7 +461,7 @@ mod17_opts = {'sources': mod17_src,
|
|||
'cpp_args': mod17_args,
|
||||
'link_args' : ['-Wl,-T../platform/mcu/STM32F4xx/linker_script_Mod17.ld',
|
||||
'-Wl,--print-memory-usage'],
|
||||
'dependencies': [codec2_dep],
|
||||
'dependencies': [codec2_dep, tinyusb_dep],
|
||||
'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