mirror of
https://github.com/hathach/tinyusb.git
synced 2025-01-17 05:32:55 +08:00
update cmake build to work with esp32s2 and rp2040
This commit is contained in:
parent
67a9cdc35b
commit
b6e9c42b02
@ -1,15 +1,16 @@
|
|||||||
# The following five lines of boilerplate have to be in your project's
|
|
||||||
# CMakeLists in this exact order for cmake to work correctly
|
|
||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.5)
|
||||||
|
|
||||||
# TOP is absolute path to root directory of TinyUSB git repo
|
# TOP is absolute path to root directory of TinyUSB git repo
|
||||||
set(TOP "../../..")
|
set(TOP "../../..")
|
||||||
get_filename_component(TOP "${TOP}" REALPATH)
|
get_filename_component(TOP "${TOP}" REALPATH)
|
||||||
|
|
||||||
# Add example src and bsp directories
|
# Check for -DFAMILY=
|
||||||
set(EXTRA_COMPONENT_DIRS "src" "${TOP}/hw/bsp/esp32s2/boards" "${TOP}/hw/bsp/esp32s2/components")
|
if(NOT DEFINED FAMILY)
|
||||||
|
message(FATAL_ERROR "Invalid FAMILY specified")
|
||||||
|
endif()
|
||||||
|
|
||||||
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
include(${TOP}/hw/bsp/${FAMILY}/family.cmake)
|
||||||
set(SUPPORTED_TARGETS esp32s2)
|
|
||||||
|
|
||||||
project(board_test)
|
project(board_test)
|
||||||
|
|
||||||
|
include(${TOP}/hw/bsp/${FAMILY}/family_extra.cmake OPTIONAL)
|
||||||
|
@ -40,7 +40,7 @@ ifeq ($(FAMILY),)
|
|||||||
include $(TOP)/hw/bsp/$(BOARD)/board.mk
|
include $(TOP)/hw/bsp/$(BOARD)/board.mk
|
||||||
else
|
else
|
||||||
# Include Family and Board specific defs
|
# Include Family and Board specific defs
|
||||||
include $(TOP)/$(FAMILY_PATH)/family.mk
|
-include $(TOP)/$(FAMILY_PATH)/family.mk
|
||||||
|
|
||||||
SRC_C += $(subst $(TOP)/,,$(wildcard $(TOP)/$(FAMILY_PATH)/*.c))
|
SRC_C += $(subst $(TOP)/,,$(wildcard $(TOP)/$(FAMILY_PATH)/*.c))
|
||||||
endif
|
endif
|
||||||
|
@ -2,34 +2,46 @@
|
|||||||
# Common make rules for all examples
|
# Common make rules for all examples
|
||||||
# ---------------------------------------
|
# ---------------------------------------
|
||||||
|
|
||||||
ifeq ($(CROSS_COMPILE),xtensa-esp32s2-elf-)
|
ifeq ($(FAMILY),esp32s2)
|
||||||
# Espressif IDF use CMake build system, this add wrapper target to call idf.py
|
# Espressif IDF use CMake build system, this add wrapper target to call idf.py
|
||||||
|
|
||||||
.PHONY: all clean flash
|
.PHONY: all clean flash
|
||||||
.DEFAULT_GOAL := all
|
.DEFAULT_GOAL := all
|
||||||
|
|
||||||
all:
|
all:
|
||||||
idf.py -B$(BUILD) -DBOARD=$(BOARD) build
|
idf.py -B$(BUILD) -DFAMILY=$(FAMILY) -DBOARD=$(BOARD) build
|
||||||
|
|
||||||
build: all
|
build: all
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
idf.py -B$(BUILD) -DBOARD=$(BOARD) clean
|
idf.py -B$(BUILD) -DFAMILY=$(FAMILY) -DBOARD=$(BOARD) clean
|
||||||
|
|
||||||
|
fullclean:
|
||||||
|
idf.py -B$(BUILD) -DFAMILY=$(FAMILY) -DBOARD=$(BOARD) fullclean
|
||||||
|
|
||||||
flash:
|
flash:
|
||||||
idf.py -B$(BUILD) -DBOARD=$(BOARD) flash
|
idf.py -B$(BUILD) -DFAMILY=$(FAMILY) -DBOARD=$(BOARD) flash
|
||||||
|
|
||||||
bootloader-flash:
|
bootloader-flash:
|
||||||
idf.py -B$(BUILD) -DBOARD=$(BOARD) bootloader-flash
|
idf.py -B$(BUILD) -DFAMILY=$(FAMILY) -DBOARD=$(BOARD) bootloader-flash
|
||||||
|
|
||||||
app-flash:
|
app-flash:
|
||||||
idf.py -B$(BUILD) -DBOARD=$(BOARD) app-flash
|
idf.py -B$(BUILD) -DFAMILY=$(FAMILY) -DBOARD=$(BOARD) app-flash
|
||||||
|
|
||||||
erase:
|
erase:
|
||||||
idf.py -B$(BUILD) -DBOARD=$(BOARD) erase_flash
|
idf.py -B$(BUILD) -DFAMILY=$(FAMILY) -DBOARD=$(BOARD) erase_flash
|
||||||
|
|
||||||
monitor:
|
monitor:
|
||||||
idf.py -B$(BUILD) -DBOARD=$(BOARD) monitor
|
idf.py -B$(BUILD) -DFAMILY=$(FAMILY) -DBOARD=$(BOARD) monitor
|
||||||
|
|
||||||
|
else ifeq ($(FAMILY),rp2040)
|
||||||
|
|
||||||
|
all:
|
||||||
|
[ -d $(BUILD) ] || cmake -S . -B $(BUILD) -DFAMILY=$(FAMILY) -DPICO_BUILD_DOCS=0
|
||||||
|
$(MAKE) -C $(BUILD)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
$(RM) -rf $(BUILD)
|
||||||
|
|
||||||
else
|
else
|
||||||
# GNU Make build system
|
# GNU Make build system
|
||||||
|
6
hw/bsp/esp32s2/family.cmake
Normal file
6
hw/bsp/esp32s2/family.cmake
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.5)
|
||||||
|
|
||||||
|
# Add example src and bsp directories
|
||||||
|
set(EXTRA_COMPONENT_DIRS "src" "${TOP}/hw/bsp/esp32s2/boards" "${TOP}/hw/bsp/esp32s2/components")
|
||||||
|
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
||||||
|
set(SUPPORTED_TARGETS esp32s2)
|
@ -1,2 +0,0 @@
|
|||||||
# Cross Compiler for ESP32
|
|
||||||
CROSS_COMPILE = xtensa-esp32s2-elf-
|
|
3
hw/bsp/rp2040/family.cmake
Normal file
3
hw/bsp/rp2040/family.cmake
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.12)
|
||||||
|
set(PICO_SDK_PATH ${TOP}/hw/mcu/raspberrypi/pico-sdk)
|
||||||
|
include(${PICO_SDK_PATH}/pico_sdk_init.cmake)
|
1
hw/bsp/rp2040/family_extra.cmake
Normal file
1
hw/bsp/rp2040/family_extra.cmake
Normal file
@ -0,0 +1 @@
|
|||||||
|
pico_sdk_init()
|
Loading…
x
Reference in New Issue
Block a user