RubberduckExperience
Meine ersten Versuche mit Ethersex hatten das Ziel, eine bessere Firmware für den AVR-NET-IO zu schaffen, die das selbe Pinout nutzt wie von Pollin vorgegeben.
Der größte Anreiz bestand darin, daß Pollin nur 2x16 Displays unterstützt, deren Anzeigeumfang - nunja - begrenzt ist.
Dazu brauchte ich eigentlich nur LCD aktivieren und folgendes Pinout hinterlegen:
Die folgende Datei habe ich damit erzeugt: (pinning/hardware/user_avrnetio.m4) dnl dnl user_avrnetio.m4 dnl dnl Pin Configuration for 'user_avrnetio'. Edit it to fit your needs. dnl /* port the enc28j60 is attached to */ pin(SPI_CS_NET, SPI_CS_HARDWARE) pin(HD44780_RS, PD3) /* Uncomment if you wirded RW Pin and/or want to use readback support */ pin(HD44780_RW, PD2) pin(HD44780_EN, PB0) pin(HD44780_D4, PD4) pin(HD44780_D5, PD5) pin(HD44780_D6, PD6) pin(HD44780_D7, PD7) Das Grundgerüst dafür erzeugte ich wie folgt:
erst die config erstellt mit FULL-Featured IO (weiß nicht ob das wirklich nötig ist) und LCD an. HD44780 Controller. Danach abspeichern, das script 'scripts/add_hardware avrnetio' aufgerufen, welches das Grundgerüst für das Pinning des o.g. Files ergibt. Danach habe ich nur noch das Pollin Pinout aus der Anleitung des AVR-NET-IO abgepinselt und übertragen.
Der Atmega32 kann keinen ethersex-bootloader ausführen. Dabei gibts Flash-Fehler. Deshalb habe ich diesen Versuch aufgegeben.
Die Fuses habe ich von dinus übernommen, Funktioniert.
Wenn man, wie ich, den Fehler macht, sich den atmega32 kaputtzufusen, hilft ggf. folgender Konstrukt: Ein USB->PS/2 Adapterkabel kann einen Takt von 6 bis 12 MHz erzeugen (je nach Variante anders, aber das reicht sicher). Diesen einfach an Pin13 des Atmega32 anlegen (von Pin4 der PS/2 Buchse) und los gehts.