Amazon FreeRTOS

OP #5974530
Lesenswert?

Hallo Liebe uC-Gemeinde ;)

Nach langem Versuchen wende ich mich jetzt an Euch..

Mein Vorhaben: Ein lauffähiges Demoprojekt von Amazon FreeRTOS in 
Eclipse & Flashen eines ESP32-devkitc.

Platform: Windows 7
Toolchain: xtensa-esp32-elf (Compiler in der Version 8.2.0) --> Download 
aus dem "Get Started" von espressif 
(https://docs.espressif.com/projects/esp-idf/en/latest/get-started/windows-setup.html)

Bisherhige Vorgehensweise:
1. Download des amazon freertos master 
(https://github.com/aws/amazon-freertos/tree/v1.4.8)
2. cmake mit configure
(Eclipse CDT4 - MinGW Makefiles & toolchain file for cross-compiling: 
C:/Users/ALEXALEX/Desktop/amazon-freertos-master/amazon-freertos-master/ 
tools/cmake/toolchains/xtensa-esp32.cmake  & AFR_BOARD: 
espressif.esp32_devkitc)
anschließend generate.
Das läuft auch soweit..

3. Öffnen der CMD, Erstellen eines "build"-Ordner Navigieren zum Ordner 
amazon-freertos-master und anschließend Eingabe: cmake --build build
... und nun kommt folgender Fehler, siehe Anhang.

Wenn ich nun den error mit strncpy löse, dann bekomme ich nach weiteren 
5% den nächsten Fehler, dann den nächsten usw.. deshalb glaube ich 
nicht, dass ich so zu 100% richtig bin.

Nun zur Frage:

1. Bin ich überhaupt von der Vorgehensweise richtig, zuerst mit cmake 
alles zu builden und anschließend weiter zu machen...
2. Wenn ja, wie kann ich diese Fehler umgehen? (hab es auch schon mit 
anderen Toolchains versucht, bisher hat es aber nie richtig funktioniert 
...)
3. Bitte helfen, ich verzweifle ;)

Vielleicht noch wichtig, das Hello World von Espressif läuft soweit, 
jedoch wird dort auch eine andere IDF verwendet. Mit dem Umstieg auf 
amazon freertos sind dann die Fehler gekommen.

Vielen Dank :)

Grüße Alex
Angehängte Dateien:
Gast #5977267
Lesenswert?

Also ich habe ein FreeRtos-Hello auf meinem Arm Compiliert, was 
wesentlich kürzer war. Ohne strncpy etc. Es bestand hauptsächlich aus:
1
int main(void)
2
{
3
    /* Init board hardware. */
4
    /* attach 12 MHz clock to FLEXCOMM0 (debug console) */
5
    CLOCK_AttachClk(BOARD_DEBUG_UART_CLK_ATTACH);
6

7
    BOARD_InitPins();
8
    BOARD_BootClockFROHF48M();
9
    BOARD_InitDebugConsole();
10
    if (xTaskCreate(hello_task, "Hello_task", configMINIMAL_STACK_SIZE + 10, NULL, hello_task_PRIORITY, NULL) != pdPASS)
11
    {
12
        PRINTF("Task creation failed!.\r\n");
13
        while (1)
14
            ;
15
    }
16
    vTaskStartScheduler();
17
    for (;;)
18
        ;
19
}
20

21
/*!
22
 * @brief Task responsible for printing of "Hello world." message.
23
 */
24
static void hello_task(void *pvParameters)
25
{
26
    for (;;)
27
    {
28
        PRINTF("Hello world.\r\n");
29
        vTaskSuspend(NULL);
30
    }
31
}

Die Board-Funktionen sind CPU-spezifisch.
Evtl solltest du ein einfacheres FreeRtos Beispiel nehmen.

Achja
strncpy() ist je kein Hexenwerk. Mit etwas C Erfahrung sollte man auch 
die Compile-Fehler umgehen können. Wenn man auf dieser Ebene unterwegs 
ist, sollten einen solche Fehler nicht aus der Bahn bringen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren