Forum: Compiler & IDEs C-Projekt bauen für Pi Pico/RP2040 mit VS Code unter Windows


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Johannes F. (jofe)


Angehängte Dateien:

Lesenswert?

Hallo,

ich versuche gerade, nach der offiziellen Anleitung
https://github.com/raspberrypi/pico-setup-windows/blob/master/docs/tutorial.md#creating-a-new-project
ein erstes eigenes kleines Projekt für den Raspberry Pi Pico (siehe 
Anhang), bestehend aus einer einzigen C-Quelldatei, in Visual Studio 
Code unter Windows 10 zu bauen.

Die Datei „pico_sdk_import.cmake“ sowie den Ordner „.vscode“ habe ich 
wie dort beschrieben in den Projektordner hinein kopiert, sowie die 
Datei CMakeLists.txt angepasst.

Nachdem ich auf „Compile Active File“ klicke, wird auch scheinbar ohne 
Fehlermeldungen ein Compilerlauf durchgeführt und es entsteht ein Ordner 
„build“ mit allerlei gar lustigen Dateien – jedoch von den üblichen 
Output Files wie der gewünschten *.UF2 keine Spur.

Kann mir jemand einen Tipp geben, was ich noch tun muss, damit selbige 
erzeugt wird? Von Makefiles und dergleichen habe ich leider bis jetzt 
noch keinen Plan.

Viele Grüße

Johannes

von Gerald K. (geku)


Lesenswert?

Ist sichergestellt, dass der pico arm crosscompiler verwendet wird?

von Johannes F. (jofe)


Lesenswert?

Gerald K. schrieb:
> Ist sichergestellt, dass der pico arm crosscompiler verwendet
> wird?

Ich denke schon: das „active kit“ ist „Pico ARM GCC, Pico SDK Toolchain 
with GCC arm-none-eabi“.

von Harald K. (kirnbichler)


Lesenswert?

Johannes F. schrieb:
> und es entsteht ein Ordner
> „build“ mit allerlei gar lustigen Dateien

Also *.haha, *.joke und *.funny?

von Johannes F. (jofe)


Angehängte Dateien:

Lesenswert?

Harald K. schrieb:
> Johannes F. schrieb:
>> und es entsteht ein Ordner
>> „build“ mit allerlei gar lustigen Dateien
>
> Also *.haha, *.joke und *.funny?

Fast.^^ Ich hatte den Projektordner ja hochgeladen, siehe ZIP-Anhang im 
Eröffnungsbeitrag. Hier nochmal der Inhalt des Build-Ordners, die Ordner 
darin enthalten allerlei weitere Dateien und Ordner, die mir allesamt 
nicht viel sagen. Nix was nach den üblichen Binary-Dateien aussieht.

von J. S. (jojos)


Lesenswert?

da wurden erstmal nur die makefiles generiert, aber noch nicht das 
binary. Es fehlt noch ein CMake Aufruf mit Angabe des build dir, oder in 
das build dir wechseln und 'cmake ..' aufrufen.
Bzw. die Cmake Extension in VSCode verwenden, damit geht das 
komfortabel.

: Bearbeitet durch User
von Johannes F. (jofe)


Lesenswert?

J. S. schrieb:
> Es fehlt noch ein CMake Aufruf mit Angabe des build dir, oder in
> das build dir wechseln und 'cmake ..' aufrufen.

OK, ich habe jetzt „cmake -S C:\Users\User\Documents\Pi-Pico\isp_test -B 
C:\Users\User\Documents\Pi-Pico\isp_test\build“ im VS-Code-Terminal 
eingegeben und die folgende „Antwort“ bekommen:
1
C:\Users\User\Documents\Pi-Pico\isp_test\build>cmake -S C:\Users\User\Documents\Pi-Pico\isp_test -B C:\Users\User\Documents\Pi-Pico\isp_test\build
2
PICO_SDK_PATH is C:/Program Files/Raspberry Pi/Pico SDK v1.5.1/pico-sdk
3
PICO platform is rp2040.
4
Build type is Debug
5
Using regular optimized debug build (set PICO_DEOPTIMIZED_DEBUG=1 to de-optimize)
6
PICO target board is pico.
7
Using board configuration from C:/Program Files/Raspberry Pi/Pico SDK v1.5.1/pico-sdk/src/boards/include/boards/pico.h
8
TinyUSB available at C:/Program Files/Raspberry Pi/Pico SDK v1.5.1/pico-sdk/lib/tinyusb/src/portable/raspberrypi/rp2040; enabling build support for USB.
9
Compiling TinyUSB with CFG_TUSB_DEBUG=1
10
BTstack available at C:/Program Files/Raspberry Pi/Pico SDK v1.5.1/pico-sdk/lib/btstack
11
cyw43-driver available at C:/Program Files/Raspberry Pi/Pico SDK v1.5.1/pico-sdk/lib/cyw43-driver
12
Pico W Bluetooth build support available.
13
lwIP available at C:/Program Files/Raspberry Pi/Pico SDK v1.5.1/pico-sdk/lib/lwip
14
mbedtls available at C:/Program Files/Raspberry Pi/Pico SDK v1.5.1/pico-sdk/lib/mbedtls
15
Using PICO_EXAMPLES_PATH from environment ('C:\Users\User\Documents\Pico-v1.5.1\pico-examples')
16
-- Configuring done
17
-- Generating done
18
-- Build files have been written to: C:/Users/User/Documents/Pi-Pico/isp_test/build

Im zuletzt genannten Verzeichnis befindet sich aber leider immer noch 
kein Binary File. Es scheint genau derselbe Inhalt zu sein wie vorher 
...

von J. S. (jojos)


Lesenswert?

dann im build dir noch 'ninja' aufrufen. Das muss eventuell noch 
installiert werden, https://github.com/ninja-build/ninja/releases
Das ist das eigentliche make.
Oder über winget installieren mit 'winget install ninja-build.ninja'. In 
der Hoffnung das winget installiert ist :)

: Bearbeitet durch User
von Johannes F. (jofe)


Lesenswert?

J. S. schrieb:
> dann im build dir noch 'ninja' aufrufen.

Ah super, hab es aufgerufen und – die Binary Files sind nun da.

Vielen Dank!

Komisch nur, dass das alles in der „Dokumentation“ mit keiner Silbe 
erwähnt wird.

von J. S. (jojos)


Lesenswert?

cmake kann auch das make bzw ninja aufrufen, es müsste 'cmake --build 
<build-dir>' sein. Habe es jetzt auch schon eine zeitlang nicht mehr so 
benutzt und bin vergesslich geworden... Und PlatformIO ist etwas 
bequemer.
Aber die CMake Extension ist wie gesagt auch sehr gut, muss man sich 
etwas reinarbeiten. Unten in der Statuszeile ist ein 'build' und eine 
Auswahl der Targets, damit müsste es auch gehen.

von Johannes F. (jofe)


Lesenswert?

OK, vielen Dank nochmal für die Tipps.
Muss ich mir alles mal in Ruhe ansehen.

Der Test der ISP-Kommunikation mit dem AVR war schon mal erfolgreich. 
Ich habe die Signature Bytes via SPI auslesen können.

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.