guten Rutsch

Ich wünsche all meinen Lesern einen guten Rutsch ins neue Jahr und viel Glück für 2008.

altstadt.jpg

In diesem Sinne, feiert schön..

abgelegt unter bitcycle.de - 30. Dezember 2007   Kommentare (0)

Sicherheitshinweis

Seit wenigen Tagen kann man den Waldorf Blofeld wirklich kaufen.

Da das Gerät sehr viel zu einem wirklich interessanten Preis verspricht, habe ich mal einen Blick in die Bedienungsanleitung geworfen:

blofeld.png

Stümmt ;-)

Ich hoffe der Kleine hält was er verspricht, schade nur das der Waldorf-typische rote Knopf fehlt…

abgelegt unter diverses, witziges - 24. Dezember 2007   Kommentare (0)

AVR Dragon unter Linux

Der AVR Dragon ist ein vielseitiger USB-Programmer für AVR Mikrocontroller.
Mit Avrdude lässt er sich auch unter Linux betreiben.

Installation

Nach dem Anstecken wird überprüft, ob der Dragon vom System erkannt wurde:

Bash:
  1. tux@machine:~$ lsusb
  2. Bus 004 Device 001: ID 0000:0000
  3. Bus 003 Device 001: ID 0000:0000
  4. Bus 002 Device 006: ID 03eb:2107 Atmel Corp.
  5. Bus 002 Device 001: ID 0000:0000
  6. Bus 001 Device 001: ID 0000:0000

USB-Devices werden von Avrdude ab Version 5.2 unterstützt. Ich verwende momentan Version 5.4.
Als erstes werden die Quellen von Avrdude heruntergeladen und entpackt.

Zum Umgang mit USB-Geräten benötigt Avrdude libusb. Diese muss ggf. installiert werden.

Jetzt Avrdude kompiliert und ggf. ein Paket erzeugt werden:

Bash:
  1. tux@machine:~$ ./bootstrap
  2. tux@machine:~$ ./configure –enable-usb=yes
  3. tux@machine:~$ make
  4. tux@machine:~$ make install

Um auch als normaler User via Avrdude auf USB-Geräte zugreifen zu können muss Avrdude suid root aufgeführt werden. z.B.:

Bash:
  1. tux@machine:~$ chown root:root /usr/local/bin/avrdude
  2. tux@machine:~$ chmod 4755 /usr/local/bin/avrdude

Anwendung

Der Avr-Dragon beherscht folgende Programmiermodi, welche bei der Angabe des Programmertyps (-c) an Avrdude übergeben werden.

  • dragon_isp - ISP
  • dragon_jtag - JTAG
  • dragon_dw - Debugwire
  • dragon_hvsp - High voltage serial
  • dragon_pp - High voltage parallel

Avrdude kann Programmer an Hand der Seriennummer absprechen. Dadurch kann man mehrere AVR-Dragons an einem System betreiben.
Als Port (-P) wird usb bzw. usb+Seriennummer angegeben.

Um die Seriennummer(n) festzustellen wird eine ungültige Seriennummer übergeben und der verbose mode (-v) eingeschaltet. Ein µC-Typ(-p) muss dabei mit übergeben werden, braucht aber nicht mit dem Dragon verbunden zu sein.

Bash:
  1. tux@machine:~$ avrdude -p ATMEGA16 -c dragon_isp -P usb:x -v
  2.          Using Port            : usb:00:a2:00:01:43:ff
  3.          Using Programmer      : dragon_isp
  4. avrdude: usbdev_open(): Found AVRDRAGON, serno: 00A2000043FF

Die Seriennummer kann auch als Teilmaske angegeben werden (z.B. usb:43:ff) sofern sie eindeutig im System ist.

Nachdem der AVR mit dem Dragon verbunden wurde kann dieser z.B. im Terminalmode von Avrdude bearbeitet werden:

Bash:
  1. tux@machine:~$ avrdude -p ATMEGA64 -c dragon_isp -P usb -t
  2.  
  3. avrdude: AVR device initialized and ready to accept instructions
  4.  
  5. Reading | ################################################## | 100% 0.00s
  6.  
  7. avrdude: Device signature = 0×1e9602
  8. avrdude> part
  9. >>> part
  10.  
  11. AVR Part              : ATMEGA64
  12. Chip Erase delay      : 9000 us
  13. PAGEL                 : PD7
  14. BS2                   : PA0

Vorsicht Falle

Der AVR-Dragon ist werksseitig auf eine ISP-Frequenz 1MHz eingestellt. Atmel liefert die AVRs werksseitig mit einer Taktfrequenz von 1MHz (intern RC) aus.

Um programmieren bzw. Fuses ändern zu können, muss f_ISP < f_CLK/4 sein.
Auch Schaltungen mit entsprechenden externen Quarz lassen nicht ansprechen, da die Fuse für den externen Oszillator nicht gesetzt werden kann.

Die ISP-Frequenz des Dragon lässt sich mit AVR-Studio unter Windows ändern. Sinnvoll sind 125kHz - so kann jeder AVR angesprochen werden.

abgelegt unter Software, Linux - 21. Dezember 2007   Kommentare (0)


valid xhtml Valid CSS powered by Wordpress