Auf diesen Seiten möchte in Anfängern den Einstieg in die Welt der programmierbaren Logik vereinfachen. Ich arbeite mich derzeit selbst in das Thema ein und sammele hier meine Erfahrungen.
Als Student der Elektrotechnik im dritten Semester haben wir die nötigen Grundlagen der Digitaltechnik bereits behandelt. Grundkenntnisse der Elektronik, Digitaltechnik, Hardwarebeschreibungssprachen (VHDL, Verilog) und der Mikrocontroller Programmierung sind von Vorteil.
Leider gibt es im Bereich programmierbarer Logik keine Open Source Tools wie die GNU Compiler Collection (gcc) für Mikrocontroller und embedded Systeme.
Die beiden Markführer Xilinx und Altera haben beide eigene, proprietäre Softwareprodukte. Glücklicherweise bietet Xilinx mit dem WebPack eine kostenlose Version seiner Entwicklungsumgebung ISE auch für Linux an.
Debian nutzt die dash als Ersetz für /bin/sh. Das führt leider dazu, dass der Installer an einigen Stellen hängen bleibt.
Es empfiehlt sich daher den Installer explizit mit der bash zu starten:
bash install.sh
Die aktuelle ADEPT Runtime Version (2.8.2) für Linux enthält einen Bug, der die udev Erkennung auf Systemen mit aktuellen Kerneln verhindert. Das ganze lässt sich mit folgendem Fix beheben.
Dazu einfach folgenden Teil der install.sh ersetzen
if [ "${szVmjr}" = "2" ]
then
if [ "${szVmin}" = "6" ]
then
if (( ${szVmic} >= 13 ))
then
if (( $cprocUdev ))
then
let fUseUdev=1
fi
fi
fi
fi
durch
if [ "${szVmjr}" = "2" ]
then
if [ "${szVmin}" = "6" ]
then
if (( ${szVmic} >= 13 ))
then
if (( $cprocUdev ))
then
let fUseUdev=1
fi
fi
fi
elif [ "${szVmjr}" = "3" ]
then
if (( $cprocUdev ))
then
let fUseUdev=1
fi
fi
ADEPT 2 installiert unter Linux Regeln für die Erkennung von USB Boards mit. Debian Squeeze erlaubt standardmäßig nur root den Schreibzugriff auf USB-Geräte. Um diese Default-Regel zu überschreiben muss die Regel-Datei von Digilent umbenannt werden:
sudo mv /etc/udev/rules.d/digilent-usb.rules /etc/udev/rules.d/95-digilent-usb.rules
In den letzten Versionen von udev wurde das Format zur Beschreibung der Regeln geändert. Der folgende Auszug enthällt die korrigierten Regeln:
# Create "/dev" entries for Digilent device's with read and write
# permission granted to all users.
SUBSYSTEM=="usb", ATTR{idVendor}=="1443", MODE="0666"
SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="0403", ATTR{manufacturer}=="Digilent", MODE="666", RUN+="/usr/local/sbin/dftdrvdtch %s{busnum} %s{devnum}"