components/lwip,esp32: fixes for C++
- put contents of a few headers into c++ guard blocks - fix off-by-one error in do_global_ctors - remove system_init from startup code (should be called from main)
This commit is contained in:
parent
10c69514b7
commit
b190dc3e9f
4 changed files with 28 additions and 7 deletions
|
@ -134,7 +134,7 @@ void IRAM_ATTR user_start_cpu1(void)
|
|||
static void do_global_ctors(void)
|
||||
{
|
||||
void (**p)(void);
|
||||
for (p = &__init_array_end; p >= &__init_array_start; --p) {
|
||||
for (p = &__init_array_end - 1; p >= &__init_array_start; --p) {
|
||||
(*p)();
|
||||
}
|
||||
}
|
||||
|
@ -153,9 +153,6 @@ void user_start_cpu0(void)
|
|||
do_global_ctors();
|
||||
esp_ipc_init();
|
||||
spi_flash_init();
|
||||
#ifdef CONFIG_WIFI_ENABLED
|
||||
system_init();
|
||||
#endif
|
||||
xTaskCreatePinnedToCore(&mainTask, "mainTask",
|
||||
ESP_TASK_MAIN_STACK, NULL,
|
||||
ESP_TASK_MAIN_PRIO, NULL, 0);
|
||||
|
|
|
@ -38,6 +38,11 @@
|
|||
#include "freertos/queue.h"
|
||||
#include "freertos/semphr.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
typedef xSemaphoreHandle sys_sem_t;
|
||||
typedef xSemaphoreHandle sys_mutex_t;
|
||||
typedef xTaskHandle sys_thread_t;
|
||||
|
@ -68,5 +73,10 @@ void sys_delay_ms(uint32_t ms);
|
|||
sys_sem_t* sys_thread_sem_init(void);
|
||||
void sys_thread_sem_deinit(void);
|
||||
sys_sem_t* sys_thread_sem_get(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __SYS_ARCH_H__ */
|
||||
|
||||
|
|
|
@ -10,6 +10,10 @@
|
|||
|
||||
#include "lwip/err.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
err_t wlanif_init(struct netif *netif);
|
||||
|
||||
void wlanif_input(struct netif *netif, void *buffer, u16_t len, void* eb);
|
||||
|
@ -20,4 +24,8 @@ wifi_interface_t wifi_get_interface(void *dev);
|
|||
|
||||
void netif_reg_addr_change_cb(void* cb);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _WLAN_LWIP_IF_H_ */
|
||||
|
|
|
@ -16,9 +16,7 @@
|
|||
#define _TCPIP_ADAPTER_H_
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include "rom/queue.h"
|
||||
|
||||
#include "esp_wifi.h"
|
||||
|
||||
#define CONFIG_TCPIP_LWIP 1
|
||||
|
@ -28,6 +26,10 @@
|
|||
#include "lwip/ip_addr.h"
|
||||
#include "apps/dhcpserver.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define IP2STR(ipaddr) ip4_addr1_16(ipaddr), \
|
||||
ip4_addr2_16(ipaddr), \
|
||||
ip4_addr3_16(ipaddr), \
|
||||
|
@ -129,5 +131,9 @@ wifi_interface_t tcpip_adapter_get_wifi_if(void *dev);
|
|||
esp_err_t tcpip_adapter_get_sta_list(struct station_info *sta_info, struct station_list **sta_list);
|
||||
esp_err_t tcpip_adapter_free_sta_list(struct station_list *sta_list);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _TCPIP_ADAPTER_H_ */
|
||||
|
||||
|
|
Loading…
Reference in a new issue