ESP32 projekt baut nicht

Gast #6514833
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?
Gast
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?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 5 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.