Forum: Mikrocontroller und Digitale Elektronik ESP32 projekt baut nicht


von Johannes (Gast)


Lesenswert?

Hallo,
ich versuche mich gerade an einem esp32.
Die Toolchain und alles habe ich installiert und die examples werden 
auch gebaut.
Jetzt wollte ich mal selber testen indem ich durch die Informationen von 
der Dokumentation mich mit meinem WiFi verbinden kann. 
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/wifi.html#esp32-wi-fi-station-general-scenario
Dazu versuche ich zunächst die Initialisierung, aber hier scheitert es 
schon am bauen.
1
#include <stdio.h>
2
#include <stdbool.h>
3
#include "freertos/FreeRTOS.h"
4
#include "freertos/task.h"
5
#include "freertos/event_groups.h"
6
#include "esp_wifi.h"
7
#include "esp_event.h"
8
#include "esp_err.h"
9
#include "esp_system.h"
10
11
#define SSID "SSID"
12
#define PASSPHARSE "PASSPHARSE"
13
14
typedef enum
15
{
16
    PHASE_ST_MODE_INIT,
17
    PHASE_ST_MODE_CONFIGURE,
18
    PHASE_ST_MODE_START,
19
    PHASE_ST_MODE_CONNECT,
20
    PHASE_ST_MODE_GOT_IP,
21
    PHASE_ST_MODE_DISCONNECT,
22
    PHASE_ST_MODE_IP_CHANGE,
23
    PHASE_ST_MODE_DEINIT,
24
    PHASE_ST_MODE_UNDEFINED
25
}phaseStMode_te;
26
27
static phaseStMode_te phaseStMode_e = PHASE_ST_MODE_INIT;
28
29
static EventGroupHandle_t wifi_event_group;
30
31
32
void appTask(void *pvParam){
33
    printf("application task started \n");
34
    while(1)
35
    {
36
37
    }
38
}
39
40
void app_main()
41
{
42
    wifi_event_group = xEventGroupCreate();
43
    static esp_err_t errorInit = ESP_OK;
44
    errorInit = esp_netif_init();
45
    printf("esp_netif_init return %d", errorInit);
46
    errorInit = ESP_OK;
47
    
48
    errorInit = esp_event_loop_create_default();           
49
    printf("esp_event_loop_create return %d", errorInit);
50
    errorInit = ESP_OK;
51
52
    esp_netif_create_default_wifi_sta();
53
    printf("esp_netif_create_default_wifi_sta return %d", errorInit);
54
    errorInit = ESP_OK;
55
56
    wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
57
    esp_wifi_init(&cfg);
58
    printf("esp_wifi_init return %d", errorInit);
59
    errorInit = ESP_OK;
60
61
    xTaskCreate(&appTask,"appTas",2048,NULL,5,NULL);
62
    while(1)
63
    {
64
    }
65
}

Die Ausgabe vom bauen ist allerdings
1
Executing action: all (aliases: build)
2
Running ninja in directory h:\projects\esp\wifi\build
3
Executing "ninja all"...
4
[1/8] Performing build step for 'bootloader'
5
ninja: no work to do.
6
[2/6] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/app_main.c.obj
7
[5/6] Linking CXX executable wifi.elf
8
FAILED: wifi.elf
9
cmd.exe /C "cd . && C:\Espressif\.espressif\tools\xtensa-esp32-elf\esp-2020r3-8.4.0\xtensa-esp32-elf\bin\xtensa-esp32-elf-g++.exe  -mlongcalls -Wno-frame-address   @CMakeFiles\wifi.elf.rsp  -o wifi.elf  && cd ."
10
c:/espressif/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/esp_wifi/libesp_wifi.a(wifi_default.c.obj):(.literal.wifi_start+0x18): undefined reference to `esp_wifi_internal_reg_netstack_buf_cb'
11
c:/espressif/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/esp_wifi/libesp_wifi.a(wifi_default.c.obj): in function `wifi_start':
12
C:/Espressif/esp-idf/components/esp_wifi/src/wifi_default.c:56: undefined reference to `esp_wifi_internal_reg_netstack_buf_cb'
13
c:/espressif/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/wpa_supplicant/libwpa_supplicant.a(wpa.c.obj):(.literal.wpa_sm_rx_eapol+0x8): undefined reference to `esp_wifi_internal_issue_disconnect'
14
c:/espressif/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/wpa_supplicant/libwpa_supplicant.a(wpa.c.obj):(.literal.wpa_set_bss+0x8): undefined reference to `esp_wifi_skip_supp_pmkcaching'
15
c:/espressif/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/wpa_supplicant/libwpa_supplicant.a(wpa.c.obj): in function `wpa_sm_rx_eapol':
16
C:/Espressif/esp-idf/components/wpa_supplicant/src/rsn_supp/wpa.c:1942: undefined reference to `esp_wifi_internal_issue_disconnect'
17
c:/espressif/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/wpa_supplicant/libwpa_supplicant.a(wpa.c.obj): in function `wpa_set_bss':
18
C:/Espressif/esp-idf/components/wpa_supplicant/src/rsn_supp/wpa.c:2128: undefined reference to `esp_wifi_skip_supp_pmkcaching'
19
collect2.exe: error: ld returned 1 exit status
20
ninja: build stopped: subcommand failed.
21
ninja failed with exit code 1

Die einzigen errors die ich hier sehe sind
undefined reference to `esp_wifi_internal_reg_netstack_buf_cb'
undefined reference to `esp_wifi_skip_supp_pmkcaching'
was sind das für Funktionen? Diese sind nicht von mir. Muss ich damit 
was machen?

von dunky (Gast)


Lesenswert?

Ich sehe da noch

[5/6] Linking CXX executable wifi.elf
FAILED: wifi.elf

da scheint was zu fehlen. Musst du das ggf über dasesp config tool 
aktivieren?

von Joachim B. (jar)


Lesenswert?

Johannes schrieb:
> C:/

sieht nach windows aus, da kann man auch gleich die Arduino IDE nehmen 
und dann funktioniert es!

aber:

dunky schrieb:
> da scheint was zu fehlen

da mal suchen

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.