Skip to content

Commit 5a629ad

Browse files
committed
arch/xtensa/esp32[-s2|-s3]: Modify the method of downloading the repository
Directly downloading the Git repository is inconvenient for local debugging. This will allow to automatically download external packages from the Internet. If not set, the repo need to be download will need to provide them manually, otherwise an error will occur and the build will be aborted. Signed-off-by: v-tangmeng <[email protected]>
1 parent be413af commit 5a629ad

File tree

2 files changed

+201
-22
lines changed

2 files changed

+201
-22
lines changed

arch/risc-v/src/common/espressif/Make.defs

Lines changed: 193 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -199,41 +199,185 @@ ifndef ESP_HAL_3RDPARTY_VERSION
199199
endif
200200

201201
ifndef ESP_HAL_3RDPARTY_URL
202-
ESP_HAL_3RDPARTY_URL = https://github.com/espressif/esp-hal-3rdparty.git
202+
ESP_HAL_3RDPARTY_URL = https://github.com/espressif/esp-hal-3rdparty/archive
203203
endif
204204

205-
ifndef DISABLE_GIT_DEPTH
206-
ifndef GIT_DEPTH
207-
GIT_DEPTH=1
205+
ESP_HAL_3RDPARTY_ZIP = $(ESP_HAL_3RDPARTY_VERSION).zip
206+
207+
ifeq ($(STORAGETMP),y)
208+
define DOWNLOAD_ESP_HAL_3RDPARTY_REPO
209+
$(call DOWNLOAD,$(ESP_HAL_3RDPARTY_URL),$(ESP_HAL_3RDPARTY_ZIP),chip/$(ESP_HAL_3RDPARTY_ZIP),$(NXTMPDIR)/$(ESP_HAL_3RDPARTY_ZIP))
210+
endef
211+
else
212+
define DOWNLOAD_ESP_HAL_3RDPARTY_REPO
213+
$(call DOWNLOAD,$(ESP_HAL_3RDPARTY_URL),$(ESP_HAL_3RDPARTY_ZIP),chip/$(ESP_HAL_3RDPARTY_ZIP))
214+
endef
208215
endif
209-
GIT_DEPTH_PARAMETER = --depth=$(GIT_DEPTH)
216+
217+
$(ESP_HAL_3RDPARTY_ZIP):
218+
$(Q) $(call DOWNLOAD_ESP_HAL_3RDPARTY_REPO)
219+
220+
chip/$(ESP_HAL_3RDPARTY_REPO): $(ESP_HAL_3RDPARTY_ZIP)
221+
$(Q) echo "Unpacking: Espressif HAL for 3rd Party Platforms"
222+
$(Q) unzip -oqq chip/$(ESP_HAL_3RDPARTY_ZIP) -d chip/
223+
$(Q) mv chip/$(ESP_HAL_3RDPARTY_REPO)-$(ESP_HAL_3RDPARTY_VERSION)* chip/$(ESP_HAL_3RDPARTY_REPO)
224+
$(Q) touch chip/$(ESP_HAL_3RDPARTY_REPO)
225+
226+
ESP_COMPONENTS_MBEDTLS_UNPACK = mbedtls
227+
ifndef ESP_COMPONENTS_MBEDTLS_VERSION
228+
ESP_COMPONENTS_MBEDTLS_VERSION = mbedtls-3.6.4-idf
210229
endif
211230

231+
ifndef ESP_COMPONENTS_MBEDTLS_URL
232+
ESP_COMPONENTS_MBEDTLS_URL = https://github.com/espressif/mbedtls/archive
233+
endif
234+
235+
ESP_COMPONENTS_MBEDTLS_ZIP = $(ESP_COMPONENTS_MBEDTLS_VERSION).zip
236+
212237
ifeq ($(STORAGETMP),y)
213-
define CLONE_ESP_HAL_3RDPARTY_REPO
214-
$(call CHECK_COMMITSHA, $(NXTMPDIR)/$(ESP_HAL_3RDPARTY_REPO),$(ESP_HAL_3RDPARTY_VERSION))
215-
$(call CLONE, $(ESP_HAL_3RDPARTY_URL),chip/$(ESP_HAL_3RDPARTY_REPO),$(NXTMPDIR)/$(ESP_HAL_3RDPARTY_REPO))
238+
define DOWNLOAD_ESP_COMPONENTS_MBEDTLS_UNPACK
239+
$(call DOWNLOAD,$(ESP_COMPONENTS_MBEDTLS_URL),$(ESP_COMPONENTS_MBEDTLS_ZIP),chip/$(ESP_COMPONENTS_MBEDTLS_ZIP),$(NXTMPDIR)/$(ESP_COMPONENTS_MBEDTLS_ZIP))
216240
endef
217241
else
218-
define CLONE_ESP_HAL_3RDPARTY_REPO
219-
$(call CLONE, $(ESP_HAL_3RDPARTY_URL),chip/$(ESP_HAL_3RDPARTY_REPO))
242+
define DOWNLOAD_ESP_COMPONENTS_MBEDTLS_UNPACK
243+
$(call DOWNLOAD,$(ESP_COMPONENTS_MBEDTLS_URL),$(ESP_HAL_3RDPARTY_ZIP),chip/$(ESP_COMPONENTS_MBEDTLS_ZIP))
220244
endef
221245
endif
222246

223-
chip/$(ESP_HAL_3RDPARTY_REPO):
224-
$(Q) echo "Cloning Espressif HAL for 3rd Party Platforms"
225-
$(Q) $(call CLONE_ESP_HAL_3RDPARTY_REPO)
226-
$(Q) echo "Espressif HAL for 3rd Party Platforms: ${ESP_HAL_3RDPARTY_VERSION}"
227-
$(Q) git -C chip/$(ESP_HAL_3RDPARTY_REPO) checkout --quiet $(ESP_HAL_3RDPARTY_VERSION)
228-
$(Q) git -C chip/$(ESP_HAL_3RDPARTY_REPO) submodule --quiet update --init $(GIT_DEPTH_PARAMETER) components/mbedtls/mbedtls
229-
ifeq ($(CONFIG_ESP_WIRELESS),y)
230-
$(Q) echo "Espressif HAL for 3rd Party Platforms: initializing submodules..."
231-
$(Q) git -C chip/$(ESP_HAL_3RDPARTY_REPO) submodule --quiet update --init $(GIT_DEPTH_PARAMETER) components/esp_phy/lib components/esp_wifi/lib components/bt/controller/lib_esp32c3_family components/esp_coex/lib
232-
$(Q) git -C chip/$(ESP_HAL_3RDPARTY_REPO)/components/mbedtls/mbedtls reset --quiet --hard
247+
$(ESP_COMPONENTS_MBEDTLS_ZIP):
248+
$(Q) $(call DOWNLOAD_ESP_COMPONENTS_MBEDTLS_UNPACK)
249+
250+
chip/$(ESP_COMPONENTS_MBEDTLS_UNPACK): $(ESP_COMPONENTS_MBEDTLS_ZIP) chip/$(ESP_HAL_3RDPARTY_REPO)
251+
$(Q) unzip -oqq chip/$(ESP_COMPONENTS_MBEDTLS_ZIP) -d chip/
252+
$(Q) rm -fr chip/$(ESP_HAL_3RDPARTY_REPO)/components/mbedtls/mbedtls
253+
$(Q) mv chip/$(ESP_COMPONENTS_MBEDTLS_UNPACK)-$(ESP_COMPONENTS_MBEDTLS_VERSION)* chip/$(ESP_HAL_3RDPARTY_REPO)/components/mbedtls/mbedtls
254+
$(Q) touch chip/$(ESP_HAL_3RDPARTY_REPO)/components/mbedtls/mbedtls
233255
$(Q) echo "Applying patches..."
234256
$(Q) cd chip/$(ESP_HAL_3RDPARTY_REPO)/components/mbedtls/mbedtls && git apply ../../../nuttx/patches/components/mbedtls/mbedtls/*.patch
257+
258+
ESP_COMPONENTS_ESP_PHY_LIB_UNPACK = esp-phy-lib
259+
ifndef ESP_COMPONENTS_ESP_PHY_LIB_VERSION
260+
ESP_COMPONENTS_ESP_PHY_LIB_VERSION = master
261+
endif
262+
263+
ifndef ESP_COMPONENTS_ESP_PHY_LIB_URL
264+
ESP_COMPONENTS_ESP_PHY_LIB_URL = https://github.com/espressif/esp-phy-lib/archive
265+
endif
266+
267+
ESP_COMPONENTS_ESP_PHY_LIB_ZIP = esp-phy-lib-$(ESP_COMPONENTS_ESP_PHY_LIB_VERSION).zip
268+
269+
ifeq ($(STORAGETMP),y)
270+
define ESP_COMPONENTS_ESP_PHY_LIB_UNPACK
271+
$(call DOWNLOAD,$(ESP_COMPONENTS_ESP_PHY_LIB_URL),$(ESP_COMPONENTS_ESP_PHY_LIB_ZIP),chip/$(ESP_COMPONENTS_ESP_PHY_LIB_ZIP),$(NXTMPDIR)/$(ESP_COMPONENTS_ESP_PHY_LIB_ZIP))
272+
endef
273+
else
274+
define ESP_COMPONENTS_ESP_PHY_LIB_UNPACK
275+
$(call DOWNLOAD,$(ESP_COMPONENTS_ESP_PHY_LIB_URL),$(ESP_COMPONENTS_ESP_PHY_LIB_ZIP),chip/$(ESP_COMPONENTS_ESP_PHY_LIB_ZIP))
276+
endef
277+
endif
278+
279+
$(ESP_COMPONENTS_ESP_PHY_LIB_ZIP):
280+
$(Q) $(call DOWNLOAD_ESP_COMPONENTS_ESP_PHY_LIB_UNPACK)
281+
282+
chip/$(ESP_COMPONENTS_ESP_PHY_LIB_UNPACK): $(ESP_COMPONENTS_ESP_PHY_LIB_ZIP) chip/$(ESP_HAL_3RDPARTY_REPO)
283+
$(Q) unzip -oqq chip/$(ESP_COMPONENTS_ESP_PHY_LIB_ZIP) -d chip/
284+
$(Q) rm -fr chip/$(ESP_HAL_3RDPARTY_REPO)/components/esp_phy/lib
285+
$(Q) mv chip/$(ESP_COMPONENTS_ESP_PHY_LIB_UNPACK)-$(ESP_COMPONENTS_ESP_PHY_LIB_VERSION)* chip/$(ESP_HAL_3RDPARTY_REPO)/components/esp_phy/lib
286+
$(Q) touch chip/$(ESP_HAL_3RDPARTY_REPO)/components/esp_phy/lib
287+
288+
ESP_COMPONENTS_ESP_WIFI_LIB_UNPACK = esp32-wifi-lib
289+
ifndef ESP_COMPONENTS_ESP_WIFI_LIB_VERSION
290+
ESP_COMPONENTS_ESP_WIFI_LIB_VERSION = master
291+
endif
292+
293+
ifndef ESP_COMPONENTS_ESP_WIFI_LIB_URL
294+
ESP_COMPONENTS_ESP_WIFI_LIB_URL = https://github.com/espressif/esp32-wifi-lib
295+
endif
296+
297+
ESP_COMPONENTS_ESP_WIFI_LIB_ZIP = esp32-wifi-lib-$(ESP_COMPONENTS_ESP_WIFI_LIB_VERSION).zip
298+
299+
ifeq ($(STORAGETMP),y)
300+
define ESP_COMPONENTS_ESP_WIFI_LIB_UNPACK
301+
$(call DOWNLOAD,$(ESP_COMPONENTS_ESP_WIFI_LIB_URL),$(ESP_COMPONENTS_ESP_WIFI_LIB_ZIP),chip/$(ESP_COMPONENTS_ESP_WIFI_LIB_ZIP),$(NXTMPDIR)/$(ESP_COMPONENTS_ESP_WIFI_LIB_ZIP))
302+
endef
303+
else
304+
define ESP_COMPONENTS_ESP_WIFI_LIB_UNPACK
305+
$(call DOWNLOAD,$(ESP_COMPONENTS_ESP_WIFI_LIB_URL),$(ESP_COMPONENTS_ESP_WIFI_LIB_ZIP),chip/$(ESP_COMPONENTS_ESP_WIFI_LIB_ZIP))
306+
endef
307+
endif
308+
309+
$(ESP_COMPONENTS_ESP_WIFI_LIB_ZIP):
310+
$(Q) $(call DOWNLOAD_ESP_COMPONENTS_ESP_WIFI_LIB_UNPACK)
311+
312+
chip/$(ESP_COMPONENTS_ESP_WIFI_LIB_UNPACK): $(ESP_COMPONENTS_ESP_WIFI_LIB_ZIP) chip/$(ESP_HAL_3RDPARTY_REPO)
313+
$(Q) unzip -oqq chip/$(ESP_COMPONENTS_ESP_WIFI_LIB_ZIP) -d chip/
314+
$(Q) rm -fr chip/$(ESP_HAL_3RDPARTY_REPO)/components/esp_wifi/lib
315+
$(Q) mv chip/$(ESP_COMPONENTS_ESP_WIFI_LIB_UNPACK)-$(ESP_COMPONENTS_ESP_WIFI_LIB_VERSION)* chip/$(ESP_HAL_3RDPARTY_REPO)/components/esp_phy/lib
316+
$(Q) touch chip/$(ESP_HAL_3RDPARTY_REPO)/components/esp_wifi/lib
317+
318+
319+
ESP_COMPONENTS_ESP32C3_BT_LIB_UNPACK = esp32c3-bt-lib
320+
ifndef ESP_COMPONENTS_ESP32C3_BT_LIB_VERSION
321+
ESP_COMPONENTS_ESP32C3_BT_LIB_VERSION = master
235322
endif
236323

324+
ifndef ESP_COMPONENTS_ESP32C3_BT_LIB_URL
325+
ESP_COMPONENTS_ESP32C3_BT_LIB_URL = https://github.com/espressif/esp32c3-bt-lib
326+
endif
327+
328+
ESP_COMPONENTS_ESP32C3_BT_LIB_ZIP = esp32c3-bt-lib-$(ESP_COMPONENTS_ESP32C3_BT_LIB_VERSION).zip
329+
330+
ifeq ($(STORAGETMP),y)
331+
define ESP_COMPONENTS_ESP32C3_BT_LIB_UNPACK
332+
$(call DOWNLOAD,$(ESP_COMPONENTS_ESP32C3_BT_LIB_URL),$(ESP_COMPONENTS_ESP32C3_BT_LIB_ZIP),chip/$(ESP_COMPONENTS_ESP32C3_BT_LIB_ZIP),$(NXTMPDIR)/$(ESP_COMPONENTS_ESP32C3_BT_LIB_ZIP))
333+
endef
334+
else
335+
define ESP_COMPONENTS_ESP32C3_BT_LIB_UNPACK
336+
$(call DOWNLOAD,$(ESP_COMPONENTS_ESP32C3_BT_LIB_URL),$(ESP_COMPONENTS_ESP32C3_BT_LIB_ZIP),chip/$(ESP_COMPONENTS_ESP32C3_BT_LIB_ZIP))
337+
endef
338+
endif
339+
340+
$(ESP_COMPONENTS_ESP32C3_BT_LIB_ZIP):
341+
$(Q) $(call DOWNLOAD_ESP_COMPONENTS_ESP32C3_BT_LIB_UNPACK)
342+
343+
chip/$(ESP_COMPONENTS_ESP32C3_BT_LIB_UNPACK): $(ESP_COMPONENTS_ESP32C3_BT_LIB_ZIP) chip/$(ESP_HAL_3RDPARTY_REPO)
344+
$(Q) unzip -oqq chip/$(ESP_COMPONENTS_ESP32C3_BT_LIB_ZIP) -d chip/
345+
$(Q) rm -fr chip/$(ESP_HAL_3RDPARTY_REPO)/components/bt/controller/lib_esp32c3_family
346+
$(Q) mv chip/$(ESP_COMPONENTS_ESP32C3_BT_LIB_UNPACK)-$(ESP_COMPONENTS_ESP32C3_BT_LIB_VERSION)* chip/$(ESP_HAL_3RDPARTY_REPO)/components/esp_phy/lib
347+
$(Q) touch chip/$(ESP_HAL_3RDPARTY_REPO)/components/bt/controller/lib_esp32c3_family
348+
349+
350+
ESP_COMPONENTS_ESP_COEX_LIB_UNPACK = esp-coex-lib
351+
ifndef ESP_COMPONENTS_ESP_COEX_LIB_VERSION
352+
ESP_COMPONENTS_ESP_COEX_LIB_VERSION = main
353+
endif
354+
355+
ifndef ESP_COMPONENTS_ESP_COEX_LIB_URL
356+
ESP_COMPONENTS_ESP_COEX_LIB_URL = https://github.com/espressif/esp-coex-lib
357+
endif
358+
359+
ESP_COMPONENTS_ESP_COEX_LIB_ZIP = esp-phy-lib-$(ESP_COMPONENTS_ESP_COEX_LIB_VERSION).zip
360+
361+
ifeq ($(STORAGETMP),y)
362+
define ESP_COMPONENTS_ESP_COEX_LIB_UNPACK
363+
$(call DOWNLOAD,$(ESP_COMPONENTS_ESP_COEX_LIB_URL),$(ESP_COMPONENTS_ESP_COEX_LIB_ZIP),chip/$(ESP_COMPONENTS_ESP_COEX_LIB_ZIP),$(NXTMPDIR)/$(ESP_COMPONENTS_ESP_COEX_LIB_ZIP))
364+
endef
365+
else
366+
define ESP_COMPONENTS_ESP_COEX_LIB_UNPACK
367+
$(call DOWNLOAD,$(ESP_COMPONENTS_ESP_COEX_LIB_URL),$(ESP_COMPONENTS_ESP_COEX_LIB_ZIP),chip/$(ESP_COMPONENTS_ESP_COEX_LIB_ZIP))
368+
endef
369+
endif
370+
371+
$(ESP_COMPONENTS_ESP_COEX_LIB_ZIP):
372+
$(Q) $(call DOWNLOAD_ESP_COMPONENTS_ESP_COEX_LIB_UNPACK)
373+
374+
chip/$(ESP_COMPONENTS_ESP_COEX_LIB_UNPACK): $(ESP_COMPONENTS_ESP_COEX_LIB_ZIP) chip/$(ESP_HAL_3RDPARTY_REPO)
375+
$(Q) unzip -oqq chip/$(ESP_COMPONENTS_ESP_COEX_LIB_ZIP) -d chip/
376+
$(Q) rm -fr chip/$(ESP_HAL_3RDPARTY_REPO)/components/esp_coex/lib
377+
$(Q) mv chip/$(ESP_COMPONENTS_ESP_COEX_LIB_UNPACK)-$(ESP_COMPONENTS_ESP_COEX_LIB_VERSION)* chip/$(ESP_HAL_3RDPARTY_REPO)/components/esp_coex/lib
378+
$(Q) touch chip/$(ESP_HAL_3RDPARTY_REPO)/components/esp_phy/lib
379+
380+
237381
include common$(DELIM)espressif$(DELIM)Bootloader.mk
238382

239383
# Silent preprocessor warnings
@@ -250,15 +394,43 @@ ifeq ($(CONFIG_ESP_WIRELESS),y)
250394
include common$(DELIM)espressif$(DELIM)Wireless.mk
251395
endif
252396

253-
context:: chip/$(ESP_HAL_3RDPARTY_REPO)
397+
ifeq ($(wildcard chip/$(ESP_HAL_3RDPARTY_REPO)/.git),)
398+
ifeq ($(CONFIG_ESP_WIRELESS),y)
399+
context:: chip/$(ESP_HAL_3RDPARTY_REPO) chip/$(ESP_COMPONENTS_MBEDTLS_UNPACK) chip/$(ESP_HAL_3RDPARTY_REPO)/esp_phy chip/$(ESP_HAL_3RDPARTY_REPO)/esp_wifi chip/$(ESP_HAL_3RDPARTY_REPO)/bt_controller chip/$(ESP_HAL_3RDPARTY_REPO)/esp_coex
400+
else
401+
context:: chip/$(ESP_HAL_3RDPARTY_REPO) chip/$(ESP_COMPONENTS_MBEDTLS_UNPACK)
402+
endif
403+
else
404+
context::
405+
endif
254406
$(call COPYFILE,chip/$(ESP_HAL_3RDPARTY_REPO)/components/soc/$(CHIP_SERIES)/include/soc/gpio_sig_map.h,../include/chip/)
255407
$(call COPYFILE,chip/$(ESP_HAL_3RDPARTY_REPO)/nuttx/$(CHIP_SERIES)/include/irq.h,../include/chip/)
256408

257409
distclean::
258410
$(call DELFILE,../include/chip/gpio_sig_map.h)
259411
$(call DELFILE,../include/chip/irq.h)
260412
$(call DELFILE,../../../vefuse.bin)
413+
ifeq ($(wildcard chip/$(ESP_HAL_3RDPARTY_REPO)/.git),)
261414
$(call DELDIR,chip/$(ESP_HAL_3RDPARTY_REPO))
415+
else
416+
ifeq ($(wildcard chip/$(ESP_HAL_3RDPARTY_REPO)/components/mbedtls/mbedtls/.git),)
417+
$(call DELDIR,chip/$(ESP_HAL_3RDPARTY_REPO)/components/mbedtls/mbedtls)
418+
endif
419+
ifeq ($(CONFIG_ESP_WIRELESS),y)
420+
ifeq ($(wildcard chip/$(ESP_HAL_3RDPARTY_REPO)/components/esp_phy/lib/.git),)
421+
$(call DELDIR,chip/$(ESP_HAL_3RDPARTY_REPO)/components/esp_phy/lib)
422+
endif
423+
ifeq ($(wildcard chip/$(ESP_HAL_3RDPARTY_REPO)/components/esp_wifi/lib/.git),)
424+
$(call DELDIR,chip/$(ESP_HAL_3RDPARTY_REPO)/components/esp_wifi/lib)
425+
endif
426+
ifeq ($(wildcard chip/$(ESP_HAL_3RDPARTY_REPO)/components/bt/controller/lib_esp32c3_family/.git),)
427+
$(call DELDIR,chip/$(ESP_HAL_3RDPARTY_REPO)/components/bt/controller/lib_esp32c3_family)
428+
endif
429+
ifeq ($(wildcard chip/$(ESP_HAL_3RDPARTY_REPO)/components/esp_coex/lib/.git),)
430+
$(call DELDIR,chip/$(ESP_HAL_3RDPARTY_REPO)/components/esp_coex/lib)
431+
endif
432+
endif
433+
endif
262434
ifeq ($(CONFIG_ESPRESSIF_USE_LP_CORE),y)
263435
$(call DELDIR,chip/ulp)
264436
endif

tools/Config.mk

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -616,7 +616,14 @@ endef
616616

617617
define DOWNLOAD
618618
$(ECHO_BEGIN)"Downloading: $(if $3,$3,$2) "
619-
$(Q) curl -L $(if $(V),,-Ss) $(1)/$(2) -o $(if $(3),$(3),$(2))
619+
if [ -z $4 ]; then \
620+
$(Q) curl -L $(if $(V),,-Ss) $(1)/$(2) -o $(if $(3),$(3),$(2)); \
621+
else \
622+
if [ ! -f $4 ]; then \
623+
$(Q) curl -L $(if $(V),,-Ss) $(1)/$(2) -o $(4); \
624+
fi; \
625+
cp -fr $4 $3; \
626+
fi
620627
$(ECHO_END)
621628
endef
622629

0 commit comments

Comments
 (0)