-
Notifications
You must be signed in to change notification settings - Fork 0
Software_WSL
[TOC]
De opdrachten moeten thuis op een pc uitgevoerd worden. We maken daarbij gebruik van een groot aantal programma's. De eenvoudigste manier om dit te doen is door gebruik te maken van Windows Subsystem for Linux (WSL). De stappen gaan ervan uit dat jouw Windows systeem up-to-date is met de laatste windows-update versies en virtualisatie aan heeft staan.

wsl --install --no-distribution . Onderstaande afbeelding laat zien hoe dit eruit ziet op een nieuwe installatie van Windows 11 Home versie 25H2:

Als er om administratie rechten wordt gevraagd kun je deze accepteren.
Start de computer nu opnieuw op.
De docent heeft een image gemaakt op basis van Arch Linux waar de benodigde software op is geïnstalleerd. Download de 3 bestanden uit deze map per stuk, naar bijvoorbeeld c:\ems31_wsl\ of %HOMEPATH%. De hele WSL machine zal zich in deze map bevinden. Voer het EMS31_registreren script uit door erop te dubbelklikken (en eventueel het start-verzoek goed te keuren), dit installeert de ESM31 distributie. Dit kan even duren dus heb geduld.
N.B. standaard laat Windows geen bestandsextensies zien, dus het bestand heet misschien EMS31_registreren zonder .cmd extensie op jouw systeem.

Je kunt controleren of het is gelukt door op het EMS31 script dubbel te klikken of in een terminal (CMD of PowerShell) het commando wsl -d EMS31 uit te voeren.

Je kunt de ems31.tar(.gz) en EMS31_registreren(.cmd) bestanden verwijderen om meteen wat schijfruimte vrij te geven.
We zullen als IDE Visual Studio Code gaan gebruiken. Dit is een super aanpasbaar programma wat voor vele doeleinden kan worden gebruikt. Van Python en C tot Rust op microcontrollers. VS Code heeft standaard ook de optie om gekoppeld te worden aan de WSL instantie. Dit gaan we dan ook doen.
De makkelijkste weg om dit te installeren is via de windows package manager. Open een CMD venster zonder rechten en voer het volgende commando uit:
winget install vscode


VSCode werkt op basis van extensies. Installeer de remote extensie door eerst in de meest linker balk op het roostertje te klikken, vervolgens te zoeken naar remote en dan op install te klikken voor de 'Remote Development' extensie.

Met de extensie kunnen we nu verbinding maken met de WSL instantie. Druk in VSCode op links op het "Remote Explorer" icoontje (computerscherm met bolletje). Zorg ervoor dat links boven "WSL Targets" is geselecteerd. Hou je muis over de EMS31 en druk op het pijltje. Dit zorgt ervoor dat VSCode verbinding gaat maken met de EMS31 instantie.

Er wordt verbinding gemaakt en een VSCode-server wordt onder de WSL instantie gestart:

Waarschijnlijk zijn wat extensies binnen de EMS31 image verouderd. VSCode zal de laatste versies ophalen en een "Update" of "Reload extensions" knop tonen naast de betreffende extensies. Klik hierop om de extensies te updaten en/of te herladen.
Het bovenste icoontje van de linker balk heet de "explorer". Dit is in feite de bestandsverkenner. Klik op "Open Folder" en ga naar "Opdrachten/Hallo_EMS31". Klik op "OK"

Bij het openen van nieuwe mappen zal VSCode altijd nagaan of je dit vertrouwt. Je kunt dit natuurlijk accepteren door op "Yes, I trust the authors" te klikken. Je kunt ook het vinkje aanzetten.

CMake zou kunnen vragen welke toolkit je wilt gebruiken. Je kunt hier op de optie klikken met Using compilers C = /usr/sbin/gcc. Mocht het venstertje verdwijnen dan kun je op de onderste balk van VS Code op "No active kit" drukken.

Het project maakt gebruik van CMake in plaats van Makefiles. Het CMakeList bestand in de map beschrijft het project en wat er gecompileerd moet worden. Dit is nu ingesteld dat main.c en alle bestanden in de "src" folder worden meegecompileerd. De EMS31 WSL instantie heeft al een aantal extensies geïnstalleerd staan, waaronder CMake.
Je kunt een breakpoint in main.c zetten en debuggen om te kijken of alles werkt door in de onderste balk op het kevertje te klikken.

Gezien bij EMS31 er veel met Git wordt gewerkt is het handig ook alvast Git te configureren binnen de EMS31 WSL-instantie. Je kunt hiervoor de stappen volgen van deze handleiding
Na afloop van dit vak wil je misschien de instantie van je computer halen. Dit kun je doen door een terminal te openen (CMD of PowerShell) en dan wsl --unregister EMS31 uit te voeren.
Bij EMS10 en EMS20 heb je al gebruik gemaakt van Code Composer Studio (CCS) van Texas Instruments om de EXP430G2ET LaunchPad en de CC3220S LaunchPad te programmeren. Deze Launchpads gaan je bij EMS31 ook weer gebruiken. We raden je aan om Code Composer Studio versie 12.4 en de SimpleLink CC32XX SDK versie 6.10 te installeren. Je kunt hiervoor de stappen volgen van deze handleiding.
De EMS31 distributie maakt gebruik van Arch Linux.
De package manager van Arch Linux heet "pacman".
Arch Linux maakt gebruik van een rolling release systeem.
Dit betekent dat, in tegenstelling tot Ubuntu, je vrijwel altijd up-to-date bent.
Onderstaande commando's maken gebruik van het commando sudo (SuperUser DO) om de benodigde rechten te verkrijgen.
Als er om een wachtwoord wordt gevraagd, vul dan "ems" in.
De commando's moet je invullen zonder het dollarteken($).
Om alle packages (software) van het systeem bij te werken:
$sudo pacman -Syu
Of als je dit al een tijd niet gedaan hebt, is het verstandig eerst de keyring te updaten om de laatste keys binnen te halen met
$sudo pacman -Sy archlinux-keyring
Elk ander programma kun je op dezelfde manier installeren. Om te zoeken kun je het volgende commando gebruiken:
$sudo pacman -Ss ikzoekiets
Of je bekijkt de wiki page van pacman. Sowieso is de Arch Linux wiki erg uitgebreid en kun je over vrijwel elk onderwerp wel iets vinden.