Sfoglia il codice sorgente

sdk_patch_1.1.0: Add fix for force-requiring user_rf_pre_init().

SDK 1.1.0 introduced backward incompatible change of requiring user to define
user_rf_pre_init(). Of course, this could have been easily avoided by providing
default empty implementation in the library, what this patch does.
Paul Sokolovsky 10 anni fa
parent
commit
4e4590de89
2 ha cambiato i file con 10 aggiunte e 1 eliminazioni
  1. 5 1
      Makefile
  2. 5 0
      empty_user_rf_pre_init.c

+ 5 - 1
Makefile

@@ -63,10 +63,14 @@ libcirom: $(TOOLCHAIN)/xtensa-lx106-elf/sysroot/lib/libcirom.a
 
 sdk_patch: .sdk_patch_$(VENDOR_SDK)
 
-.sdk_patch_1.1.0:
+.sdk_patch_1.1.0: empty_user_rf_pre_init.o
 	patch -N -f -d $(VENDOR_SDK_DIR_1.1.0) -p1 < c_types-c99.patch
+	$(TOOLCHAIN)/bin/xtensa-lx106-elf-ar r $(VENDOR_SDK_DIR_1.1.0)/lib/libmain.a empty_user_rf_pre_init.o
 	@touch $@
 
+empty_user_rf_pre_init.o: empty_user_rf_pre_init.c $(TOOLCHAIN)/bin/xtensa-lx106-elf-gcc
+	$(TOOLCHAIN)/bin/xtensa-lx106-elf-gcc -O2 -c $<
+
 .sdk_patch_1.0.1: libnet80211.zip esp_iot_sdk_v1.0.1/.dir
 	$(UNZIP) $<
 	mv libnet80211.a $(VENDOR_SDK_DIR_1.0.1)/lib/

+ 5 - 0
empty_user_rf_pre_init.c

@@ -0,0 +1,5 @@
+// Provide default empty implementation of user_rf_pre_init
+// to maintain compatibility with older SDK versions.
+void user_rf_pre_init(void)
+{
+}