espressif's patch for SPI concurrent issue + fix override mechanismi

This commit is contained in:
philippe44
2022-09-08 13:34:06 -07:00
parent 1fcda53941
commit a8e28f9ff0
6 changed files with 872 additions and 9 deletions

View File

@@ -1,7 +1,21 @@
set(srcs i2s.c i2s_hal.c spi_master.c)
idf_component_register( SRCS ${srcs}
INCLUDE_DIRS ${IDF_PATH}/components/driver
)
set(lib_dir ${build_dir}/esp-idf)
set(driver i2s.c i2s_hal.c spi_bus_lock.c)
string(REPLACE ".c" ".c.obj" driver_obj "${driver}")
idf_component_register( SRCS ${driver}
REQUIRES driver
INCLUDE_DIRS ${IDF_PATH}/components/driver
PRIV_INCLUDE_DIRS ${IDF_PATH}/components/driver/include/driver
)
# CMake is just a pile of crap
message("overriding ${srcs} !! THIS MUST BE REQUIRED BY ONE COMPONENT BUT NOT MAIN !!")
message("!! overriding ${driver} !!")
message("CAREFUL, LIBRARIES STRIPPING FROM DUPLICATED COMPONENTS DEPENDS ON THIS BEING REBUILD")
add_custom_command(
TARGET ${COMPONENT_LIB}
PRE_LINK
COMMAND xtensa-esp32-elf-ar -d ${lib_dir}/driver/libdriver.a ${driver_obj}
VERBATIM
)