Rumpus

From Lochraster

Jump to: navigation, search

Contents

[edit] Rumpus Projektseite

Dokumentation zum Rumpus Board

Für alle ungeduldigen die nach dem Aufbau sofort loslegen möchten gibt es einen Schnellstart. In 30 Minuten zum ersten eigenen Programm.

[edit] Aufbauanleitung

[edit] Wichtige Dokumentation (zum Controller)

[edit] Wichtige Dokumentation (zum rumpus-Board)

[edit] AVR/Mikrocontroller Tutorials

[edit] Grundlagen

[edit] Wichtige Programme

  • gcc-avr
  • binutils-avr
  • avr-libc
  • avrdude

[edit] avr-gcc bekommen

[edit] udev anpassen für rumpus Bootloader

(Dann sind keine rootrechte notwendig)

Für Ubuntu/Debian: Nach /etc/udev/local.rules:

   # rumpus board (U23)
   ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", MODE="0660", GROUP="plugdev"

[edit] WinAVR howto

  • WinAVR installieren, sonst nichts, kein avr studio
  • falls bereits Linux-Tools vorhanden waren: den System-Pfad korrigieren, da sonst evtl. schlechtere Versionen die bei WinAVR dabei waren benutzt werden (WinAVR trägt sich vorn ein)
  • Alle Konsolen schließen/neu öffnen bzw. gleich rebooten
  • C sollte sofort gehen (einfach "make" im passenden Verzeichnis)
  • Für ASM:
    • Makefile anpassen: "AS = avr-gcc"
    • .global-Definition in der ASM-Datei nicht vergessen
  • hoffentlich hab ich nix vergessen
  • Notepad++ ist ein brauchbarer, wenn auch nicht immer idealer, Editor.
  • Kompilieren/Flashen über die Konsole wie unter Linux

[edit] Bootloader flashen

Falls man nicht den Bausatz im Shop erworben hat, ist natürlich kein Bootloader auf dem nackten
Atmel Chip drauf. Dieser muss zuerst über den ISP6 Anschluss geflasht werden.
Dafür müssen die Jumper für

  • Mosi
  • Miso
  • SCK
  • VCC
  • RIN

gesetzt werden. Die Spannungsversorgung kann wahlweise über den Programmer oder den
USB-Anschluss erfolgen (wenn der Programmer externe Versorgung unterstützt).

Jetzt kann geflasht werden (mit su Rechten):

avrdude -p m168 -P /dev/ttyS0 -c stk500v2 -U flash:w:usbload-v0.2-rumpus.hex

Dann müssen noch die Fuse-Bits gesetzt werden:

avrdude -p m168 -P /dev/ttyS0 -c stk500v2 -U lfuse:w:0xe7:m -U hfuse:w:0xdf:m -U efuse:w:0x00:m

Und die Lock-Bits:

avrdude -p m168 -P /dev/ttyS0 -c stk500v2 -U lock:w:0x2f:m

Fertig!

Man kann es mit dmesg überprüfen:

  [ 7573.613657] usb 2-10: USB disconnect, address 4
  [21351.292038] usb 1-10: new low speed USB device using ohci_hcd and address 4
  [21351.538196] usb 1-10: configuration #1 chosen from 1 choice

Bei lsusb müsste sowas auftauchen:

 Bus 001 Device 004: ID 16c0:05dc VOTI

Um jetzt per USB flashen zu können müssen die Jumper

  • D+ (USB Datenleitung)
  • D- (USB Datenleitung)
  • USBPVD auf 2-3


Dann einfach mal den Test drauf:

ich@lochraster:~/rumpustest$ sudo avrdude -p m168 -c usbasp -P usb -u -U flash:w:rumpustest.hex

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9406 avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "rumpustest.hex"
avrdude: input file rumpustest.hex auto detected as Intel Hex
avrdude: writing flash (3194 bytes):

Writing | ################################################## | 100% 0.38s

avrdude: 3194 bytes of flash written
avrdude: verifying flash memory against rumpustest.hex:
avrdude: load data flash data from input file rumpustest.hex:
avrdude: input file rumpustest.hex auto detected as Intel Hex
avrdude: input file rumpustest.hex contains 3194 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.29s

avrdude: verifying ... avrdude: 3194 bytes of flash verified

avrdude done. Thank you.

Personal tools