cpu/esp8266: high-priority threads creation

High priority thread for the WiFi interface are only created at startup when the WiFi interface is used.
This commit is contained in:
Gunar Schorcht 2019-10-23 00:54:04 +02:00
parent 405be02da4
commit 62922769b3
3 changed files with 21 additions and 0 deletions

View File

@ -156,6 +156,9 @@ LINKFLAGS += -T$(RIOTCPU)/$(CPU)/ld/esp8266.rom.ld
LINKFLAGS += -T$(RIOTCPU)/$(CPU)/ld/esp8266.riot-os.ld
LINKFLAGS += -T$(RIOTCPU)/$(CPU)/ld/esp8266.peripherals.ld
LINKFLAGS += -Wl,-wrap=pp_attach
LINKFLAGS += -Wl,-wrap=pm_attach
ifneq (, $(filter esp_idf_heap, $(USEMODULE)))
LINKFLAGS += -Wl,-wrap=_malloc_r
LINKFLAGS += -Wl,-wrap=_calloc_r

View File

@ -124,3 +124,19 @@ void esp_riot_start(void)
/* does not return */
kernel_init();
}
void __wrap_pp_attach(void)
{
#ifdef MODULE_ESP_WIFI_ANY
extern void __real_pp_attach(void);
__real_pp_attach();
#endif
}
void __wrap_pm_attach(void)
{
#ifdef MODULE_ESP_WIFI_ANY
extern void __real_pm_attach(void);
__real_pm_attach();
#endif
}

View File

@ -77,9 +77,11 @@ static void user_init_entry(void *param)
esp_phy_load_cal_and_init(0);
#ifdef MODULE_ESP_WIFI_ANY
if (wifi_timer_init() != 0) {
assert(0);
}
#endif
esp_wifi_set_rx_pbuf_mem_type(WIFI_RX_PBUF_DRAM);