Schlagwort-Archiv: Linux

Arduino Mega 2560, AMS1117, ATMega CPU. Teil 2 – Firmware

Nachdem nun mechanisch alles in Ordnung gebracht wurde, kommt der zweite kniffelige Teil.

Mein Arduino Mega war noch über Seriell ansprechbar, daher wird hier nur die CPU selbst beschrieben, nicht der USB-Seriell-Wandler (Atmega18U2, CHG340 oder was eben so auf dem Board ist)

Es wird benötigt: Ein Programmer für Atmel 8-bit CPUs.
Software, Arduino IDE.

Ich habe folgende Tools:
UsbASP (fischl.de) als Programmer
AVR8-Burn-o-Mat als Frontend
Arduino-IDE 1.06 „classic“
Google 🙂

Neben der CPU sieht man einen ICSP-Anschluss aus einer 3×2 Pfostensteckerleiste. Das ist standartisiert, wer dazu noch keinen Adapter hat kann sich das googeln.

Die CPU ist nun noch komplett nackig, es fehlt der Arduino Bootloader und die passende Konfiguration in den Fuses-Registern.

Also ran an den ISCP-Anschluss, auf Pin1 aufpassen und UsbASP anschließen.
AVR8-Burn-o-Mat starten (Unter Linux: als Root, sonst hat das Programm keinen zugriff auf /usr/bin/avrdude, ggf. config anpassen um den korrekten Pfad zu ARVDUDE einzutragen. AVRDude wird dann auch als Root ausgeführt was wichtig ist für den Zugriff auf die USB-Hardware).

Zunächst müssen die FUSES gesetzt werden. Der Prozessor ist noch langsam und es ist zu empfehlen den Jumper für langsame Prozessoren am UsbASP zu stecken.
Google liefert dazu diesen Treffer:
http://www.codingwithcody.com/2011/04/arduino-default-fuse-settings/

Arduino Mega 2560
Low Fuse 0xFF
High Fuse 0xD8
Extended Fuse 0xFD

im AVR8-burn-o-Mat wählt man also den AVR-Type ATmega2560 aus, daneben ist der Button „Fuses“.
Der öffnet ein Dialogfeld mit vielen optionen.
Da wir schon wissen welche Hexwerte gebraucht werden wird der Reiter „Fuse HEX Editor“ gewählt und die 3 Werte eingetragen.

Apply anklicken, dann oben „write Fuses“.
Die Ausgabe von AVRDUDE im Programmfenster beobachten, ob es geklappt hat.

Nun alles einmal abstecken und wieder anstecken, damit der Prozessor neu startet, am UsbASP den Jumper 2 wieder entfernen, sonst dauert das schreiben des Bootloaders sehr lange.

Jetzt kann das AVR8DUDE wieder zugemacht werden.
Wir brauchen nun die Arduino-IDE. (unter Linux wieder als Root)

In der Arduino IDE nun im Menü Tools wieder das Board „Arduino Mega2560“ auswählen. Dann den Programmer UsbASP auswählen, und im Menü Tools „Bootloader installieren“ starten.
(Ausgabe in der Statusleiste beobachten)

Nun ist der Arduino Mega wieder einsatzbereit und kann ganz normal über die IDE per „upload“ programmiert werden.

ubuntu 10.04 auf Toshiba T110 oder T130

Hier ein paar kleine Anmerkungen zur Erfolgreichen installation von Ubuntu 10.04 auf dem Toshiba Satellite T110 (und dem Schwestermodell T130)

Es funktionieren out of the box: (kernel 2.6.32-21)

  • Lan ATL1 – Atheros AR8132
  • S-ATA Intel ICH9M AHCI-Controller
  • ACPI incl. Standby
  • VGA Intel Mobile 4 Series mit richtiger Bildschirmauflösung
  • Webcam
  • Sondertastenkombinationen für Laut/Leise/Stumm/Touchpad ein-aus/power-stby/numlock
  • Zweitmonitor am VGA-Anschluss: Externer Monitor/Dualview/externer als sekundärmonitor/nur extern (Fn+F5)
  • Es gibt Probleme mit:
    1. Wlan – das Kernelmodul für die Realtek WLan-Karte ist buggy. Der Windows-XP-32bit Treiber von Toshiba im Ndiswrapper läuft problemlos, auch mit WPA/WPA2.

    2. Bildschirmhelligkeit mit der Intel Mobile 4 Graka.
    Ich habe keine echte Lösung gefunden, da ist noch ein Bug der die Helligkeitsregelung verhindert. Man kann aber über den PCI-Bus direkt das Register im Chip manipulieren.
    setpci -s 00:02.0 F4.B=FF
    der Hexwert am ende bestimmt die Helligkeit, 00=beleuchtung komplett aus, 01-FF der Helligkeitswert der Beleuchtung.

    3. Sound – Kopfhöreranschluss läuft mit den Lautsprechern mit, bei angestecktem Kopfhörer gehen die Lautsprecher nicht aus, oder Kopfhörerbuchse funktioniert gar nicht. Hardware Intel HDA – codec conexant CX20282 und Intel G45 DEVCTG
    In /etc/modprobe.d/alsa-base.conf die Zeile options snd-hda-intel model="olpc-xo-1_5" einfügen.

    4. Bluetooth funktioniert nicht – Bluetooth in Hardware einschalten unter Windows oder im Bios (Aus und wieder einschalten). Funktioniert dann ohne weiteres unter Linux.

    5. Wlan ein- ausschalten zum Energiesparen (noch keine Lösung)

    soweit bin ich.. weiteres folgt ggf.

    debian 5.0 (lenny) und Streamtuner

    Seit dem 14.02.09 ist Debian Gnu/Linux 5.0 als Stable zum Download verfügbar, ein Grund sich damit zu befassen. Mit dabei (bei der Standart-Installation mit Desktop-Umgebung) ist eine aktuelle Version des Programms Streamtuner zum Durchsuchen und Abspielen von Webradio-Streams.

    Streamtuner startet die heruntergeladenen Playlisten (zum Beispiel von der Shoutcast-Plattform) normalerweise mit dem XMMS-Mediaplayer, der ähnlich dem alten WinAmp2 für Windows aufgebaut ist und seinen Dienst ressourcensparend verrichtet. Da XMMS jedoch nicht weiterentwickelt wird, ist es in der Lenny-Distribution aus der Paketverwaltung rausgeflogen. Der XMMS2 ist kein direkter Nachfolger und eine völlig neue Software.

    Um den Streamtuner dennoch wieder zum Abspielen zu bewegen, bietet sich beispielsweise der VLC-Media-Player an. Nachdem dieser mit Hilfe der Synaptik-Paketverwaltung installiert ist, muss er nur noch in Streamtuner als Anwendung zum Abspielen eingetragen werden. Das geht im Menü Bearbeiten, Menüpunkt Einstellungen.
    Der zweite Eintrag von Oben mit dem Namen Anwendungen ist bereits der Richtige. Dort bei „eine M3U-Datei anhören“ auf den rechten Eintrag „XMMS %q“ klicken und XMMS durch VLC ersetzen. Das gleiche nochmal bei „Einen Stream anhören“.

    Viel erfolg!