8000 Merge branch 'master' into ipv6-test · esp8266/Arduino@0b7456b · GitHub
[go: up one dir, main page]

Skip to content

Commit 0b7456b

Browse files
authored
Merge branch 'master' into ipv6-test
2 parents 8f53b52 + 3877914 commit 0b7456b

34 files changed

+143
-43
lines changed

.travis.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ matrix:
1313
- BUILD_TYPE=build_even
1414
- env:
1515
- BUILD_TYPE=build_odd
16+
- env:
17+
- BUILD_TYPE=debug_even
18+
- env:
19+
- BUILD_TYPE=debug_odd
1620
- env:
1721
- BUILD_TYPE=platformio
1822
- env:

libraries/ESP8266AVRISP/src/ESP8266AVRISP.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,13 @@ extern "C" {
2323
#include "mem.h"
2424
}
2525

26+
#ifdef malloc
27+
#undef malloc
28+
#endif
2629
#define malloc os_malloc
30+
#ifdef free
31+
#undef free
32+
#endif
2733
#define free os_free
2834

2935
// #define AVRISP_DEBUG(fmt, ...) os_printf("[AVRP] " fmt "\r\n", ##__VA_ARGS__ )

libraries/ESP8266WiFi/examples/BearSSL_Validation/BearSSL_Validation.ino

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,32 @@ BearSSL does verify the notValidBefore/After fields.
193193
fetchURL(&client, host, port, path);
194194
}
195195

196+
void fetchFaster() {
197+
Serial.printf(R"EOF(
198+
The ciphers used to set up the SSL connection can be configured to
199+
only support faster but less secure ciphers. If you care about security
200+
you won't want to do this. If you need to maximize battery life, these
201+
may make sense
202+
)EOF");
203+
BearSSL::WiFiClientSecure client;
204+
client.setInsecure();
205+
uint32_t now = millis();
206+
fetchURL(&client, host, port, path);
207+
uint32_t delta = millis() - now;
208+
client.setInsecure();
209+
client.setCiphersLessSecure();
210+
now = millis();
211+
fetchURL(&client, host, port, path);
212+
uint32_t delta2 = millis() - now;
213+
std::vector<uint16_t> myCustomList = { BR_TLS_RSA_WITH_AES_256_CBC_SHA256, BR_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, BR_TLS_RSA_WITH_3DES_EDE_CBC_SHA };
214+
client.setInsecure();
215+
client.setCiphers(myCustomList);
216+
now = millis();
217+
fetchURL(&client, host, port, path);
218+
uint32_t delta3 = millis() - now;
219+
Serial.printf("Using more secure: %dms\nUsing less secure ciphers: %dms\nUsing custom cipher list: %dms\n", delta, delta2, delta3);
220+
}
221+
196222
void setup() {
197223
Serial.begin(115200);
198224
Serial.println();
@@ -220,6 +246,7 @@ void setup() {
220246
fetchSelfSigned();
221247
fetchKnownKey();
222248
fetchCertAuthority();
249+
fetchFaster();
223250
}
224251

225252

libraries/ESP8266WiFi/src/WiFiClientSecureBearSSL.cpp

Lines changed: 39 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,8 @@ void WiFiClientSecure::_clearAuthenticationSettings() {
8585

8686

8787
WiFiClientSecure::WiFiClientSecure() : WiFiClient() {
88+
_cipher_list = NULL;
89+
_cipher_cnt = 0;
8890
_clear();
8991
_clearAuthenticationSettings();
9092
_certStore = nullptr; // Don't want to remove cert store on a clear, should be long lived
@@ -101,6 +103,7 @@ WiFiClientSecure::~WiFiClientSecure() {
101103
_client->unref();
102104
_client = nullptr;
103105
}
106+
free(_cipher_list);
104107
_freeSSL();
105108
_local_bearssl_stack = nullptr; // Potentially delete it if we're the last SSL object
106109
if (_deleteChainKeyTA) {
@@ -685,6 +688,13 @@ extern "C" {
685688
BR_TLS_RSA_WITH_3DES_EDE_CBC_SHA
686689
};
687690

691+
// For apps which want to use less secure but faster ciphers, only
692+
static const uint16_t faster_suites_P[] PROGMEM = {
693+
BR_TLS_RSA_WITH_AES_256_CBC_SHA256,
694+
BR_TLS_RSA_WITH_AES_128_CBC_SHA256,
695+
BR_TLS_RSA_WITH_AES_256_CBC_SHA,
696+
BR_TLS_RSA_WITH_AES_128_CBC_SHA };
697+
688698
// Install hashes into the SSL engine
689699
static void br_ssl_client_install_hashes(br_ssl_engine_context *eng) {
690700
br_ssl_engine_set_hash(eng, br_md5_ID, &br_md5_vtable);
@@ -705,9 +715,9 @@ extern "C" {
705715
}
706716

707717
// Default initializion for our SSL clients
708-
static void br_ssl_client_base_init(br_ssl_client_context *cc) {
709-
uint16_t suites[sizeof(suites_P) / sizeof(uint16_t)];
710-
memcpy_P(suites, suites_P, sizeof(suites_P));
718+
static void br_ssl_client_base_init(br_ssl_client_context *cc, const uint16_t *cipher_list, int cipher_cnt) {
719+
uint16_t suites[cipher_cnt];
720+
memcpy_P(suites, cipher_list, cipher_cnt * sizeof(cipher_list[0]));
711721
br_ssl_client_zero(cc);
712722
br_ssl_engine_set_versions(&cc->eng, BR_TLS10, BR_TLS12);
713723
br_ssl_engine_set_suites(&cc->eng, suites, (sizeof suites) / (sizeof suites[0]));
@@ -726,6 +736,26 @@ extern "C" {
726736

727737
}
728738

739+
// Set custom list of ciphers
740+
bool WiFiClientSecure::setCiphers(const uint16_t *cipherAry, int cipherCount) {
741+
free(_cipher_list);
742+
_cipher_list = (uint16_t *)malloc(cipherCount * sizeof(uint16_t));
743+
if (!_cipher_list) {
744+
return false;
745+
}
746+
memcpy_P(_cipher_list, cipherAry, cipherCount * sizeof(uint16_t));
747+
_cipher_cnt = cipherCount;
748+
return true;
749+
}
750+
751+
bool WiFiClientSecure::setCiphersLessSecure() {
752+
return setCiphers(faster_suites_P, sizeof(faster_suites_P)/sizeof(faster_suites_P[0]));
753+
}
754+
755+
bool WiFiClientSecure::setCiphers(std::vector<uint16_t> list) {
756+
return setCiphers(&list[0], list.size());
757+
}
758+
729759
// Installs the appropriate X509 cert validation method for a client connection
730760
bool WiFiClientSecure::_installClientX509Validator() {
731761
if (_use_insecure || _use_fingerprint || _use_self_signed) {
@@ -787,7 +817,12 @@ bool WiFiClientSecure::_connectSSL(const char* hostName) {
787817
return false;
788818
}
789819

790-
br_ssl_client_base_init(_sc.get());
820+
// If no cipher list yet set, use defaults
821+
if (_cipher_list == NULL) {
822+
br_ssl_client_base_init(_sc.get(), suites_P, sizeof(suites_P) / sizeof(uint16_t));
823+
} else {
824+
br_ssl_client_base_init(_sc.get(), _cipher_list, _cipher_cnt);
825+
}
791826
// Only failure possible in the installation is OOM
792827
if (!_installClientX509Validator()) {
793828
_freeSSL();

libraries/ESP8266WiFi/src/WiFiClientSecureBearSSL.h

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323

2424
#ifndef wificlientbearssl_h
2525
#define wificlientbearssl_h
26+
#include <vector>
2627
#include "WiFiClient.h"
2728
#include <bearssl/bearssl.h>
2829
#include "BearSSLHelpers.h"
@@ -104,12 +105,18 @@ class WiFiClientSecure : public WiFiClient {
104105
_certStore = certStore;
105106
}
106107

108+
// Select specific ciphers (i.e. optimize for speed over security)
109+
// These may be in PROGMEM or RAM, either will run properly
110+
bool setCiphers(const uint16_t *cipherAry, int cipherCount);
111+
bool setCiphers(std::vector<uint16_t> list);
112+
bool setCiphersLessSecure(); // Only use the limited set of RSA ciphers without EC
113+
107114
// Check for Maximum Fragment Length support for given len
108115
static bool probeMaxFragmentLength(IPAddress ip, uint16_t port, uint16_t len);
109116
static bool probeMaxFragmentLength(const char *hostname, uint16_t port, uint16_t len);
110117
static bool probeMaxFragmentLength(const String host, uint16_t port, uint16_t len);
111118

112-
// AXTLS compatbile wrappers
119+
// AXTLS compatible wrappers
113120
bool verify(const char* fingerprint, const char* domain_name) { (void) fingerprint; (void) domain_name; return false; } // Can't handle this case, need app code changes
114121
bool verifyCertChain(const char* domain_name) { (void)domain_name; return connected(); } // If we're connected, the cert passed validation during handshake
115122

@@ -170,6 +177,10 @@ class WiFiClientSecure : public WiFiClient {
170177
const BearSSLPublicKey *_knownkey;
171178
unsigned _knownkey_usages;
172179

180+
// Custom cipher list pointer or NULL if default
181+
uint16_t *_cipher_list;
182+
uint8_t _cipher_cnt;
183+
173184
unsigned char *_recvapp_buf;
174185
size_t _recvapp_len;
175186

platform.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ recipe.hooks.core.prebuild.1.pattern.windows=cmd.exe /c mkdir {build.path}\core
7979
recipe.hooks.core.prebuild.2.pattern.windows=
8080

8181
## Build the app.ld linker file
82-
recipe.hooks.linking.prelink.1.pattern="{compiler.path}{compiler.c.cmd}" -CC -E -P {build.vtable_flags} "{runtime.platform.path}/tools/sdk/ld/eagle.app.v6.common.ld.h" -o "{build.path}/eagle.app.v6.common.ld"
82+
recipe.hooks.linking.prelink.1.pattern="{compiler.path}{compiler.c.cmd}" -CC -E -P {build.vtable_flags} "{runtime.platform.path}/tools/sdk/ld/eagle.app.v6.common.ld.h" -o "{build.path}/local.eagle.app.v6.common.ld"
8383

8484
## Compile c files
8585
recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.cpreprocessor.flags} {compiler.c.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {build.led} {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"

tests/common.sh

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -103,16 +103,24 @@ function install_ide()
103103
{
104104
local ide_path=$1
105105
local core_path=$2
106+
local debug=$3
106107
wget -O arduino.tar.xz https://www.arduino.cc/download.php?f=/arduino-nightly-linux64.tar.xz
107108
tar xf arduino.tar.xz
108109
mv arduino-nightly $ide_path
109110
cd $ide_path/hardware
110111
mkdir esp8266com
111112
cd esp8266com
112113
ln -s $core_path esp8266
114+
local debug_flags=""
115+
if [ "$debug" = "debug" ]; then
116+
debug_flags="-DDEBUG_ESP_PORT=Serial -DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM"
117+
fi
113118
# Set custom warnings for all builds (i.e. could add -Wextra at some point)
114-
echo "compiler.c.extra_flags=-Wall -Werror" > esp8266/platform.local.txt
115-
echo "compiler.cpp.extra_flags=-Wall -Werror" >> esp8266/platform.local.txt
119+
echo "compiler.c.extra_flags=-Wall -Wextra -Werror $debug_flags" > esp8266/platform.local.txt
120+
echo "compiler.cpp.extra_flags=-Wall -Wextra -Werror $debug_flags" >> esp8266/platform.local.txt
121+
echo -e "\n----platform.local.txt----"
122+
cat esp8266/platform.local.txt
123+
echo -e "\n----\n"
116124
cd esp8266/tools
117125
python get.py
118126
export PATH="$ide_path:$core_path/tools/xtensa-lx106-elf/bin:$PATH"
@@ -197,10 +205,11 @@ function build_sketches_with_platformio()
197205

198206
function install_arduino()
199207
{
208+
local debug=$1
200209
# Install Arduino IDE and required libraries
201210
echo -e "travis_fold:start:sketch_test_env_prepare"
202211
cd $TRAVIS_BUILD_DIR
203-
install_ide $HOME/arduino_ide $TRAVIS_BUILD_DIR
212+
install_ide $HOME/arduino_ide $TRAVIS_BUILD_DIR $debug
204213
which arduino
205214
cd $TRAVIS_BUILD_DIR
206215
install_libraries
@@ -248,13 +257,19 @@ if [ -z "$TRAVIS_BUILD_DIR" ]; then
248257
fi
249258

250259
if [ "$BUILD_TYPE" = "build" ]; then
251-
install_arduino
260+
install_arduino nodebug
252261
build_sketches_with_arduino 1 0
253262
elif [ "$BUILD_TYPE" = "build_even" ]; then
254-
install_arduino
263+
install_arduino nodebug
255264
build_sketches_with_arduino 2 0
256265
elif [ "$BUILD_TYPE" = "build_odd" ]; then
257-
install_arduino
266+
install_arduino nodebug
267+
build_sketches_with_arduino 2 1
268+
elif [ "$BUILD_TYPE" = "debug_even" ]; then
269+
install_arduino debug
270+
build_sketches_with_arduino 2 0
271+
elif [ "$BUILD_TYPE" = "debug_odd" ]; then
272+
install_arduino debug
258273
build_sketches_with_arduino 2 1
259274
elif [ &qu 10000 ot;$BUILD_TYPE" = "platformio" ]; then
260275
# PlatformIO

tools/boards.txt.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1180,7 +1180,7 @@ def flash_map (flashsize_kb, spiffs_kb = 0):
11801180
print("PROVIDE ( _SPIFFS_page = 0x%X );" % page)
11811181
print("PROVIDE ( _SPIFFS_block = 0x%X );" % block)
11821182
print("")
1183-
print('INCLUDE "eagle.app.v6.common.ld"')
1183+
print('INCLUDE "local.eagle.app.v6.common.ld"')
11841184

11851185
if ldgen:
11861186
sys.stdout.close()

tools/platformio-build.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ def scons_patched_match_splitext(path, suffixes=None):
168168

169169
# Build the eagle.app.v6.common.ld linker file
170170
app_ld = env.Command(
171-
join("$BUILD_DIR", "ld", "eagle.app.v6.common.ld"),
171+
join("$BUILD_DIR", "ld", "local.eagle.app.v6.common.ld"),
172172
join(FRAMEWORK_DIR, "tools", "sdk", "ld", "eagle.app.v6.common.ld.h"),
173173
env.VerboseAction(
174174
"$CC -CC -E -P -D%s $SOURCE -o $TARGET" % current_vtables,

tools/sdk/include/c_types.h

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,11 @@ typedef enum {
8484
#define SHMEM_ATTR
8585

8686
#ifdef ICACHE_FLASH
87-
#define ICACHE_FLASH_ATTR __attribute__((section(".irom0.text")))
88-
#define ICACHE_RAM_ATTR __attribute__((section(".iram.text")))
89-
#define ICACHE_RODATA_ATTR __attribute__((section(".irom.text")))
87+
#define __ICACHE_STRINGIZE_NX(A) #A
88+
#define __ICACHE_STRINGIZE(A) __ICACHE_STRINGIZE_NX(A)
89+
#define ICACHE_FLASH_ATTR __attribute__((section("\".irom0.text." __FILE__ "." __ICACHE_STRINGIZE(__LINE__) "." __ICACHE_STRINGIZE(__COUNTER__) "\"")))
90+
#define ICACHE_RAM_ATTR __attribute__((section("\".iram.text." __FILE__ "." __ICACHE_STRINGIZE(__LINE__) "." __ICACHE_STRINGIZE(__COUNTER__) "\"")))
91+
#define ICACHE_RODATA_ATTR __attribute__((section("\".irom.text." __FILE__ "." __ICACHE_STRINGIZE(__LINE__) "." __ICACHE_STRINGIZE(__COUNTER__) "\"")))
9092
#else
9193
#define ICACHE_FLASH_ATTR
9294
#define ICACHE_RAM_ATTR

tools/sdk/ld/eagle.app.v6.common.ld.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ SECTIONS
129129
*libwpa.a:(.literal.* .text.*)
130130
*libwpa2.a:(.literal.* .text.*)
131131
*libwps.a:(.literal.* .text.*)
132-
*(.irom0.literal .irom.literal .irom.text.literal .irom0.text .irom.text .irom.text.*)
132+
*(.irom0.literal .irom.literal .irom.text.literal .irom0.text .irom0.text.* .irom.text .irom.text.*)
133133
_irom0_text_end = ABSOLUTE(.);
134134
_flash_code_end = ABSOLUTE(.);
135135
} >irom0_0_seg :irom0_0_phdr
@@ -166,8 +166,8 @@ SECTIONS
166166
*(.init.literal)
167167
*(.init)
168168
*(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
169-
*.cpp.o(.iram.text)
170-
*.c.o(.iram.text)
169+
*.cpp.o(.iram.text .iram.text.*)
170+
*.c.o(.iram.text .iram.text.*)
171171
#ifdef VTABLES_IN_IRAM
172172
*(.rodata._ZTV*) /* C++ vtables */
173173
#endif

tools/sdk/ld/eagle.flash.16m14m.ld

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@ PROVIDE ( _SPIFFS_end = 0x411FB000 );
1919
PROVIDE ( _SPIFFS_page = 0x100 );
2020
PROVIDE ( _SPIFFS_block = 0x2000 );
2121

22-
INCLUDE "eagle.app.v6.common.ld"
22+
INCLUDE "local.eagle.app.v6.common.ld"

tools/sdk/ld/eagle.flash.16m15m.ld

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@ PROVIDE ( _SPIFFS_end = 0x411FB000 );
1919
PROVIDE ( _SPIFFS_page = 0x100 );
2020
PROVIDE ( _SPIFFS_block = 0x2000 );
2121

22-
INCLUDE "eagle.app.v6.common.ld"
22+
INCLUDE "local.eagle.app.v6.common.ld"

tools/sdk/ld/eagle.flash.1m.ld

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@ PROVIDE ( _SPIFFS_end = 0x402FB000 );
1919
PROVIDE ( _SPIFFS_page = 0x0 );
2020
PROVIDE ( _SPIFFS_block = 0x0 );
2121

22-
INCLUDE "eagle.app.v6.common.ld"
22+
INCLUDE "local.eagle.app.v6.common.ld"

tools/sdk/ld/eagle.flash.1m128.ld

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@ PROVIDE ( _SPIFFS_end = 0x402FB000 );
1919
PROVIDE ( _SPIFFS_page = 0x100 );
2020
PROVIDE ( _SPIFFS_block = 0x1000 );
2121

22-
INCLUDE "eagle.app.v6.common.ld"
22+
INCLUDE "local.eagle.app.v6.common.ld"

tools/sdk/ld/eagle.flash.1m144.ld

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@ PROVIDE ( _SPIFFS_end = 0x402FB000 );
1919
PROVIDE ( _SPIFFS_page = 0x100 );
2020
PROVIDE ( _SPIFFS_block = 0x1000 );
2121

22-
INCLUDE "eagle.app.v6.common.ld"
22+
INCLUDE "local.eagle.app.v6.common.ld"

tools/sdk/ld/eagle.flash.1m160.ld

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@ PROVIDE ( _SPIFFS_end = 0x402FB000 );
1919
PROVIDE ( _SPIFFS_page = 0x100 );
2020
PROVIDE ( _SPIFFS_block = 0x1000 );
2121

22-
INCLUDE "eagle.app.v6.common.ld"
22+
INCLUDE "local.eagle.app.v6.common.ld"

tools/sdk/ld/eagle.flash.1m192.ld

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@ PROVIDE ( _SPIFFS_end = 0x402FB000 );
1919
PROVIDE ( _SPIFFS_page = 0x100 );
2020
PROVIDE ( _SPIFFS_block = 0x1000 );
2121

22-
INCLUDE "eagle.app.v6.common.ld"
22+
INCLUDE "local.eagle.app.v6.common.ld"

tools/sdk/ld/eagle.flash.1m256.ld

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@ PROVIDE ( _SPIFFS_end = 0x402FB000 );
1919
PROVIDE ( _SPIFFS_page = 0x100 );
2020
PROVIDE ( _SPIFFS_block = 0x1000 );
2121

22-
INCLUDE "eagle.app.v6.common.ld"
22+
INCLUDE "local.eagle.app.v6.common.ld"

tools/sdk/ld/eagle.flash.1m512.ld

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@ PROVIDE ( _SPIFFS_end = 0x402FB000 );
1919
PROVIDE ( _SPIFFS_page = 0x100 );
2020
PROVIDE ( _SPIFFS_block = 0x2000 );
2121

22-
INCLUDE "eagle.app.v6.common.ld"
22+
INCLUDE "local.eagle.app.v6.common.ld"

tools/sdk/ld/eagle.flash.1m64.ld

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@ PROVIDE ( _SPIFFS_end = 0x402FB000 );
1919
PROVIDE ( _SPIFFS_page = 0x100 );
2020
PROVIDE ( _SPIFFS_block = 0x1000 );
2121

22-
INCLUDE "eagle.app.v6.common.ld"
22+
INCLUDE "local.eagle.app.v6.common.ld"

tools/sdk/ld/eagle.flash.2m.ld

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@ PROVIDE ( _SPIFFS_end = 0x403FB000 );
1919
PROVIDE ( _SPIFFS_page = 0x0 );
2020
PROVIDE ( _SPIFFS_block = 0x0 );
2121

22-
INCLUDE "eagle.app.v6.common.ld"
22+
INCLUDE "local.eagle.app.v6.common.ld"

tools/sdk/ld/eagle.flash.2m1m.ld

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@ PROVIDE ( _SPIFFS_end = 0x403FB000 );
1919
PROVIDE ( _SPIFFS_page = 0x100 );
2020
PROVIDE ( _SPIFFS_block = 0x2000 );
2121

22-
INCLUDE "eagle.app.v6.common.ld"
22+
INCLUDE "local.eagle.app.v6.common.ld"

tools/sdk/ld/eagle.flash.2m512.ld

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@ PROVIDE ( _SPIFFS_end = 0x403FB000 );
1919
PROVIDE ( _SPIFFS_page = 0x100 );
2020
PROVIDE ( _SPIFFS_block = 0x2000 );
2121

22-
INCLUDE "eagle.app.v6.common.ld"
22+
INCLUDE "local.eagle.app.v6.common.ld"

tools/sdk/ld/eagle.flash.4m.ld

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@ PROVIDE ( _SPIFFS_end = 0x405FB000 );
1919
PROVIDE ( _SPIFFS_page = 0x0 );
2020
PROVIDE ( _SPIFFS_block = 0x0 );
2121

22-
INCLUDE "eagle.app.v6.common.ld"
22+
INCLUDE "local.eagle.app.v6.common.ld"

0 commit comments

Comments
 (0)
0