Nachdem ich vor einiger Zeit die Quartus Prime Lite Version 18.1 installiert und meine Installation beschrieben habe, bekam ich eine Rückmeldung von einem Leser, das bestimmte Funktionen nicht gehen.
Dazu gehört u.a. der direkte Aufruf von ModelSim aus Quartus heraus. Zur Fehlersuche habe ich erst die im Moment aktuelle Version 19.1 installiert, um zu prüfen, ob der Fehler auch dort auftritt. Da dies der Fall war, habe ich Anpassungen an den Startskripten vorgenommen, damit die von ModelSim benötigten 32-Bit Bibliotheken gefunden werden.
Außerdem gibt es ein neues Problem beim generieren des GHRD für das DE10-Nano Board, was in der alten Version (18.1) noch funktioniert hat.
Aus diesen Gründen habe ich mich dazu entschlossen, die Installationsdokumentation für die 19.1 Version als neuen Eintrage zu erstellen.
Da das Betriebssystem und der Bootloader die mit der SystemCD des Terasic DE10 Nano Boards mitgeliefert wurden ziemlich alt sind, habe ich mich damit beschäftigt die aktuellen Mainline Versionen zu nutzen.
Dazu gehört die aktuelle Version von u-boot (Bootloader), einem aktuellen Linux Kernel (v5.1) und einem Root Filesystem auf Debian Basis. Dabei habe ich mich an diesem Skript orientiert, da mir die Ordnerstruktur und das Skript zugesagt haben.
Bei Interesse findet man meine Ergebnisse unter https://github.com/svenpaass/de10nano_template. Dies soll für mich als Template für weitere Projekte dienen. Evtl. werde ich das Root-Filesystem in Zukunft durch busybox o.ä. ersetzen.
Es gibt mal wieder ein neues Gadget. Das Terasic DE10-Nano Entwicklungsboard. Man bekommt es für einen vernünftigen Preis z.B. bei Mouser.
Initial wollte ich das Board "nur" für die Installation und Nutzung von MiSTer verwenden, da die Amiga und C64 Cores sehr gut funktionieren.
Da mich FPGAs aber schon länger fasziniert haben, wollte ich mich damit etwas intensiver in meiner Freizeit beschäftigen. Dazu benötige ich aber eine Entwicklungsumgebung, für die es keine macOS Version von der Altera (bzw. mittlerweile Intel) gibt. Ich habe mich daher dazu entschieden, eine Ubuntu Desktop Maschine unter VMWare Fusion zu betreiben, und die USB Verbindungen zum Entwicklungsboard (UART, USB Blaster) durchzuleiten.
Da ich bei meinem aktuellen Arbeitgeber im Projekt viel Kontakt mit dem Microsoft SQL Server habe, wollte ich die Linux Version ausprobieren, um eine lokale SQL Server Datenbank für Entwicklungszwecke zu haben.
Bei der empfohlenen Ubuntu Version 16.04 gibt es keine Probleme bei der Installation. Für die 18.04 LTS Version mussten Anpassungen gemacht werden. Von Microsoft ist diese Installation zwar nicht supported, aber für eine Entwicklungsmaschine reicht mir das.
Ubuntu 18.04 LTS benutzt zur Netzwerkkonfiguration netplan. Dies ist eine Konfigurationsdatei mit YAML Syntax. Da per default dhcp verwendet wurde, nutze ich diesen Post um mir zu merken, was ich für eine statische IP anpassen muss.
Damit man unter VMWare die Shared Folder mit den open-vm-tools verwenden kann muss u.a. das Standard-Mountverzeichnis angelegt werden.
Da es einige Probleme gab, den XRDP Server unter Ubuntu 18.04 LTS zum laufen zu bringen, habe ich hier die Lösung dokumentiert, die mir letztlich weitergeholfen hat.
Da ich mich hin und wieder mit automatisierter Installtion und Konfiguration beschäftige, habe ich mir eine lokale Chef-Testumgebung eingerichtet, die ich auf meinem MacBook ausführe. Es besteht aus dem Chef-Server, den zu verwaltenden Knoten und den Chef-Client-Tools.
Aktuell beschäftige ich mich wieder mit dem Thema virtualisierte Linux Desktops. Die VM wird mittels Vagrant installiert, aber ohne Nacharbeiten, passen die Tastatureinstellungen nicht mit der MacBook bzw. Mac Tastatur überein.
Damit ich nicht ständig nach der Lösung suchen muss, habe ich sie hier dokumentiert ...
Nachdem ich endlich den Autolevel-Sensor montiert habe, wollte ich eine neue Version von Marlin hochladen. Dabei hat es leider den Bootloader des Anet Boards zerschossen. Das ist erstmal ein Problem, da der Drucker damit tot ist und nichts mehr macht oder anzeigt. Jeder Versuch eine andere oder alte Firmware hochzuladen wird mit Fehlermeldungen quittiert:
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
usw.
Glück im Unglück. Ich hatte noch ein Arduino Uno Board bei mir rumliegen ...
Nach den ersten Testdrucken von Würfeln, wie z.B. XYZ 20mm Calibration Cube oder einer Eule (Owl statue) für meine Frau, kommt der Wunsch, die Druckqualität und Präzession zu erhöhen.
Daher folgt eine Serie von Dingen, die ich durchgeführt habe um den Drucker zu kalibrieren. Desweiteren werde ich die Erweiterungen, die ich angebracht habe und für sinnvoll halte hier auflisten.
Abschließend mache ich noch ein Backup von der SD-Karte...
Nachdem auch der Octoprint Server läuft, wird noch etwas zusätzliche Software und die Arduino Umgebung installiert, um dem Drucker die Marlin Firmware zu spendieren.
Die Grundinstallation des Raspberry Pi wurde im vorherigen Teil abgeschlossen. Jetzt kommt die Installation des Druckservers Octoprint dran.
Nachdem ich nun etwas Erfahrung mit meinem 3D Drucker sammeln konnte, bleibt es nicht aus, das Gerät in mein Heimnetzwerk aufzunehmen. Dazu habe ich den Raspberry Pi 3, den ich noch hatte mit einer IR-Camera und IR-LEDs ausgestattet. Mittels eines Reverse Proxies kann ich von überall auf den Drucker zugreifen und mir den Status anschauen.
Hier folgt die Einrichtung des Raspi inkl. des Druckservers Octoprint.