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
Ich halte das Thema mal warm, weil ich immer noch keine Lösung gefunden haben (und immer noch verzweifle ... :D) Vielleicht hat ja jemand schon einen ESP32 mit dieser IDF zum Laufen bekommen und kann mir hier weiterhelfen... Danke ;)
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.

