Kategorie:StepByStep: Unterschied zwischen den Versionen

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche
K (Konfiguration)
K (Ethernet- bzw. IP-Konfiguration festlegen: typos)
 
(8 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 7: Zeile 7:
 
== Vorbereiten der Entwicklungsumgebung ==
 
== Vorbereiten der Entwicklungsumgebung ==
  
Um ethersex unter Linux zu konfigurieren und zu compilieren sind einige Pakete erforderlich (Debian - Paketnamen):
+
# [[Download]] des Quellcodes
 
+
# [[Voraussetzungen]] an die Entwicklungsumgebung beachten
<pre> aptitude install gcc-avr avr-libc  binutils-avr m4 gawk libncurses5-dev make dialog git-core</pre>
 
 
 
Unter Windows benötigt man WinAVR und Cygwin.  Bei WinAVR reicht eine der letzten Versionen, für Cygwin sind die entsprechenden Pakete, wie für Linux zu installieren (natürlich ohne die AVR-Pakete).
 
 
 
''(genaue Liste der Pakete noch ergänzen!)''
 
  
 
== Konfiguration ==
 
== Konfiguration ==
Zeile 26: Zeile 21:
 
an der Kommandozeile aufrufen.
 
an der Kommandozeile aufrufen.
  
Dort ''Load a default configuration'' auswählen und dann ''Etherrape'' selektieren. Dadurch werden für die Etherrape Original-Hardware sinnvolle Konfigurationsoptionen selektiert.
+
Dort ''Load a default configuration'' auswählen und dann die zu Deiner Hardware passende Plattform-Bezeichnung selektieren. Hast Du z.B. ein Etherrape-Board wählst Du hier ''Etherrape'' aus, für ein AVR-NET-IO wählst Du ''Pollin AVR Net-IO'', usw. Dadurch werden für die von Dir verwendete Hardware-Plattform (z.B. Etherrape Original-Hardware) sinnvolle Konfigurationsoptionen selektiert.
  
=== IP-Konfiguration festlegen ===
+
=== Ethernet- bzw. IP-Konfiguration festlegen ===
Im Hauptmenü zunächst ''Interfaces'' und dann ''ENC28J60 configuration'' auswählen. Jetzt kann im Unterabschnitt ''Static IPv4 configuration'' die IP Deiner Hardware, die Netzmaske sowie die IP-Adresse des Standardrouters festgelegt werden.
+
Im Hauptmenü zunächst ''Network --.>'' und dann ''Ethernet (ENC28J60) support --->'' auswählen.  
 +
 
 +
Zuerst sollte der Ethernet-MAC-Adresse Beachtung geschenkt werden. Diese 48-Bit-Adresse muss in Deinem LAN eindeutig sein da Du sonst Probleme bekommen kannst - insbesondere wenn Du z.B. mehrere Boards mit gleicher MAC im Netz hast. Je nach Hardware hast Du für die Ethernet-Schnittstelle vom Hersteller des Boards eine MAC-Adresse erhalten die Du nun statisch in die Firmware eintragen solltest. Falls keine MAC-Adresse mitgeliefert wurde kannst Du entweder die Default-Einstellung im Parameter ''Etherrape MAC address'' belassen oder, was eigentlich sinnvoller ist, Du vergibst Deinem Board eine dem Standard entsprechende MAC-Adresse. Auf der sicheren Seite bist Du, wenn Du für das erste Oktett die Zahlenkombination 02 verwendest - das gesetzte Bit kennzeichnet eine 'locally administered address'. Die restlichen fünf Oktette vergibst Du dann innerhalb Deines Netzes eindeutig.
 +
 
 +
Jetzt kann im Unterabschnitt ''Static IPv4 configuration'' die IP Deiner Hardware und die Netzmaske festgelegt werden.
 +
 
 +
=== Evtl. Debugging für die ersten Tests aktivieren ===
 +
Gerade am Anfang, wenn Du Dir noch nicht so sicher bist ob das alles so funktioniert wie Du willst, ist es evtl. sinnvoll Debugging zu aktivieren. Damit erhältst Du über die serielle Schnittstelle diverse Meldungen zum Zustand Deines Systems. Diese Meldungen kannst Du mit einer Terminalemulation (z.B. PuTTY) über die serielle Schnittstelle eines PCs darstellen.
 +
 
 +
Solltest Du das machen wollen zuerst im ''General Setup'' die Option ''Enable Debugging'' aktivieren. Im zugehörigen Untermenü kannst Du noch die Baudrate der seriellen Schnittstelle einstellen (Default-Wert ist 115200 Baud). Gehe anschließend wieder in das Hauptmenü und von dort aus in das Untermenü ''Network''. Dort aktivierst Du im Abschnitt ''Debugging Flags'' die Option ''Networking'' und ''Config''.
  
 
=== menuconfig verlassen ===
 
=== menuconfig verlassen ===
Zeile 40: Zeile 44:
  
 
das Erforderliche erledigen. Nach Abschluss des Übersetzungsvorganges solltest Du eine Datei namens ''ethersex.hex'' im Verzeichnis vorfinden, die die erstellte Firmware im Intel HEX-Format enthält.
 
das Erforderliche erledigen. Nach Abschluss des Übersetzungsvorganges solltest Du eine Datei namens ''ethersex.hex'' im Verzeichnis vorfinden, die die erstellte Firmware im Intel HEX-Format enthält.
 +
 +
Falls Du zu viele Features in die Firmware gepackt hast, kann es Dir gerade bei einem kleinen Controller wie dem ATmega32 schnell passieren, dass das Image zu groß wird (Fehlermeldung: WARNING! Your Image is too big for the selected chip. WARNING!). In dem Fall musst Du schauen welche Features Du wieder deaktivieren kannst um die Größe der Firmware wieder kleiner zu bekommen. Eine Möglichkeit, falls man das nicht braucht wäre z.B. im I/O-Bereich der ''Onewire support''.
  
 
Hat funktioniert? Weiter geht's!
 
Hat funktioniert? Weiter geht's!
  
 
[[Category:Ethersex]]
 
[[Category:Ethersex]]
 +
 +
== Firmware flashen ==
 +
[[Wie_flasht_man_ein_AVR-NET-IO]]

Aktuelle Version vom 28. Juli 2010, 07:03 Uhr

Schritt-für-Schritt zum Ethersex

Hier entsteht eine Schritt-für-Schritt-Anleitung, die Dir helfen soll, Dich in der Funktionsvielfalt von Ethersex, gerade am Anfang, zu orientieren. Bitte hilf' mit, diese stetig zu verbessern und so den Einstieg in Ethersex einfachst möglich zu gestalten!

Zunächst musst Du Dir eine Kopie des Quellcodes von Ethersex aus dem Netz laden (Details hierzu siehe Download) und diesen in ein beliebiges Verzeichnis entpacken.

Vorbereiten der Entwicklungsumgebung

  1. Download des Quellcodes
  2. Voraussetzungen an die Entwicklungsumgebung beachten

Konfiguration

Bevor Du den Quellcode zu einem Firmware-Image kompilieren lassen kannst, musst Du die Firmware zunächst konfigurieren und so an Deine Bedürfnisse anpassen. Es ist ein Ziel des Ethersex-Projektes, möglichst viele Aspekte der Firmware möglichst flexibel konfigurieren zu können. Das heißt insbesondere, dass jede Komponente zu- und abschaltbar sein sollte. So können viele (deutlich) unterschiedliche Mikrocontroller unterstützt werden können, zum Beispiel solche mit relativ viel oder eher wenig Arbeits- bzw. Flashspeicher (ATmega644 bzw. ATmega8). Viele der Konfigurationsoptionen können aber, gerade am Anfang, Standardhardware vorausgesetzt, auch auf den vorgeschlagenen Ausgangswerten belassen werden.

make menuconfig

Um die Dialog-gestützte Konfigurationsoberfläche zu starten, zunächst

  make menuconfig

an der Kommandozeile aufrufen.

Dort Load a default configuration auswählen und dann die zu Deiner Hardware passende Plattform-Bezeichnung selektieren. Hast Du z.B. ein Etherrape-Board wählst Du hier Etherrape aus, für ein AVR-NET-IO wählst Du Pollin AVR Net-IO, usw. Dadurch werden für die von Dir verwendete Hardware-Plattform (z.B. Etherrape Original-Hardware) sinnvolle Konfigurationsoptionen selektiert.

Ethernet- bzw. IP-Konfiguration festlegen

Im Hauptmenü zunächst Network --.> und dann Ethernet (ENC28J60) support ---> auswählen.

Zuerst sollte der Ethernet-MAC-Adresse Beachtung geschenkt werden. Diese 48-Bit-Adresse muss in Deinem LAN eindeutig sein da Du sonst Probleme bekommen kannst - insbesondere wenn Du z.B. mehrere Boards mit gleicher MAC im Netz hast. Je nach Hardware hast Du für die Ethernet-Schnittstelle vom Hersteller des Boards eine MAC-Adresse erhalten die Du nun statisch in die Firmware eintragen solltest. Falls keine MAC-Adresse mitgeliefert wurde kannst Du entweder die Default-Einstellung im Parameter Etherrape MAC address belassen oder, was eigentlich sinnvoller ist, Du vergibst Deinem Board eine dem Standard entsprechende MAC-Adresse. Auf der sicheren Seite bist Du, wenn Du für das erste Oktett die Zahlenkombination 02 verwendest - das gesetzte Bit kennzeichnet eine 'locally administered address'. Die restlichen fünf Oktette vergibst Du dann innerhalb Deines Netzes eindeutig.

Jetzt kann im Unterabschnitt Static IPv4 configuration die IP Deiner Hardware und die Netzmaske festgelegt werden.

Evtl. Debugging für die ersten Tests aktivieren

Gerade am Anfang, wenn Du Dir noch nicht so sicher bist ob das alles so funktioniert wie Du willst, ist es evtl. sinnvoll Debugging zu aktivieren. Damit erhältst Du über die serielle Schnittstelle diverse Meldungen zum Zustand Deines Systems. Diese Meldungen kannst Du mit einer Terminalemulation (z.B. PuTTY) über die serielle Schnittstelle eines PCs darstellen.

Solltest Du das machen wollen zuerst im General Setup die Option Enable Debugging aktivieren. Im zugehörigen Untermenü kannst Du noch die Baudrate der seriellen Schnittstelle einstellen (Default-Wert ist 115200 Baud). Gehe anschließend wieder in das Hauptmenü und von dort aus in das Untermenü Network. Dort aktivierst Du im Abschnitt Debugging Flags die Option Networking und Config.

menuconfig verlassen

Verlasse sämtliche Fenster durch Selektion der Schaltfläche Exit. Die abschließende Frage, ob die Konfiguration jetzt gesichert werden soll, mit Ja beantworten.

Firmware kompilieren

Nach erfolgreicher Konfiguration sollte ein einfaches

  make

das Erforderliche erledigen. Nach Abschluss des Übersetzungsvorganges solltest Du eine Datei namens ethersex.hex im Verzeichnis vorfinden, die die erstellte Firmware im Intel HEX-Format enthält.

Falls Du zu viele Features in die Firmware gepackt hast, kann es Dir gerade bei einem kleinen Controller wie dem ATmega32 schnell passieren, dass das Image zu groß wird (Fehlermeldung: WARNING! Your Image is too big for the selected chip. WARNING!). In dem Fall musst Du schauen welche Features Du wieder deaktivieren kannst um die Größe der Firmware wieder kleiner zu bekommen. Eine Möglichkeit, falls man das nicht braucht wäre z.B. im I/O-Bereich der Onewire support.

Hat funktioniert? Weiter geht's!

Firmware flashen

Wie_flasht_man_ein_AVR-NET-IO