Mijn buurman heeft 2 picoboards (dat zijn van die bordjes waar electronica op aangesloten is) en heeft een Github repository gevonden om vanaf de computer code te bouwen, dat op het picoboard te zetten en dan zou dat dingen moeten doen. De instructies daarvan zijn om dat met Visual Studio Code te gebruiken. Omdat mijn buurman niet eerder met Visual Studio Code gewerkt heeft en hij weet dat ik software developer ben, een logische vraag. Ik werk meestal in Visual Studio (dat is zeg maar de "grote broer" van Visual Studio Code), maar zo nu en dan werk ik wel in VSC. Dat zijn dan meestal wat tekstuele aanpassingen, niet het "bouwen" van applicaties.
Hier onder staan mijn uitwerkingen, wil je meteen door naar het deel van de code waar ik het werkend gekregen heb, klik dan hier.
Eerst maar eens beginnen met de code, ik heb deze uitgecheckt op mijn computer: https://github.com/WIZnet-ioNIC/WIZnet-PICO-C
Probleem 1: foutmelding bij uitchecken.
Mijn buurman stuurt een screenshot mee van een foutmelding die hij krijgt, 2 afbeeldingen kan hij niet uitchecken "omdat het pad te lang is". Dat heb je als je in Windows werkt, het is een overblijfsel uit de MS-DOS tijd. De locatie (dus alle mappen) en de bestandsnaam kunnen maximaal 256 tekens zijn. De bestanden uit deze repository gaan redelijk diep, dus het is verstandig om te kijken waar je dit op je computer uitcheckt. In mijn geval is dat op een partitie, in de map Github, dat gaat prima.
Probleem 2: tools missen.
In de README.md van het project wordt verwezen naar Tera Term. Die URL werkt niet meer. Gezocht en de wikipedia-pagina over deze tool gevonden. En op basis daarvan de repository en een download-locatie gevonden. Ik zie in de commits wat Chinese tekens staan en als de rest dan in het Engels is, dan krijg ik wat jeuk. Is deze code wel vertrouwd? Volgens een follow-up van de buurman hebben we deze tool mogelijk (nog) niet nodig, dus ik wacht eerst ook even met installatie.
Probleem 3: ik kan niet builden.
Als ik naar de map network_install ga in het project, krijg ik linksonder in VSC de optie "build" beschikbaar. Klik ik daarop, dan krijg ik bovenin het scherm een soort dropdown waar ik uit 3 opties kan kiezen, maar die mij eigenlijk al het idee geven: dit gaat niet werken. En dat is dus ook zo, het werkt niet. Bij de extensies in VSC heb ik zowel "C/C++ extension pack" als "CMake Tools" geïnstalleerd. Het lijkt erop dat cmake niet op mijn computer staat, dus ik ben naar cmake.org/download gegaan en heb hier de installer gedraaid. Het builden gaat beter, maar ik krijg nu weer een foutmelding. Ik hou op.
- update van de buurman -
Mijn buurman heeft in de tussentijd ook wat acties uitgevoerd, nog niet kunnen builden. Maar heeft de officiële extensie Raspberry Pi Pico van raspberrypi.com geïnstalleerd en heeft daar ook een voorbeeld van werkend gekregen. Maar dat zorgt er nog niet voor dat de code uit de bovenstaande Github-repo te builden is.
- vervolg van mij -
Ik ben bij probleem 3 blijven hangen, daar kan ik niet zo goed tegen. Hoewel ik andere dingen te doen heb is "het lukt me niet" iets waar ik jeuk van krijg en er vaak voor zorgt dat ik tot diep in de nacht net zolang doorga tot het werkt ;)
Dus op maandagavond, 11 augustus 2025 in mijn computerhok waar het 28 graden is, nog maar even door getypt:
Windows vervolg - werkt bij mij uiteindelijk niet.
Ik heb eerst nogmaals de installatie van CMake uitgevoerd, ik heb daar de Microsoft Installer gedownload. Ga naar de Downloads map. Klik met de rechtermuisknop op cmake-4.1.0-windows-x86_64.msi
Klik op Properties/Eigenschappen. Onderaan dit scherm zal staan dat het bestand geblokkeerd is, omdat je het vanaf het Internet gedownload hebt. Zet een vinkje bij Blokkering opheffen en klik op OK. Start cmake-4.1.0-windows-x86_64.msi vervolgens op.
Accepteer de license agreement en klik op Next. Laat het vinkje staan bij "Add CMake to the PATH environment variable". Klik op Next. De standaard installatie-locatie is goed, klik op Next. En in het volgende scherm op Install om de installatie uit te voeren.
Hierna heb ik Visual Studio Code opnieuw opgestart. Ik ben in het linkerdeel weer naar de map network install gegaan.
In het menu vervolgens klikken op Terminal, New Terminal.
Je zit dan in een soort DOS-scherm in de hoofdmap, dus eerst naar examples en dan naar network_install.
Vervolgens voer ik daar cmake . uit. Foutmeldingen, het lukt niet, ik hou op met Windows.
Over naar WSL (Linux onder Windows) - dat werkt beter.
Ik ben overgegaan naar WSL, want vaak werken zulk soort zaken beter in Linux dan onder Windows.
Na aan sudo apt update en sudo apt upgrade kan ik een succesvolle sudo apt install cmake uitvoeren.
Als ik in de map network_install een cmake . uitvoer krijg ik wel wat waarschuwingen, maar ook een error, namelijk No CMAKE_CXX_COMPILER could be found.
Gelukkig is daar het wereldwijde internet en staat hier de oplossing: voer dit commando uit: sudo apt-get install build-essential
Daarna de volgende foutmelding: Unknown CMake command "pico_enable_stdio_usb".
Waarschijnlijk moet ik iets doen "voor" ik dit voorbeeld ga bouwen. Even bladeren, ik zie in de map libraries een map pico-sdk, waar een README.md in staat.
In CMakeLists.txt van network_install zet ik bovenin:
cmake_minimum_required(VERSION 3.13)# initialize the SDK directly
include(/mnt/c/github/WIZnet-PICO-C/libraries/pico-sdk/pico_sdk_init.cmake)
project(my_project)
# initialize the Raspberry Pi Pico SDK
pico_sdk_init()
Als ik dan een cmake . uitvoer gaan we een stuk verder (yay!), maar krijg ik weer een foutmelding: CMake Error: Error required internal CMake variable not set, cmake may not be built correctly.
Missing variable is: CMAKE_ASM_COMPILE_OBJECT
Oplossing wordt hier gedeeld, dat komt door mijn toevoeging hierboven van project(my_project)
project(my_project) dus vervangen met project(nrf CXX C ASM)
Hierna gaat het builden goed. Maar heb ik vervolgens nergens een .uf2 bestand... StackOverflow to the rescue!
Hier staat dat je na het cmake commando ook nog het make commando uit moet voeren. Dat doe ik, wel even met een "sudo make" om te zorgen dat ik voldoende rechten heb. Bepaalde stappen in dat proces duren lang. Build target mbedtls blijft nogal lang op 85% staan. Geduld is een schone zaak, maar uiteindelijk weer foutmeldingen. Via deze StackOverflow-post de actie uitgevoerd om deze tools te installeren: sudo apt install gcc-arm-none-eabi
Het lijkt erop dat "ASM" kapot gaat. Dus die haal ik uit de project(...) regel weg.
Extra mappen verwijderd en daarna een "schone" sudo cmake . en sudo make. Maar ook nu (het wachten duurt lang!) uiteindelijk weer een lijst met foutmeldingen.
Ik heb het dus nog niet werkend, maar omdat het inmiddels 23.30 uur geweest is sluit ik de boel af. Ik vul hier later dit bericht aan met fixes en hopelijk "dé oplossing".
16 augustus: een laatste poging! (Spoiler: gelukt!)
Ik ga de exacte stappen volgen die mijn buurman ook gevolgd heeft, dat in WSL doen en kijken of het mij dan wel lukt.
Zorg eerst dat je WSL (Windows Subsystem for Linux) op je computer hebt.
Start in powershell dit commando wsl.exe --install en vervolgens om bijvoorbeeld Ubuntu te draaien voer je wsl.exe --install -d Ubuntu-22.04 uit.
Uitchecken repository:
git clone --recurse-submodules https://github.com/WIZnet-ioNIC/WIZnet-PICO-C.git
cd WIZnet-PICO-C
Start daarna bash en installeer de benodigde bestanden. Mijn buurman had het ook al over de Raspberry Pi Pico extensie in Visual Studio code, bij de pagina van bovenstaande repo staat ook genoemd: "Getting started with Raspberry Pi Pico". Die verwijst naar deze PDF. Ik ga daar naar hoofdstuk 3, deel Toolchain voor Linux.
bash
sudo apt update
sudo apt upgrade
sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential
sudo apt install g++ libstdc++-arm-none-eabi-newlib
sudo apt install libftdi1-2
sudo apt install libhidapi-hidraw0
sudo apt install python3 git tar build-essential
Bij bovenstaande kreeg ik de melding dat alles al geïnstalleerd was. Dat is mooi. Start code en open daarbij het project.
code .
Omdat ik daar in Visual Studio Code geen build-knop heb, heb ik daar een aantal plug-ins geïnstalleerd.
- Raspberry Pi Pico (link)
Als ik dan op Build klik, komt weer die dropdown met het zoeken naar kits en dergelijke... toch maar voor de "Scan for kits" geklikt. En na een tijdje weer op Build geklikt: en nu staan er 2 entry's bij voor een GCC build! Die aangeklikt, vervolgens zie je dat het Build-proces start. Alleen... dat is niet alleen dit voorbeeld, alle onderdelen van de repository worden gebuild! Je bent wel een uur bezig voordat het compileren klaar is.
Maar dan heb ik in de map WIZnet-PICO-C een build map, ga ik naar examples en network_install, dan staat daar een wizchip_network_install.uf2 bestand (en nog wat meer bestanden). Uit de omschrijving had ik begrepen dat dit het bestand was wat je moet hebben, dus uiteindelijk is het toch gelukt.
Ik denk dat de conclusie kan zijn dat je het beste op Linux of via WSL kunt builden, want onder Windows moet je allemaal zaken aanpassen/inrichten en is het de vraag of het gaat werken.