{"id":2897,"date":"2022-10-09T16:04:39","date_gmt":"2022-10-09T14:04:39","guid":{"rendered":"https:\/\/cbrell.de\/blog\/?p=2897"},"modified":"2022-11-30T23:06:39","modified_gmt":"2022-11-30T22:06:39","slug":"raspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos","status":"publish","type":"post","link":"https:\/\/cbrell.de\/blog\/raspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos\/","title":{"rendered":"Raspberry Pico programmieren mit C und Visual Studio Code auf Apple macOS"},"content":{"rendered":"<p><em>Mit wenigen Befehlen in der Konsole (Anwendung \u201eTerminal\u201c auf dem Mac) k\u00f6nnen Sie eine Entwicklungsumgebung f\u00fcr den Raspberry Pi Pico bereitstellen. Damit stehen Ihnen alle Ressourcen der Raspberry Pi Foundation f\u00fcr eigene Projekte offen.<\/em><\/p>\n<p><em>Die folgende Anleitung basiert auf &#8211; und ist eine Umsetzung von &#8211; \u201eGetting Startet with Pico\u201c \u2013 Handbuch der Raspberry Foundation f\u00fcr die Einrichtung des SDKs f\u00fcr den Raspberry Pi Pico. \u201cGetting Started\u2026\u201c beschreibt auch die Einrichtung insbesondere auf einem Raspberry Pi 4 und auch auf Windows. Die Einrichtung von macOS ist der unter Linux auf dem Raspberry Pi seht \u00e4hnlich.<\/em><\/p>\n<p>Die folgende Anleitung sollte bis zum Kompilieren der Beispielanwendungen\u00a0 gut funktioniern. Die Einmbindung von Visual Studio Code ist noch etwas &#8222;hakelig&#8220; und erforder ggf. Ihrerseits noch ein paar Experimente.<\/p>\n<p><strong><em>ACHTUNG &#8211; DIESE ANLEITUNG IST NOCH IN DER ENTWICKLUNG &#8211; WORK IN PROGRESS<\/em><\/strong><\/p>\n<p>Stand: 11.10.2022<\/p>\n<h2>1 Vorbereitungen<\/h2>\n<p>F\u00fcr die Installation ben\u00f6tigen Sie auf dem Mac im Folgenden Homebrew. Ob Sie Homebrew bereits installiert haben, finden Sie heraus, in dem Sie im Terminal brew -v eingeben:<\/p>\n<pre>claus@MacBook-Pro-6 ~ % brew -v\r\nHomebrew 3.6.3\r\nHomebrew\/homebrew-core (git revision 059c3bb9ddc; last commit 2022-10-01)\r\nHomebrew\/homebrew-cask (git revision 0917778591; last commit 2022-10-01)\r\nclaus@MacBook-Pro-6 ~ %<\/pre>\n<p>Wenn Homebrew nicht installiert ist, installieren Sie es mit<\/p>\n<pre>\u00a0\/bin\/bash -c \"$(curl -fsSL https:\/\/raw.githubusercontent.com\/Homebrew\/install\/master\/install.sh)\"<\/pre>\n<p>&nbsp;<\/p>\n<h2>2. Installation und Test des SDKs f\u00fcr den Pico<\/h2>\n<h3>2.1. Ablauf<\/h3>\n<p>Die Anleitung besteht aus folgenden Schritten:<\/p>\n<ol>\n<li>Installation der Toolchain<\/li>\n<li>Einrichtung des Pico SDKs<\/li>\n<li>Einrichtung von Beispielen<\/li>\n<li>Kompilieren des Beispiels blink (ein LED-Blinker)<\/li>\n<li>\u00dcbertragen des Programms blink auf den Raspberry Pico<\/li>\n<li>\u00c4nderung des Blink-Programms und erneuter Test<\/li>\n<li>Erstellen eines eigenen Projektes PicoTest<\/li>\n<li>Einrichtung on Visual Studie Code als Editor \/ Entwicklungsumgebung<\/li>\n<\/ol>\n<h3>2.2 Installieren der Toolchain<\/h3>\n<p>Installieren Sie die Toolchain mit der Folge von Anweisungen im Terminal<\/p>\n<pre>brew install cmake\r\n\r\nbrew tap ArmMbed\/homebrew-formulae\r\n\r\nbrew install arm-none-eabi-gcc<\/pre>\n<p><em>(Anmerkung: Der ARM-Compiler ist nur f\u00fcr f\u00fcr x86- spricht Intel-Prozessoren verf\u00fcgbar. Wenn Sie auf einem Apple Macbook mit Silocon M1-Prozessor statt Intel Prozessor arbeiten, m\u00fcssen Sie Rosetta 2 installieren (nicht getestet).<\/em><\/p>\n<p><em>\/usr\/sbin\/softwareupdate &#8211;install-rosetta &#8211;agree-to-license<\/em><\/p>\n<p><em>Nach Abschluss der Einrichtung der Toolchain testen Sie im Terminal mit<\/em><\/p>\n<p><em>arm-none-eabi-gcc &#8211;version)<\/em><\/p>\n<h3>2.3 Pico SDK und Pico Beispielprogramme einrichten<\/h3>\n<p>Im pico-examples Repository auf Github (https:\/\/github.com\/raspberrypi\/pico-examples) finden Sie einige Beispielanwendungen, die mit dem pico-sdk (https:\/\/github.com\/raspberrypi\/pico-sdk) entwickelt wurden. Das ist ein guter Startpunkt f\u00fcr eigene Entwicklungen.<br \/>\nKlonen Sie das Repository in ein Verzeichnis mit z.B. dem Namen \u201eRaspberryPico\u201c.<\/p>\n<pre>cd ~\/\r\nmkdir RaspberryPico\r\ncd RaspberryPico\r\ngit clone -b master https:\/\/github.com\/raspberrypi\/pico-sdk.git\r\ncd pico-sdk\r\ngit submodule update --init\r\ncd ..\r\ngit clone -b master <a href=\"https:\/\/github.com\/raspberrypi\/pico-examples.git\">https:\/\/github.com\/raspberrypi\/pico-examples.git<\/a><\/pre>\n<p>Es sollten nun zwei Ordner unterhalb von RsapberryPico existieren: pico-sdk und pico-examples.<\/p>\n<h3>1.1 Erster Test \u2013\u00a0 Beispiel blink kompilieren<\/h3>\n<p>F\u00fcr einen ersten Test des SDKs kompilieren Sie die Beispielanwendungn Blink.<\/p>\n<p>Legen Sie zun\u00e4chst mit dem Finder einen Unterordner \u201ebuild\u201c in \u201epico-examples\u201c an.<\/p>\n<p>Navigieren Sie im Terminal in den Ordner \u201ebuild\u201c mit<\/p>\n<pre>cd RaspberryPico\/pico-examples\/build<\/pre>\n<p>Der Pfad muss noch angepasst werden, so dass der Kompiler das SDK findet. Geben Sie im Terminal ein<\/p>\n<pre>export PICO_SDK_PATH=..\/..\/pico-sdk<\/pre>\n<p><em>(Anmerkung: Das funktioniert, wenn sp\u00e4ter ein Projektverzeichnis ein Unterverzeichnis von pico-sdk ist. Wenn Sie Ihr Projektverzeichnis an andrer Stelle speichern, ist es erforderlich, einen absoluten Pfad zum SDK anzugeben, z.B. :<\/em><\/p>\n<p><em>export PICO_SDK_PATH=\/Users\/&lt;IhrName&gt;\/RaspberryPico\/pico-sdk<br \/>\n)<\/em><\/p>\n<p>Bereiten Sie den Ordner build vor mit<\/p>\n<pre>cmake ..<\/pre>\n<p>(Anmerkung: die beiden Punkte sind wichtig)<\/p>\n<p>Im Ordner &#8222;build&#8220; wurden nun durch cmake einige Dateien und Verzeichnisse angelegt \u2013 auch das Verzeichnis &#8222;blink&#8220;. Navigierem Sie in das Verzeichnis \u2026.. pico-examples\/buid\/blink mit<\/p>\n<pre>cd blink<\/pre>\n<p>Schauen Sie sich die Dateien und Verzeichnisse mit dem Finder an. Nach dem folgenden Compile werden Sie dann weitere Dateien in diesem Ordner finden.<\/p>\n<p>Kompilieren Sie nun blink mit<\/p>\n<pre>make<\/pre>\n<p>(Anmerkung: make ohne irgendwelche Punkte)<\/p>\n<p>Es wird insbesondere eine Datei blink.uf2 angelegt, die Sie im folgenden Schritt auf den Raspberry Pico transferieren.<\/p>\n<h3>2.4 blink auf den Raspberry Pico \u00fcbertragen<\/h3>\n<p>Verbinden Sie den Raspberry Pico mittel USB-Kabel mit dem Macbook und halten Sie beim einstechen die BootSel-Taste auf dem Raspberry Pico gedr\u00fcckt. Im Finder sollten Sie eine neues Laufwerk \u201eRPI-RP2\u201c sehen. In dem Laufwerk befinden sich zwei Dateien, INDEX.HTM und INFO_UF2.TXT. In dieses Laufwerk kopieren Sie die Datei blink.uf2. Der Raspberry Pico transferiert die Datei in seinen internen Speicher (sie \u201everschwindet\u201c aus dem Laufwerk \u201eRPI-RP2\u201c), startet neu und f\u00fchrt die das Programm aus.<\/p>\n<p>Nun sollte die gr\u00fcne onboard-LED des Raspberry Pico blinken.<\/p>\n<h3>2.5 blink \u00e4ndern und erneut kompilieren<\/h3>\n<p>Verwenden Sie einen einfachen Texteditor, um das C-Programm zu \u00e4ndern. Ein guter Texteditor mit Syntax-Highlighting auf dem Mac ist Sublime Text. Im Terminal nutzen Sie nano. Wechseln Sie in das Quelltextverzeichnis von blink und \u00f6ffnen Sie den C-Quelltext (Listing 1) mit<\/p>\n<pre>cd RaspberryPico\/pico-examples\/blink\r\nnano blink.c<\/pre>\n<p>\u00c4ndern sie den Quelltext, so dass er wie folgt aussieht<\/p>\n<pre>\/**\r\n* Copyright (c) 2020 Raspberry Pi (Trading) Ltd.\r\n*\r\n* SPDX-License-Identifier: BSD-3-Clause\r\n*\/\r\n#include \"pico\/stdlib.h\"\r\nint main() {\r\n  #ifndef PICO_DEFAULT_LED_PIN\r\n  #warning blink example requires a board with a regular LED\r\n  #else\r\n  const uint LED_PIN = PICO_DEFAULT_LED_PIN;\r\n  gpio_init(LED_PIN);\r\n  gpio_set_dir(LED_PIN, GPIO_OUT);\r\n  while (true) {\r\n    gpio_put(LED_PIN, 1);\r\n    sleep_ms(127);\r\n    gpio_put(LED_PIN, 0);\r\n    sleep_ms(500);\r\n    gpio_put(LED_PIN, 1);\r\n    sleep_ms(1000);\r\n    gpio_put(LED_PIN, 0);\r\n    sleep_ms(500);\r\n  }\r\n  #endif\r\n}<\/pre>\n<p>Listing 1: Ein einfaches Blink-Programm in C f\u00fcr den Pico<\/p>\n<p>Speichern Sie mit ctrl-o enter \u00a0und verlassen Sie nano mit ctrl-x. F\u00fchren Sie den Schritt \u201eblink auf den Raspberry Pico \u00fcbertragen\u201c erneut aus und \u00fcberspielen Sie die neu erstellte .uf2-Datei auf den Raspberry Pico. Sie sollten nach dem automatischen Neustart des ein \u201ekurz-lang-Blinkmuster sehen.<\/p>\n<p>Sie sind nun in der Lage, C-Programme zu \u00e4ndern und auf den Raspberry Pico dauerhaft zu \u00fcbertragen.<\/p>\n<h3>2.6 Ein eigenes Projekt mit Ausgabe \u00fcber USB<\/h3>\n<p>Update 11.10.2022: Um kompatibel zu vielen Tutorials zu bleiben, legen Sie einen Arbeitsbereich f\u00fcr Ihre Projekte an, z.B. pico-Entwicklung. Dort hinein kommen die Projektverzeichnisse. Sie haben als nun drei Verzeichnisse in RaspberryPico: pico-sdk, -pico examples und pico-Entwicklung. Wechseln Sie in das Verzeichnis RaspberryPico\/pico-Entwicklung. Die Befehle sind, wenn Sie sich in RaspberryPico befinden:<\/p>\n<pre>mkdir pico-Entwicklung\r\n\r\ncd pico-Entwicklung<\/pre>\n<p>Legen Sie ein Projektverzeichnis an, z.B. \u201ePicoTest\u201c: mkdir PicoTest<\/p>\n<p>Achtung: Der Pfad zum SDK muss bei jedem Neustart des Terminals neu festgelegt werden mit<\/p>\n<pre> export PICO_SDK_PATH=\/Users\/&lt;IhrName&gt;\/RaspberryPico\/pico-sdk<\/pre>\n<p>Mir ist es (noch) nicht gelungen, auf dem Mac den Pfad dauerhaft zu verankern.<\/p>\n<p>Im Verzeichnis PicoTest legen Sie ein Verzeichnis build mit mkdir build an. Dort hinein kommen die Dateien, die zum Kompilieren notwendig sind. Weiterhin werden zwei Dateien f\u00fcr die Steuerung des Aufbaus der Umgebung mit cmake ben\u00f6tigt: CMakeLists.txt und pico_sdk_import.cmake. Letztere kopieren Sie aus pico-sdk\/external mit<\/p>\n<pre>cp pico-sdk\/external\/pico_sdk_import.cmake .<\/pre>\n<p>Die Datei CMakeLists.txt erzeugen Sie wie weiter unten unter Listig 3 beschrieben mit nano.<\/p>\n<p>F\u00fcllen Sie das Verzeichnis build, indem Sie dort hinein Wechseln und cmake aufrufen (die beiden Punkte sind wesentlich).<\/p>\n<pre>cd build\r\n\r\ncmake ..<\/pre>\n<p>Im Verzeichnis build befinden sich nun ein paar weitere Verzeichnisse und eine Datei Makefile, die den Compile-Prozess steuert. Shauen Sie sich den Inhalt mit ls -l an<\/p>\n<pre class=\"p1\"><span class=\"s1\">claus@MacBook-Pro-6 build % ls -l<\/span>\r\n<span class=\"s1\">total 328<\/span>\r\n<span class=\"s1\">-rw-r--r-- <span class=\"Apple-converted-space\">\u00a0 <\/span>1 claus<span class=\"Apple-converted-space\">\u00a0 <\/span>staff <span class=\"Apple-converted-space\">\u00a0 <\/span>20621 11 Okt 12:21 CMakeCache.txt<\/span>\r\n<span class=\"s1\">drwxr-xr-x<span class=\"Apple-converted-space\">\u00a0 <\/span>15 claus<span class=\"Apple-converted-space\">\u00a0 <\/span>staff <span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>480 11 Okt 12:21 CMakeFiles<\/span>\r\n<span class=\"s1\">-rw-r--r-- <span class=\"Apple-converted-space\">\u00a0 <\/span>1 claus<span class=\"Apple-converted-space\">\u00a0 <\/span>staff<span class=\"Apple-converted-space\">\u00a0 <\/span>136932 11 Okt 12:21 Makefile<\/span>\r\n<span class=\"s1\">-rw-r--r-- <span class=\"Apple-converted-space\">\u00a0 <\/span>1 claus<span class=\"Apple-converted-space\">\u00a0 <\/span>staff<span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>1765 11 Okt 12:21 cmake_install.cmake<\/span>\r\n<span class=\"s1\">drwxr-xr-x <span class=\"Apple-converted-space\">\u00a0 <\/span>4 claus<span class=\"Apple-converted-space\">\u00a0 <\/span>staff <span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>128 11 Okt 12:21 elf2uf2<\/span>\r\n<span class=\"s1\">drwxr-xr-x <span class=\"Apple-converted-space\">\u00a0 <\/span>3 claus<span class=\"Apple-converted-space\">\u00a0 <\/span>staff<span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 <\/span>96 11 Okt 12:21 generated<\/span>\r\n<span class=\"s1\">drwxr-xr-x <span class=\"Apple-converted-space\">\u00a0 <\/span>8 claus<span class=\"Apple-converted-space\">\u00a0 <\/span>staff <span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>256 11 Okt 12:21 pico-sdk<\/span>\r\n<span class=\"s1\">drwxr-xr-x <span class=\"Apple-converted-space\">\u00a0 <\/span>2 claus<span class=\"Apple-converted-space\">\u00a0 <\/span>staff<span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 <\/span>64 11 Okt 12:21 pioasm<\/span>\r\n<span class=\"s1\">claus@MacBook-Pro-6 build %<span class=\"Apple-converted-space\">\u00a0<\/span><\/span><\/pre>\n<p>Abb. : So sieht es im Verzeichnis build aus<\/p>\n<p>Erzeugen Sie einen Quellcode mit Namen source.c (mit nano source.c) und dem Inhalt<\/p>\n<pre>#include &lt;stdio.h&gt;\r\n#include \"pico\/stdlib.h\"\r\nint main() {\r\n  stdio_init_all();\r\n  int i=0;\r\n  while (true) {\r\n    printf(\"Hallo Welt %d\\n\",i);\r\n    blinka(5);\r\n    sleep_ms(2000);\r\n    i++;\r\n  }\r\n  return 0;\r\n}\r\n\r\nvoid blinka(int anz) {\r\n  #ifndef PICO_DEFAULT_LED_PIN\r\n  #warning blink example requires a board with a regular LED\r\n  #else\r\n  const uint LED_PIN = PICO_DEFAULT_LED_PIN;\r\n  gpio_init(LED_PIN);\r\n  gpio_set_dir(LED_PIN, GPIO_OUT);\r\n  int i=0;\r\n  while (i&lt;anz) {\r\n  gpio_put(LED_PIN, 1);\r\n  sleep_ms(127);\r\n  gpio_put(LED_PIN, 0);\r\n  sleep_ms(127);\r\n  i++;\r\n}\r\n#endif\r\n}<\/pre>\n<p>Listing 2: Das Prgramm gibt Hallo Welt \u00fcber die serielle Schnittstelle aus und blinkt f\u00fcnf mal schnell. Das Blinken funktiononiert so nur auf dem Pico ohne WLAN.<\/p>\n<p>Das Programm (Listing 2) gibt alle zwei Sekunden \u201eHallo Welt &lt;Z\u00e4hler&gt;\u201c \u00fcber die serielle Schnittstelle aus und blink f\u00fcnf mal schnell. Erzeugen Sie das Programm mit den Schritten wie oben beschrieben (indem Sie make eingeben). Alternativ erzeugen Sie das Programm mit Visual Studio Code wie weiter unten beschrieben.<\/p>\n<pre>make<\/pre>\n<p>Um die serielle Schnittstelle abzufragen, verwenden Sie eine geeignete Terminal-Software. Im Weiteren ist dazu minicom beschrieben.<\/p>\n<h3>2.7\u00a0 Ausgaben der seriellen Schnittstelle \u00fcber USB mit minicom verfolgen<\/h3>\n<p>Beschaffen Sie sich minicom und kompilieren Sie minicom mit homebrew.<\/p>\n<pre>brew install minicom<\/pre>\n<p>Sie ben\u00f6tigen den Dateinamen, der die Schnittstelle repr\u00e4sentiert. Sie finden die seriellen Schnittstellen im Verzeichnis \/dev, das Sie sich im Terminal mit<\/p>\n<pre>ls \/dev<\/pre>\n<p>anschauen k\u00f6nnen.<\/p>\n<p>Schlie\u00dfen Sie den Raspberry Pico mit gedr\u00fcckter BOOTSEL-Taste an. \u00dcberspielen Sie \u201ePicoTest.uf2\u201c in das Laufwerk RPI-RP2. Der Pico sollte nach seinem reboot alle zwei Sekunden f\u00fcnfmal blinken.<\/p>\n<p>Schauen Sie wieder in das Verzeichnis \/dev. Es sollte eine Datei \u00e4hnlich \u201etty.usbmodem14201\u201c zu sehen sein. Rufen Sie im Terminal minicom auf mit<\/p>\n<pre>minicom -o -D \/dev\/tty.usbmodem14201<\/pre>\n<p>Sie sollten die Hallo Welt \u2013 Meldungen sehen wie in Abb. 1. Damit haben Sie eine M\u00f6glichkeit, Ausgaben Ihres Programms auf dem Pico zu kontrollieren.<\/p>\n<p><a href=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/10\/Hallo-Welt-Pico-Test-serielle-Ausgabe-minicom-screenshot.png\"><img decoding=\"async\" class=\"alignnone wp-image-2905 size-full\" src=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/10\/Hallo-Welt-Pico-Test-serielle-Ausgabe-minicom-screenshot.png\" alt=\"\" width=\"616\" height=\"492\" srcset=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/10\/Hallo-Welt-Pico-Test-serielle-Ausgabe-minicom-screenshot.png 616w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/10\/Hallo-Welt-Pico-Test-serielle-Ausgabe-minicom-screenshot-300x240.png 300w\" sizes=\"(max-width: 616px) 100vw, 616px\" \/><\/a><\/p>\n<p>Abb. 1: Hallo Welt mittels serieller Ausgabe \u00fcber USB<\/p>\n<h3>2.8 Visual Studio Code und C\/C++ einrichten<\/h3>\n<h3>2.8.1 Was ist Visual Studio Code?<\/h3>\n<p>Visual Studio Code (VSCode) ist eine plattform\u00fcbergreifende Entwicklungsumgebung von Microsoft. VSCode wird in vielen Open Source Projekten eingesetzt. Viele Anleitungen im Internet beziehen sich auf VSCode, daher empfiehlt auch die Raspberry Foundation die Nutzung.<\/p>\n<p>ACHTUNG: AB HIER NOCH NICHT VOLLST\u00c4NDIG &#8211; WORK IN PROGRESS<\/p>\n<h3>2.8.2 Visual Studio Code mit Cmake Tools einrichten<\/h3>\n<p>Die Installation der aktuellen VSCode-Version folgen Sie der Anleitung von Microsoft vor (Link siehe Quellen weiter hinten):<br \/>\nZum Download von VSCode: <a href=\"https:\/\/code.visualstudio.com\/Download\">https:\/\/code.visualstudio.com\/Download<\/a><\/p>\n<p>F\u00fcr Mac Intel w\u00e4hlen Sie die Version \u201eIntel Chip\u201c, Wenn Sie einen M1-Prozessor nutzen w\u00e4hlen Sie \u201eApple Silion\u201c<\/p>\n<p>Sie ben\u00f6tigen die Erweiterungen C++, Cortex debug (by marius25) und CMake (by Microsoft)<\/p>\n<p>&nbsp;<\/p>\n<p>Starten Sie VSCode, um weitere Werkzeuge einzurichten.<\/p>\n<p>Installieren Sie innerhalb von VSCode die Erweiterung CMake Tools. Klicken Sie auf das Erweiterungssymbol in der linken Symbolleiste (oder geben Sie Cmd + Shift + X ein), suchen Sie in der Liste nach &#8222;CMake Tools&#8220; und klicken Sie auf den Eintrag in der Liste, und klicken Sie dann auf Installieren (Abb. 2).<\/p>\n<p><a href=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/10\/CMake-Toos-CSCode-Erweiterungen-laden.png\"><img decoding=\"async\" class=\"alignnone wp-image-2902 size-full\" src=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/10\/CMake-Toos-CSCode-Erweiterungen-laden.png\" alt=\"\" width=\"908\" height=\"540\" srcset=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/10\/CMake-Toos-CSCode-Erweiterungen-laden.png 908w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/10\/CMake-Toos-CSCode-Erweiterungen-laden-300x178.png 300w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/10\/CMake-Toos-CSCode-Erweiterungen-laden-768x457.png 768w\" sizes=\"(max-width: 908px) 100vw, 908px\" \/><\/a><\/p>\n<p>Abb. 2: CMake Tools in den VSCode \u201cErweiterungen\u201c laden.<\/p>\n<p>&nbsp;<\/p>\n<h3>2.8.3 Kommandozeilenbefehl code einrichten<\/h3>\n<p>Mit dieser kleinen Hilfe k\u00f6nnen Sie VSCode direkt aus dem Terminal heraus starten. \u00d6ffnen Sie VSCode, gehen Sie dann \u00fcber \u00a0\u201cHilfe | Show All Commands\u201d oder der Tastenkombination (Cmd+Shift+P) zur Kommando Eingabe und tippen Sie &#8222;shell command&#8220;.<\/p>\n<h3>2.8.4\u00a0 Das SDK anbinden<\/h3>\n<p><em>(Anmerkung: Dies ist der schwierigste Schritt, der von vielen Anwendern im Internet diskutiert wird und offensichtlich nach keinem Tutorial direkt zufriedenstellend erl\u00e4uf. Es k\u00f6nnen unterschiedliche Probleme auftauchen, die L\u00f6sung h\u00e4ngt allerdings von der Vorgeschichte der Installation ab und ist schwer zu reproduzieren (siehe Probleme weiter unten). Mir ist es erst nach einigen Fehlversuchen gelungen. Eine Lekt\u00fcre der Links unter \u201eQuellen\u201c empfehle ich daher.)<\/em><\/p>\n<p>Die Umgebungsvariable PICO_SDK_PATH ist VSCode geeignet mitzuteilen. Dazu navigieren Sie mit dem Terminal in MacOS zum Verzeichnis pico-examples und erstellen Sie ein (verstecktes) Verzeichnis \u00a0.vscode und wechseln Sie in das Verzeichnis<\/p>\n<pre>cd \/Users\/IHR-NAME\/RaspberryPico\/pico-examples\/\r\n\r\nmkdir .vscode\r\n\r\ncd .vscode<\/pre>\n<p>F\u00fcgen Sie eine Datei \u201esettings.json hinzu, um CMake Tools mitzuteilen, wo sich das SDK befindet.<\/p>\n<pre>nano settings.json<\/pre>\n<p>mit dem Inhalt:<\/p>\n<pre>{\r\n\"cmake.environment\": {\r\n\"PICO_SDK_PATH\":\"..\/..\/pico-sdk\"\r\n},\r\n}<\/pre>\n<p>Starten Sie VSCode, Klicken Sie nun auf das Zahnrad links unten am unteren Ende der Navigationsleiste auf der linken Seite der Benutzeroberfl\u00e4che und w\u00e4hlen Sie<\/p>\n<p>&#8222;Einstellungen&#8220;. Klicken Sie dann im Bereich &#8222;Einstellungen&#8220; auf &#8222;Erweiterungen&#8220; und die &#8222;CMake Tools Konfiguration&#8220;. Scrollen Sie dann nach unten zu<\/p>\n<p>&#8222;Cmake: Generator&#8220; und geben Sie &#8222;Unix Makefiles&#8220; in das Feld ein (Abb. 3).<\/p>\n<p><a href=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/10\/VSCode-CMake-Pfad-SDK-setzen.png\"><img decoding=\"async\" class=\"alignnone wp-image-2906 size-full\" src=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/10\/VSCode-CMake-Pfad-SDK-setzen.png\" alt=\"\" width=\"908\" height=\"456\" srcset=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/10\/VSCode-CMake-Pfad-SDK-setzen.png 908w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/10\/VSCode-CMake-Pfad-SDK-setzen-300x150.png 300w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/10\/VSCode-CMake-Pfad-SDK-setzen-768x386.png 768w\" sizes=\"(max-width: 908px) 100vw, 908px\" \/><\/a><\/p>\n<p>Abb. 3: Screenshot Einstellungen f\u00fcr Make<\/p>\n<p>(Ein paar Hinweise aus dem \u201eGettings startet:<\/p>\n<p>Je nach Ihren lokalen Gegebenheiten m\u00fcssen Sie den CMake-Generator m\u00f6glicherweise nicht manuell auf &#8222;Unix Makefiles&#8220; einstellen. Allerdings<\/p>\n<p>wenn Sie dies nicht tun, wird Visual Studio in einigen F\u00e4llen standardm\u00e4\u00dfig Ninja statt Make verwenden und der Build k\u00f6nnte fehlschlagen, da GCC<\/p>\n<p>die Abh\u00e4ngigkeitsinformationen in einem nicht ganz korrekten Format ausgibt, das Ninja nicht verstehen kann.<\/p>\n<p>Wenn Sie diese Variable manuell konfigurieren m\u00fcssen, ist es auch m\u00f6glich, dass Sie Visual<\/p>\n<p>Studio explizit auf die CMake Tools-Erweiterung verweisen, indem Sie eine zus\u00e4tzliche Zeile in Ihre settings.json-Datei einf\u00fcgen,<\/p>\n<pre>{\r\n\r\n\"cmake.environment\": {\r\n\r\n\"PICO_SDK_PATH\": \"..\/..\/pico-sdk\"\r\n\r\n},\r\n\r\n\"C_Cpp.default.configurationProvider\": \"ms-vscode.cmake-tools\"\r\n\r\n}<\/pre>\n<p>Klicken Sie dann im Men\u00fc \u201eDatei\u201c auf \u201eOrdner zu Arbeitsbeich hinzuf\u00fcgen\u201c und navigieren Sie zu pico-examples und klicken Sie auf &#8222;Okay&#8220;.<\/p>\n<p>&nbsp;<\/p>\n<p>In den VSCode Erweiterungen w\u00e4hlen Sie noch \u201eMarus25 Cortex-Debug\u201c und installieren das.<\/p>\n<p>Testen Sie, ob Sie \u201eHello-World!\u201c editieren k\u00f6nnen. Mit \u201eDatei | Open Folder\u201c und Navigation zu \u201epico-examples\/hello_world\/usb\u201c sollten Sie die Bildschirmansicht \u00e4hnlich Abb. 4 haben.<\/p>\n<p><a href=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/10\/Ein-Verzeichnis-in-VSCode-oeffnen.png\"><img decoding=\"async\" class=\"alignnone wp-image-2903 size-full\" src=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/10\/Ein-Verzeichnis-in-VSCode-oeffnen.png\" alt=\"\" width=\"908\" height=\"356\" srcset=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/10\/Ein-Verzeichnis-in-VSCode-oeffnen.png 908w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/10\/Ein-Verzeichnis-in-VSCode-oeffnen-300x118.png 300w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/10\/Ein-Verzeichnis-in-VSCode-oeffnen-768x301.png 768w\" sizes=\"(max-width: 908px) 100vw, 908px\" \/><\/a><\/p>\n<p>Abb. 4: \u00d6ffnen eines Projektverzeichnisses hello_world\/usb<\/p>\n<p>&nbsp;<\/p>\n<p>Wenn ein Fenster aufpoppt mit \u201eWould you like to configure project\u201d best\u00e4tigen Sie mit \u201eYes\u201c. Sie werden nach einem Compiler gefragt, w\u00e4hlen Sie \u201eGCC for arm-none-eabi \u2026.\u201c<\/p>\n<p>&nbsp;<\/p>\n<p>Ein neues, eigenes Projekt legen Sie wie folgt an:<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li>mkdir PicoTest<\/li>\n<li>cd PicoTest<\/li>\n<li>cp ..\/pico-sdk\/external\/pico_sdk_import.cmake .<\/li>\n<li>Erstellen Sie\u00a0CMakeLists.txt\u00a0mit nano, Siehe Inhalt weiter untes.<\/li>\n<li>touch CMakeLists.txt<\/li>\n<li>touch source.c (Inhalt kann leer sein oder wie in Listing 1)<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p>In die Datei CMakeLists.txt schreiben Sie mit nano (Listing 3)<\/p>\n<pre># What CMake to start at\r\ncmake_minimum_required(VERSION 3.12)\r\n# Include the subsidiary .cmake file to get the SDK\r\ninclude(pico_sdk_import.cmake)\r\n# Set the name and version of the project\r\nproject(PicoTest VERSION 1.0.0)\r\n# Link the Project to a source file (step 4.6)\r\nadd_executable(PicoTest source.c)\r\n# Link the Project to an extra library (pico_stdlib)\r\ntarget_link_libraries(PicoTest pico_stdlib)\r\n# Initalise the SDK\r\npico_sdk_init()\r\n# Enable USB, UART output\r\npico_enable_stdio_usb(PicoTest 1)\r\npico_enable_stdio_uart(PicoTest 1)\r\n# Enable extra outputs (SWD?)\r\npico_add_extra_outputs(PicoTest)<\/pre>\n<p><em>Listing 3: Inhalt con CMake.Lists<\/em><\/p>\n<h2>2.9\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 M\u00f6gliche Fehlermeldungen beim Kompilieren in VSCode<\/h2>\n<p>Problem: Es w\u00e9rscheint die Meldung \u201cSDK location was not specified. Please set PICO_SDK_PATH or set PICO_SDK_FETCH_FROM_GIT to on to fetch from git.&#8220;<\/p>\n<p>L\u00f6sung: Setzten Sie in den CMake Tools das Build Environment.<\/p>\n<p>Hinweis unter <a href=\"https:\/\/forums.raspberrypi.com\/viewtopic.php?t=332016\">https:\/\/forums.raspberrypi.com\/viewtopic.php?t=332016<\/a><\/p>\n<p>Der gleiche Eintrag erfolgt unter Cmake: Environment.<\/p>\n<h3>2.10\u00a0\u00a0\u00a0 Das Projektverzeichnis unter VSCode vorbereiten<\/h3>\n<p>\u00d6ffnen Sie mit VSCode das Verzeichnis \u201e\u2026.RaspberryPico\/PicoTest\u201c. Sie werden nach einem Compiler gefragt, geben Sie in der Auswahlliste \u00a0den GNU ARM Compiler an.<\/p>\n<p>Innerhalb des Projektverzeichnisses legt VSCode eine Verzeichnis \u201ebuild\u201c an und schreibt die zum Kompilieren notwendigen Dateien hinein. Insbesondere sollte es eine Datei \u201eMakefile\u201c geben, die den Build-Prozess steuert.<\/p>\n<h3>2.11\u00a0\u00a0\u00a0 Das Programm unter VSCode kompilieren<\/h3>\n<p>Wechseln Sie im VSCode-Terminal mit \u201ecd build\u201c in das Verzeichnis \u201ebuild\u201c. Geben Sie im Terminal \u201emake\u201c ein. Es sollten Ausgaben des Kompilers erfolgen und insbesondere eine Datei PicoTest.uf2 erzeugt werden, die Sie auf den Raspberry Pico \u00fcberspielen k\u00f6nnen.<\/p>\n<h1>3\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Quellen:<\/h1>\n<p>Getting Startet with Pico \u2013 Handbuch der Raspberry Foundation f\u00fcr die Einrichtung des SDKs f\u00fcr den Raspberry Pi Pico, online Ressource: <a href=\"https:\/\/datasheets.raspberrypi.com\/pico\/getting-started-with-pico.pdf\">https:\/\/datasheets.raspberrypi.com\/pico\/getting-started-with-pico.pdf<\/a><\/p>\n<p>Pr\u00fcfen, ob Homebrew intsalliert ist <a href=\"https:\/\/stackovercoder.com.de\/programming\/21577968\/how-to-tell-if-homebrew-is-installed-on-mac-os-x\">https:\/\/stackovercoder.com.de\/programming\/21577968\/how-to-tell-if-homebrew-is-installed-on-mac-os-x<\/a><\/p>\n<p>Visual Studio Code auf dem Mac installieren \u2013 Anleitung von Microsoft <a href=\"https:\/\/code.visualstudio.com\/docs\/setup\/mac\">https:\/\/code.visualstudio.com\/docs\/setup\/mac<\/a><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/blog.smittytone.net\/2021\/02\/02\/program-raspberry-pi-pico-c-mac\/\">https:\/\/blog.smittytone.net\/2021\/02\/02\/program-raspberry-pi-pico-c-mac\/<\/a><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.peterzimon.com\/raspberry-pi-pico-mac-c-getting-started\/\">https:\/\/www.peterzimon.com\/raspberry-pi-pico-mac-c-getting-started\/<\/a><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.chrisclaxton.me.uk\/chris-claxtons-blog\/raspberry-pi-pico-vscode-and-macos\">https:\/\/www.chrisclaxton.me.uk\/chris-claxtons-blog\/raspberry-pi-pico-vscode-and-macos<\/a><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/macappstore.org\/minicom\/\">https:\/\/macappstore.org\/minicom\/<\/a><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/cbrell.de\/zaehler?x=3281\" \/><\/p>\n<div class=\"shariff shariff-align-left shariff-widget-align-left\" data-services=\"facebook\" data-url=\"https:\/\/cbrell.de\/blog\/raspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos\/\" data-timestamp=\"1669849599\" data-backendurl=\"https:\/\/cbrell.de\/blog\/wp-json\/shariff\/v1\/share_counts?\"><div class=\"ShariffHeadline\">Teile diesen Beitrag.<\/div><ul class=\"shariff-buttons theme-round orientation-horizontal buttonsize-medium\"><li class=\"shariff-button twitter shariff-nocustomcolor\" style=\"background-color:#595959\"><a href=\"https:\/\/twitter.com\/share?url=https%3A%2F%2Fcbrell.de%2Fblog%2Fraspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos%2F&text=Raspberry%20Pico%20programmieren%20mit%20C%20und%20Visual%20Studio%20Code%20auf%20Apple%20macOS\" title=\"Bei X teilen\" aria-label=\"Bei X teilen\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#000; color:#fff\" target=\"_blank\"><span class=\"shariff-icon\" style=\"\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path fill=\"#000\" d=\"M14.258 10.152L23.176 0h-2.113l-7.747 8.813L7.133 0H0l9.352 13.328L0 23.973h2.113l8.176-9.309 6.531 9.309h7.133zm-2.895 3.293l-.949-1.328L2.875 1.56h3.246l6.086 8.523.945 1.328 7.91 11.078h-3.246zm0 0\"\/><\/svg><\/span><\/a><\/li><li class=\"shariff-button facebook shariff-nocustomcolor\" style=\"background-color:#4273c8\"><a href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=https%3A%2F%2Fcbrell.de%2Fblog%2Fraspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos%2F\" title=\"Bei Facebook teilen\" aria-label=\"Bei Facebook teilen\" role=\"button\" rel=\"nofollow\" class=\"shariff-link\" style=\"; background-color:#3b5998; color:#fff\" target=\"_blank\"><span class=\"shariff-icon\" style=\"\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 18 32\"><path fill=\"#3b5998\" d=\"M17.1 0.2v4.7h-2.8q-1.5 0-2.1 0.6t-0.5 1.9v3.4h5.2l-0.7 5.3h-4.5v13.6h-5.5v-13.6h-4.5v-5.3h4.5v-3.9q0-3.3 1.9-5.2t5-1.8q2.6 0 4.1 0.2z\"\/><\/svg><\/span><\/a><\/li><li class=\"shariff-button linkedin shariff-nocustomcolor\" style=\"background-color:#1488bf\"><a href=\"https:\/\/www.linkedin.com\/sharing\/share-offsite\/?url=https%3A%2F%2Fcbrell.de%2Fblog%2Fraspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos%2F\" title=\"Bei LinkedIn teilen\" aria-label=\"Bei LinkedIn teilen\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#0077b5; color:#fff\" target=\"_blank\"><span class=\"shariff-icon\" style=\"\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 27 32\"><path fill=\"#0077b5\" d=\"M6.2 11.2v17.7h-5.9v-17.7h5.9zM6.6 5.7q0 1.3-0.9 2.2t-2.4 0.9h0q-1.5 0-2.4-0.9t-0.9-2.2 0.9-2.2 2.4-0.9 2.4 0.9 0.9 2.2zM27.4 18.7v10.1h-5.9v-9.5q0-1.9-0.7-2.9t-2.3-1.1q-1.1 0-1.9 0.6t-1.2 1.5q-0.2 0.5-0.2 1.4v9.9h-5.9q0-7.1 0-11.6t0-5.3l0-0.9h5.9v2.6h0q0.4-0.6 0.7-1t1-0.9 1.6-0.8 2-0.3q3 0 4.9 2t1.9 6z\"\/><\/svg><\/span><\/a><\/li><\/ul><\/div>","protected":false},"excerpt":{"rendered":"<p>Mit wenigen Befehlen in der Konsole (Anwendung \u201eTerminal\u201c auf dem Mac) k\u00f6nnen Sie eine Entwicklungsumgebung f\u00fcr den Raspberry Pi Pico bereitstellen. Damit stehen Ihnen alle Ressourcen der Raspberry Pi Foundation &#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[718,717,598,709,706,599],"class_list":["post-2897","post","type-post","status-publish","format-standard","hentry","category-allgemein","tag-c","tag-macos","tag-pico","tag-programmieren","tag-raspberry-pi-pico","tag-raspberry-pico"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Raspberry Pico programmieren mit C<\/title>\n<meta name=\"description\" content=\"Entwicklungsumgebung f\u00fcr C auf de Raspberry Pi Pico einrichten - das geht mit wenigen Befehlen auf dem Mac im Terminal.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cbrell.de\/blog\/raspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Raspberry Pico programmieren mit C\" \/>\n<meta property=\"og:description\" content=\"Entwicklungsumgebung f\u00fcr C auf de Raspberry Pi Pico einrichten - das geht mit wenigen Befehlen auf dem Mac im Terminal.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cbrell.de\/blog\/raspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos\/\" \/>\n<meta property=\"og:site_name\" content=\"Bienen, Natur und Internet of Things\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-09T14:04:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-11-30T22:06:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/10\/Hallo-Welt-Pico-Test-serielle-Ausgabe-minicom-screenshot.png\" \/>\n<meta name=\"author\" content=\"Claus Brell\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@clausbrell5859\" \/>\n<meta name=\"twitter:site\" content=\"@clausbrell\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Claus Brell\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"15\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/raspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/raspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos\\\/\"},\"author\":{\"name\":\"Claus Brell\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/#\\\/schema\\\/person\\\/7cf529e46faf1fd7b2b6942fec254c58\"},\"headline\":\"Raspberry Pico programmieren mit C und Visual Studio Code auf Apple macOS\",\"datePublished\":\"2022-10-09T14:04:39+00:00\",\"dateModified\":\"2022-11-30T22:06:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/raspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos\\\/\"},\"wordCount\":2193,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/raspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/Hallo-Welt-Pico-Test-serielle-Ausgabe-minicom-screenshot.png\",\"keywords\":[\"C\",\"macOS\",\"Pico\",\"programmieren\",\"Raspberry Pi Pico\",\"Raspberry Pico\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/cbrell.de\\\/blog\\\/raspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/raspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos\\\/\",\"url\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/raspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos\\\/\",\"name\":\"Raspberry Pico programmieren mit C\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/raspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/raspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/Hallo-Welt-Pico-Test-serielle-Ausgabe-minicom-screenshot.png\",\"datePublished\":\"2022-10-09T14:04:39+00:00\",\"dateModified\":\"2022-11-30T22:06:39+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/#\\\/schema\\\/person\\\/7cf529e46faf1fd7b2b6942fec254c58\"},\"description\":\"Entwicklungsumgebung f\u00fcr C auf de Raspberry Pi Pico einrichten - das geht mit wenigen Befehlen auf dem Mac im Terminal.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/raspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/cbrell.de\\\/blog\\\/raspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/raspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos\\\/#primaryimage\",\"url\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/Hallo-Welt-Pico-Test-serielle-Ausgabe-minicom-screenshot.png\",\"contentUrl\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/Hallo-Welt-Pico-Test-serielle-Ausgabe-minicom-screenshot.png\",\"width\":616,\"height\":492},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/raspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Raspberry Pico programmieren mit C und Visual Studio Code auf Apple macOS\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/\",\"name\":\"Bienen, Natur und Internet of Things\",\"description\":\"Alles, was einfach ist. Von Claus Brell\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/#\\\/schema\\\/person\\\/7cf529e46faf1fd7b2b6942fec254c58\",\"name\":\"Claus Brell\",\"description\":\"Seit 2021 forsche ich an und mit Bienen (Digitalisierung der Imkerei) Seit 2012 Professur f\u00fcr Wirtschaftsinformatik an der Hochschue Niederrhein. Seit 1981 treibt mich die Frage um: Was haben Physik, Heavy Metal und Spiele miteinander zu tun? Drei m\u00f6gliche Antworten: {nichts | 42 | gleiche Hirnareale werden aktiviert}\",\"sameAs\":[\"http:\\\/\\\/claus-brell.de\",\"https:\\\/\\\/x.com\\\/clausbrell5859\",\"https:\\\/\\\/www.youtube.com\\\/@clausbrell5859\"],\"url\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/author\\\/clausb\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Raspberry Pico programmieren mit C","description":"Entwicklungsumgebung f\u00fcr C auf de Raspberry Pi Pico einrichten - das geht mit wenigen Befehlen auf dem Mac im Terminal.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cbrell.de\/blog\/raspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos\/","og_locale":"de_DE","og_type":"article","og_title":"Raspberry Pico programmieren mit C","og_description":"Entwicklungsumgebung f\u00fcr C auf de Raspberry Pi Pico einrichten - das geht mit wenigen Befehlen auf dem Mac im Terminal.","og_url":"https:\/\/cbrell.de\/blog\/raspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos\/","og_site_name":"Bienen, Natur und Internet of Things","article_published_time":"2022-10-09T14:04:39+00:00","article_modified_time":"2022-11-30T22:06:39+00:00","og_image":[{"url":"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/10\/Hallo-Welt-Pico-Test-serielle-Ausgabe-minicom-screenshot.png","type":"","width":"","height":""}],"author":"Claus Brell","twitter_card":"summary_large_image","twitter_creator":"@clausbrell5859","twitter_site":"@clausbrell","twitter_misc":{"Verfasst von":"Claus Brell","Gesch\u00e4tzte Lesezeit":"15\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/cbrell.de\/blog\/raspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos\/#article","isPartOf":{"@id":"https:\/\/cbrell.de\/blog\/raspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos\/"},"author":{"name":"Claus Brell","@id":"https:\/\/cbrell.de\/blog\/#\/schema\/person\/7cf529e46faf1fd7b2b6942fec254c58"},"headline":"Raspberry Pico programmieren mit C und Visual Studio Code auf Apple macOS","datePublished":"2022-10-09T14:04:39+00:00","dateModified":"2022-11-30T22:06:39+00:00","mainEntityOfPage":{"@id":"https:\/\/cbrell.de\/blog\/raspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos\/"},"wordCount":2193,"commentCount":0,"image":{"@id":"https:\/\/cbrell.de\/blog\/raspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos\/#primaryimage"},"thumbnailUrl":"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/10\/Hallo-Welt-Pico-Test-serielle-Ausgabe-minicom-screenshot.png","keywords":["C","macOS","Pico","programmieren","Raspberry Pi Pico","Raspberry Pico"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/cbrell.de\/blog\/raspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/cbrell.de\/blog\/raspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos\/","url":"https:\/\/cbrell.de\/blog\/raspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos\/","name":"Raspberry Pico programmieren mit C","isPartOf":{"@id":"https:\/\/cbrell.de\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cbrell.de\/blog\/raspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos\/#primaryimage"},"image":{"@id":"https:\/\/cbrell.de\/blog\/raspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos\/#primaryimage"},"thumbnailUrl":"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/10\/Hallo-Welt-Pico-Test-serielle-Ausgabe-minicom-screenshot.png","datePublished":"2022-10-09T14:04:39+00:00","dateModified":"2022-11-30T22:06:39+00:00","author":{"@id":"https:\/\/cbrell.de\/blog\/#\/schema\/person\/7cf529e46faf1fd7b2b6942fec254c58"},"description":"Entwicklungsumgebung f\u00fcr C auf de Raspberry Pi Pico einrichten - das geht mit wenigen Befehlen auf dem Mac im Terminal.","breadcrumb":{"@id":"https:\/\/cbrell.de\/blog\/raspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cbrell.de\/blog\/raspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/cbrell.de\/blog\/raspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos\/#primaryimage","url":"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/10\/Hallo-Welt-Pico-Test-serielle-Ausgabe-minicom-screenshot.png","contentUrl":"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2022\/10\/Hallo-Welt-Pico-Test-serielle-Ausgabe-minicom-screenshot.png","width":616,"height":492},{"@type":"BreadcrumbList","@id":"https:\/\/cbrell.de\/blog\/raspberry-pico-programmieren-mit-c-und-visual-studio-code-auf-apple-macos\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/cbrell.de\/blog\/"},{"@type":"ListItem","position":2,"name":"Raspberry Pico programmieren mit C und Visual Studio Code auf Apple macOS"}]},{"@type":"WebSite","@id":"https:\/\/cbrell.de\/blog\/#website","url":"https:\/\/cbrell.de\/blog\/","name":"Bienen, Natur und Internet of Things","description":"Alles, was einfach ist. Von Claus Brell","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cbrell.de\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Person","@id":"https:\/\/cbrell.de\/blog\/#\/schema\/person\/7cf529e46faf1fd7b2b6942fec254c58","name":"Claus Brell","description":"Seit 2021 forsche ich an und mit Bienen (Digitalisierung der Imkerei) Seit 2012 Professur f\u00fcr Wirtschaftsinformatik an der Hochschue Niederrhein. Seit 1981 treibt mich die Frage um: Was haben Physik, Heavy Metal und Spiele miteinander zu tun? Drei m\u00f6gliche Antworten: {nichts | 42 | gleiche Hirnareale werden aktiviert}","sameAs":["http:\/\/claus-brell.de","https:\/\/x.com\/clausbrell5859","https:\/\/www.youtube.com\/@clausbrell5859"],"url":"https:\/\/cbrell.de\/blog\/author\/clausb\/"}]}},"_links":{"self":[{"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/posts\/2897","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/comments?post=2897"}],"version-history":[{"count":13,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/posts\/2897\/revisions"}],"predecessor-version":[{"id":2901,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/posts\/2897\/revisions\/2901"}],"wp:attachment":[{"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/media?parent=2897"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/categories?post=2897"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/tags?post=2897"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}