mylogin ALL=(root) NOPASSWD: /usr/bin/avrdude
mylogin ALL=(root) NOPASSWD: /usr/bin/avarice
Home - Downloads - Docs - Hardware - Source - News - Blog |
Tic-Tac-Toe ReloadedWebseite zum Workshop auf den Chemnitzer Linuxtagen 2012. Der Workshop findet am 17. März 2012 um 10.00 Uhr im Raum K1 statt. Unter http://chemnitzer.linux-tage.de/2012/vortraege/864 befindet sich das Anmeldeformular. Der Workshop ist mittlerweile (2012-02-17) bereits ausgebucht. Für bereits angemeldete Teilnehmer besteht die Möglichkeit, eine zweite Person mit am Workshop teilnehmen zu lassen, die mit ihnen gemeinsam arbeitet (d. h. unter Benutzung desselben Hardware-Setups). News zum WorkshopAn dieser Stelle zunächst ein Dankeschön an alle Teilnehmer, der Workshop mit euch hat uns sehr viel Freude gemacht. Wir hoffen natürlich, euch auch. Hier sind die Links zu den Archiven:
Probleme unter MAC-OS
Das Problem, das sich während des Worshops zeigte, tritt (plattformunabhängig) auf, wenn ein GCC >=4.6.x verwendet wird. Die Lösung gibt es hier. Wie sind die Platinen entstanden?
Wie versprochen, gibt es hier noch eine bebilderte Dokumentation, die die Herstellung der Platinen auf dem heimischen Basteltisch zeigt. ÜberblickDas Spiel Tic-Tac-Toe wird in einer Hardwareversion neu implementiert, wobei die entwickelte Schaltung bewußt minimalistisch gehalten wurde. Zur Steuerung des Spiels kommt ein Mikrocontroller ATmega128RFA1 zum Einsatz, über dessen Funkschnittstelle die beiden Spielgegner kommunizieren. Die Eingabe erfolgt jeweils über ein kapazitives oder resistives Touchfeld, und zur Anzeige des Spielstandes werden zweifarbigen LEDs eingesetzt. Die wichtigsten Fragen zum Workshop
Die HardwareBilder zum Vergößern anklicken. Das Hardware-Set besteht aus zwei Platinen, die mit einem ATmega128RFA1 bestückt sind. Dieser 8-Bit-Controller der Firma Atmel besitzt neben 128 KiByte FLASH-Programmspeicher, 16 KiByte RAM und 4 KiByte EEPROM noch eine Funkschnittstelle nach dem IEEE-802.15.4-Standard, die zur Kommunikation zwischen den beiden Spielern benutzt wird. An die digitalen IOs des Controllers sind die LED-Matrix und die Berührungssensoren angeschlossen. Auf jedem Board ist der JTAG-, UART- und I2C-Port herausgeführt, so dass im Anschluss an den Workshop eigene Hardware-Erweiterungen vorgenommen werden können. Jedes Board wird über 2xLR03-Batterien mit der notwendigen Betriebsspannung versorgt. Die KostenDa es Platinen und Bauelemente nicht kostenlos gibt, müssen wir die Materialkosten auf euch umlegen. Für 25,- EUR bekommt ihr ein Tic-Tac-Toe-Set bestehend aus je einer kapazitiven und einer resistiven Platine, einem JTAG-Adapter, Batterien und einer CD mit der Software. Zu erwähnen bleibt noch, dass dieser für eine Kleinserie sehr günstige Preis zustande kommt, da uns folgende Firmen unterstützten:
Zuzüglich zu den Hardwarekosten ist noch eine Workshopgebühr von 5,-EUR an die Organisatoren des Linuxtages zu bezahlen, so dass euch der ganze Spass insgesamt 30,- EUR kostet. Der Workshop InhaltIm Workshop wird die Software in einzelnen Teilmodulen (Tastaturscan, LED-Ansteuerung, Funkkomunikation und Spiellogik) auf dem Mikrocontoller entwickelt und debuggt. Dabei kommt die AVR GNU-Toolchain und ein JTAG-Debugger vom Typ AVR Dragon zum Einsatz. Hauptaugenmerk liegt dabei vor allem auf direkter Bedienung der Hardware sowie auf dem Kennenlernen entsprechender Konzepte wie Zeitmulitplex-Ansteuerung, resistive und kapazitive Sensortechnik ("touch"). Für die Funkkommunikation kommt die µracoli-Bibliothek zum Einsatz, da eine "from scratch"-Implementierung den zeitlichen Rahmen sprengen würde. VorbereitungHardware
Um erfolgreich auf dem Workshop Embedded Software zu übersetzen und debuggen, solltet ihr folgendes mitbringen:
Software
Zunächst einmal ist es notwenig, Administrationsrechte auf dem Laptop zu haben,
um auf den Programmer zugreifen zu können (oder fehlende Software nachinstallieren
zu können). Unter Ubuntu ist die sudo-Fähigkeit bereits eingebaut. Unter Fedora
beispielsweise ist diese leicht nachzurüsten.
Um die beiden Tools
Die Installation der nötigen Pakete kann auf verschiedene Weise erfolgen. Bei Verwendung einer relativ aktuellen Linux-Distribution kann der Paketmanager bemüht werden: Unter Debian und Ubuntu sollte dies mit dem folgenden Kommando erfolgen:
Unter Fedora heisst das entsprechende Kommando:
Über Hinweise, wie Nutzer anderer Distributionen zum gewünschten Ergebnis kommen, wären wir dankbar. Schließlich ist es auch möglich, die AVR-Toolchain selbst zu kompilieren. Wie das geschehen kann, ist auf einer separaten Seite nachzulesen. Erste Softwaretests
Erste Tests der installierten Toolchain sind von Vorteil. avrdude Der verwendete Controller
avr-libc Die AVR-libc sollte in der Version ab 1.7.1 vorliegen. Das kann beispielsweise folgendermaßen abgefragt werden:
Wenn das Kompilieren des kleinen Testprogramms (unten) fehlerfrei durchläuft, ist die installierte Version der AVR-libc ausreichend. Ein einfaches Programm kompilieren Nun sollte es möglich sein, testweise ein kleines C-Programm zu kompilieren, um die Toolchain zu testen. Hierfür eignet sich das kleine Programm avrtest.c Nach Ausführen der folgenden Kommandos sollte ein File
Bei der Ausführung der beiden Kommandos sollten keine Fehlermeldungen oder
Warnungen ausgegeben werden. Alternativ kann über die zusätzliche Option
Für Fragen oder Hinweise wendet Euch bitte an unsere auf der Workshopseite angegebenen E-Mail-Adressen. GCC ProblemDas Problem beim Übersetzen von µracoli unter MAC-OS konnten wir leider erst nach dem Workshop lösen. Die Fehlermeldung war:
Der Fehler trat im Zusammenhang mit PGM_P auf und wie sich herausstellte, waren einige fehlende "const" Statements die Ursache. Der Patch uracoli-src-0.2.0-gcc_4.6.x.patch beseitigt das Problem. Er ist wie folgt zu anzuwenden:
|
more topics |
Last modified: 2017-06-04 |