8000 Automatic stack location selection (SYS or HEAP), enable per library AR-chive in arduino build system by d-a-v · Pull Request #5018 · esp8266/Arduino · GitHub
[go: up one dir, main page]

Skip to content

Automatic stack location selection (SYS or HEAP), enable per library AR-chive in arduino build system #5018

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 20 commits into from
Aug 20, 2018
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
(WIP) one more pass
- need to recheck weak,alias at the light of the new building process
- need to convert the example to host test
  • Loading branch information
d-a-v committed Aug 9, 2018
commit 6f7286ea0cf350b6506d8bb3a2325e03a0153b0c
2 changes: 0 additions & 2 deletions cores/esp8266/coredecls.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@ void esp_yield();
void esp_schedule();
void tune_timeshift64 (uint64_t now_us);
void settimeofday_cb (void (*cb)(void));

// calls to this function must *always* be inlined
void disable_extra4k_at_link_time (void) __attribute__((noinline));

#ifdef __cplusplus
Expand Down
1 change: 1 addition & 0 deletions libraries/ESP8266WiFi/sr 8000 c/ESP8266WiFiSTA-WPS.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
#include "ESP8266WiFi.h"
#include "ESP8266WiFiGeneric.h"
#include "ESP8266WiFiSTA.h"
#include "coredecls.h" // disable_extra4k_at_link_time()

/**
* WPS config
Expand Down
1 change: 0 additions & 1 deletion libraries/ESP8266WiFi/src/ESP8266WiFiSTA.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
#include "ESP8266WiFiType.h"
#include "ESP8266WiFiGeneric.h"
#include "user_interface.h"
#include "coredecls.h" // disable_extra4k_at_link_time()

extern bool beginWPSConfig(void);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why does this need to be a freestanding function?


Expand Down
1 change: 1 addition & 0 deletions libraries/ESP8266WiFi/src/WiFiClientSecureBearSSL.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ extern "C" {
#include "lwip/netif.h"
#include "include/ClientContext.h"
#include "c_types.h"
#include "coredecls.h"

namespace BearSSL {

Expand Down
10 changes: 7 additions & 3 deletions libraries/esp8266/examples/extra4kchecker/extra4kchecker.ino
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,16 @@ void setup() {

Serial.printf("FreeHeap: %d (~52112 without WPS, ~46832 with)\n", ESP.getFreeHeap());

#if USE_WPS
#if USE_WPS

Serial.printf("starting WPS...\n");
Serial.printf("wps: %d\n", WiFi.beginWPSConfig());
#else

#else

Serial.printf("done\n");
#endif

#endif
}

void loop() {
Expand Down
2 changes: 0 additions & 2 deletions platform.txt
Original file line number Diff line number Diff line change
Expand Up @@ -91,11 +91,9 @@ recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpreprocessor
recipe.S.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.cpreprocessor.flags} {compiler.S.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}"

## Create archives
#recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{build.path}/arduino.ar" "{object_file}"
recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{archive_file_path}" "{object_file}"

## Combine gc-sections, archives, and objects
#recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" -Wl,-Map "-Wl,{build.path}/{build.project_name}.map" {compiler.c.elf.flags} {compiler.c.elf.extra_flags} -o "{build.path}/{build.project_name}.elf" -Wl,--start-group {object_files} "{build.path}/arduino.ar" {compiler.c.elf.libs} -Wl,--end-group "-L{build.path}"
recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" -Wl,-Map "-Wl,{build.path}/{build.project_name}.map" {compiler.c.elf.flags} {compiler.c.elf.extra_flags} -o "{build.path}/{build.project_name}.elf" -Wl,--start-group {object_files} "{archive_file_path}" "-L{build.path}" {compiler.c.elf.libs} -Wl,--end-group "-L{build.path}"

## Create eeprom
Expand Down
0