Skip to content
Snippets Groups Projects
Select Git revision
  • 45c4b0d56a77db2a0c545c95b9c019e3c0b6d1d3
  • main default
2 results

embedded-systems

  • Open with
  • Download source code
  • Your workspaces

      A workspace is a virtual sandbox environment for your code in GitLab.

      No agents available to create workspaces. Please consult Workspaces documentation for troubleshooting.

  • Downlaod

    git clone --recursive git@code.fbi.h-da.de:eingebettete-systeme/raspberry-pi-pico/ws2024.git

    oder

    git clone git@code.fbi.h-da.de:eingebettete-systeme/raspberry-pi-pico/ws2024.git
    git submodule update --init --recursive

    Wenn ihr eures eigenes git Benutzten wollt müsst ihr den .git Ordner löschen.

    rm -rf .git
    git init
    git add .
    ...

    Entwicklungsumgebung

    Im Rahmen des Praktikums kommen folgende Entwicklungstools zum Einsatz:

    code (Visual Studio Code)
    cmake
    openocd
    minicom
    arm-none-eabi-binutils
    arm-none-eabi-gcc
    arm-none-eabi-gdb
    arm-none-eabi-newlib

    Für VSCode brauchen wir folgende Erweiterung:

    Virtual Box

    Ein aktualisiertes OVA Linux-Image für VirtualBox ist auf der Labor-Webseite verfügbar. Dieses Image enthält bereits alle erforderlichen Entwicklungstools vorinstalliert. Bitte beachten Sie, dass beim Einsatz von VirtualBox die notwendigen USB-Geräte entsprechend durchgereicht werden müssen.

    Windows WSL

    Eine detaillierte Installationsanleitung für WSL finden Sie auf der offiziellen Microsoft-Webseite. Um die Installation zu starten, führen Sie den folgenden Befehl in PowerShell aus:

    wsl --install

    Um USB-Geräte innerhalb von WSL verwenden zu können, nutzen wir USB/IP. Eine ausführliche Installationsanleitung dazu finden Sie hier. Installieren Sie USB/IP unter Windows mit dem folgenden PowerShell-Befehl:

    winget install --exact dorssel.usbipd-win

    Die angeschlossenen USB-Geräte können mit dem folgenden Befehl in PowerShell angezeigt werden:

    usbipd list

    Die Ausgabe des Befehls sollte in etwa folgendermaßen aussehen:

    Connected:
    BUSID  VID:PID    DEVICE                                                        STATE
    10-1   2e8a:000c  CMSIS-DAP v2 Interface, USB Serial Device (COM4)              Not shared
    
    Persisted:
    GUID                                  DEVICE

    Bevor ein USB-Gerät an WSL angebunden werden kann, muss das Gerät für die Freigabe mittels des Befehls usbipd bind vorbereitet werden. Dieser Schritt erfordert Administratorrechte. Nach der Bindung sollte der Status des Geräts auf "Shared" wechseln. Verwenden Sie den folgenden Befehl in PowerShell mit Administratorrechten, um das Gerät freizugeben:

    usbipd bind -i 2e8a:000c

    Das USB-Gerät kann mit dem folgenden Befehl an WSL angebunden werden. Dieser Schritt muss nach jedem Neustart des Computers wiederholt werden. Eine Automatisierung ist durch den Einsatz des Aufgabenplaners (taskschd.msc) möglich:

    usbipd attach -awi 2e8a:000c

    Für die Installation der Tools innerhalb von WSL, beziehen Sie sich bitte auf die Ubuntu-Installationsanleitung.

    Für die Entwicklung mit Visual Studio Code verwenden wir die WSL-Erweiterung, die eine nahtlose Integration von VSCode mit dem Windows Subsystem for Linux ermöglicht. Eine detaillierte Anleitung zur Einrichtung und Nutzung finden Sie hier.

    In der Konfigurationsdatei .vscode/launch.json muss der miDebuggerPath auf gdb-multiarch angepasst werden, um den entsprechenden Debugger für die Entwicklung zu spezifizieren. Der angepasste Teil der Konfiguration sollte wie folgt aussehen:

    {
        "configurations": [
            {
                "miDebuggerPath": "gdb-multiarch",
            }
        ],
    }

    Ubuntu

    sudo apt install make openocd minicom binutils-arm-none-eabi gcc-arm-none-eabi gdb-multiarch libnewlib-arm-none-eabi

    Archlinux

    btw

    pacman -S make openocd minicom arm-none-eabi-binutils arm-none-eabi-gcc arm-none-eabi-gdb arm-none-eabi-newlib