<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://www.ethersex.de/index.php?action=history&amp;feed=atom&amp;title=Ethernet_Loader_%28Deutsch%29</id>
		<title>Ethernet Loader (Deutsch) - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://www.ethersex.de/index.php?action=history&amp;feed=atom&amp;title=Ethernet_Loader_%28Deutsch%29"/>
		<link rel="alternate" type="text/html" href="http://www.ethersex.de/index.php?title=Ethernet_Loader_(Deutsch)&amp;action=history"/>
		<updated>2026-04-06T04:42:03Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.ethersex.de/index.php?title=Ethernet_Loader_(Deutsch)&amp;diff=1684&amp;oldid=prev</id>
		<title>Djmaster: Created page with &quot;{{i18n|Ethernet_Loader}} = Bootloader einrichten (TFTP)=  Da ich mindesten 6h mit Fehlersuche verschwendet habe, hier eine Anleitung wie man den TFTP-Bootloader verwendet.&lt;br ...&quot;</title>
		<link rel="alternate" type="text/html" href="http://www.ethersex.de/index.php?title=Ethernet_Loader_(Deutsch)&amp;diff=1684&amp;oldid=prev"/>
				<updated>2016-01-30T20:15:48Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{i18n|Ethernet_Loader}} = Bootloader einrichten (TFTP)=  Da ich mindesten 6h mit Fehlersuche verschwendet habe, hier eine Anleitung wie man den TFTP-Bootloader verwendet.&amp;lt;br ...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{i18n|Ethernet_Loader}}&lt;br /&gt;
= Bootloader einrichten (TFTP)=&lt;br /&gt;
&lt;br /&gt;
Da ich mindesten 6h mit Fehlersuche verschwendet habe, hier eine Anleitung wie man den TFTP-Bootloader verwendet.&amp;lt;br /&amp;gt;&lt;br /&gt;
Ganz wichtig, es darf per tftp NIE das ''ethersex.hex'' File geladen werden.&lt;br /&gt;
&lt;br /&gt;
= Vorteile des Bootloaders =&lt;br /&gt;
* Durch den Einsatz eines Bootloaders benötigt man (vom Flashen des Bootloaders einmal abgesehen) keine Flash-Hardware mehr.&lt;br /&gt;
* Der ISP-Port blockiert den Ethernet-Port (zumindesten bei der AVR NET-IO bzw. beim Einsatz bestimmter Programmieradapter)&lt;br /&gt;
* Update und Entwicklungen können bequem vom Schreibtisch aus vorgenommen werden&lt;br /&gt;
&lt;br /&gt;
== Benötigt werden: ==&lt;br /&gt;
&lt;br /&gt;
* Bootloader im ethersex.hex Format&lt;br /&gt;
** [http://www.ethersex.de/firmware-builder/list.cgi Firmware Builder]&lt;br /&gt;
*** enc_mac = die MAC-Adresse vom Hardwareboard&lt;br /&gt;
*** enc_ip  = IP-Adresse vom Board&lt;br /&gt;
*** enc_ip4_netmask = passende Maske vom Netz&lt;br /&gt;
*** etherrape_gateway = default GW&lt;br /&gt;
*** tftp_ip = die IP-Adresse vom tftpd Server, also des PCs auf dem der tftpd läuft&lt;br /&gt;
*** tftp_image = Name des binaries, das im tftpboot-Verzeichnis liegt. z.B. esex.bin&lt;br /&gt;
*oder&lt;br /&gt;
** config-File für die '''AVR Net-IO''' &lt;br /&gt;
*** Load a Default Configuration  ---&amp;gt;&lt;br /&gt;
****  (x) Ethernet Bootloader&lt;br /&gt;
*** als Start und dann an die Gegebenheiten anpassen. Im Bootloader werden nur UDP und TFTP zum Nachladen der Firmware benötigt.&lt;br /&gt;
*** Network ---&amp;gt; &lt;br /&gt;
**** (x) UDP support&lt;br /&gt;
**** (x) UDP broadcast support&lt;br /&gt;
**** (x) Ethernet(ENC28J60)support -&amp;gt; Etherrape IP-Adresse: &amp;quot;IP-ADRESSE eintragen&amp;quot; (Dieser Eintrag erscheint nur wenn bootp nicht aktiv ist)&lt;br /&gt;
*** Applications -&amp;gt;&lt;br /&gt;
**** (x) TFTP support&lt;br /&gt;
**** Bootloader configuration -&amp;gt;TFTP-o-matic (Dieser Eintrag erscheint nur wenn Network --&amp;gt; bootp nicht aktiv ist)&lt;br /&gt;
***** TFTP IP address: &amp;quot;IP-ADRESSE DES TFTP-SERVERS&amp;quot;&lt;br /&gt;
***** TFTP image to load: &amp;quot;esex.bin&amp;quot; (Name des BIN-files) (evtl. ist hier der absolute Pfad nötig /tftpboot/esex.bin)&lt;br /&gt;
&lt;br /&gt;
* eigentliche Firmware im ethersex.bin Format&lt;br /&gt;
** das make erzeugt immer eine ethersex.hex und eine ethersex.bin und wird z.B. als esex.bin auf den tftpd-Server kopiert&lt;br /&gt;
* [http://de.wikipedia.org/wiki/Trivial_File_Transfer_Protocol tfpd-Server]&lt;br /&gt;
** Linux: [http://www.debianadmin.com/atftp-server-and-client-installation-and-configuration.html atftpd], tftpd oder tftpd-hpt&lt;br /&gt;
** Windows: [http://tftpd32.jounin.net/ tftp32.exe]&lt;br /&gt;
*** BESCHREIBUNG FÜR WINDOWS wenn '''nicht''' DHCP verwendet wird &lt;br /&gt;
*** der Windows Rechner muss die IP haben die vorher in Ethersex als Server eingestellt worden ist&lt;br /&gt;
*** esex.bin einfach in das Verzeichnis vom TFTP-Server (Windows) kopieren &lt;br /&gt;
*** Programm starten und freuen -- sobald der Ethersex startet holt er sich automatisch neue Firmware esex.bin (Name der eingestellt ist)&lt;br /&gt;
*** anschließend könnt ihr die Datei aus dem Verzeichnis löschen oder Programm schließen ansonsten wird der nach jedem starten vom ESEX wieder neu gelasht&lt;br /&gt;
&lt;br /&gt;
== Wichtig! ==&lt;br /&gt;
* Der Bootloader funktioniert ''nicht'' ohne weiteres mit dem Atmega32, da dort der Bootloaderbereich zu klein ist. Es wird ein Atmega644 oder ein 1284p benötigt.&lt;br /&gt;
* der ethersex Bootloader funktioniert als TFTP-Client&lt;br /&gt;
* auf der Linux bzw. Windows Maschine muss ein TFTPD (TFTP-Server) laufen.&lt;br /&gt;
* das ethersex sucht auf dem TFTP-Server seine Firmware lädt sie selbständig in seinen Flash.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
* auf dem klassischem Weg wird die ethersex.bin erstellt (make menuconfig; make)&lt;br /&gt;
* Der tftpd wird wie von der Distribution vorgesehen gestartet. Das ethersex.bin kommt in das /tftpboot Verzeichniss&lt;br /&gt;
&lt;br /&gt;
== Anpassung der FUSE-Bits ==&lt;br /&gt;
Damit das Ganze funktioniert, müssen die FUSE-Bits angepasst werden.&lt;br /&gt;
Mit dem Tool [http://www.engbedded.com/fusecalc/ FUSE-Calc] kann man sich durch anklicken seine FUSE-Bits zusammenstellen.&lt;br /&gt;
Für den atmega644(p) hier ein Beispiel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
avrdude -p m644p -c ponyser -P /dev/ttyS0 -U lfuse:w:0xff:m -U hfuse:w:0xd8:m -U efuse:w:0xfc:m&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Flashen des Bootloaders ==&lt;br /&gt;
Der Bootloader wird als .hex auf klasischem Weg geflasht.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
avrdude -p m644p -c ponyser -P /dev/ttyS0 -U flash:w:&amp;lt;bootloader.hex&amp;gt; -v&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
(Statt &amp;lt;bootloader.hex&amp;gt; ist natürlich der korrekte Name des Hex-Files anzugeben; selbstverständlich ohne &amp;quot;&amp;lt;&amp;gt;&amp;quot;. Wichtig: unbedingt das &amp;lt;bootloader.hex&amp;gt; flashen, mit dem Flashen des &amp;lt;bootloader.bin&amp;gt; funktioniert der Bootloader nicht, weil dieser in den falschen Bereich im Flash geschrieben wird)&lt;br /&gt;
&lt;br /&gt;
Spätestens nach einem Reboot der Hardware versucht der Bootloader per [http://de.wikipedia.org/wiki/Trivial_File_Transfer_Protocol tftp] die eigentliche Firmware zu laden und zu starten.&lt;br /&gt;
&lt;br /&gt;
Eine einmal auf diesem Weg installierte Firmware ist immer auf dem Board und der Bootloader holt nur auf händische Anfrage ein neues esex.bin vom tftp-Server&lt;br /&gt;
&lt;br /&gt;
== LOCKBITS Bootloaderschutz ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wenn der Bootloader instaliert ist sollten noch die Lockbits gesetzt werden.&lt;br /&gt;
Bitte nur die [http://www.ethersex.de/index.php/Bild:AvrNet-644-boot.jpg Fuses mit Boot Loader Protections Mode3] setzen.&lt;br /&gt;
&lt;br /&gt;
Dadurch wird verhindert das der Bootloader überschrieben wird, wenn das Image in den Bereich vom Bootloader kommt. Dies Passiert wenn das Image für den ATMEGA 644 größer als 90% ist. (bei mir 90,3% da BL 9,7%)&lt;br /&gt;
&lt;br /&gt;
Durch die Lockbits bekommt man dann am TFTP Server die Meldung ERR, '''aber der Bootloader funktioniert weiterhin'''.&lt;br /&gt;
&lt;br /&gt;
Wenn mit SPI der Bootloaader neu geflasht wird, werden die Lockbits vom Bootloader Mode3 wieder auf Mode1 gesetzt.&lt;br /&gt;
D.h. immer beim neuflash über SPI, den Boot Loader Protections Mode3 setzen.&lt;br /&gt;
&lt;br /&gt;
'''ALS FAUSTFORMEL: BIN-File nicht größer als ''90%'' -- ca. ''10%'' braucht der Bootloader'''&lt;br /&gt;
&lt;br /&gt;
Für ATmega644P:&lt;br /&gt;
&lt;br /&gt;
avrdude -p m644p -c ponyser -P /dev/ttyS0 -U lock:w:0x0F:m&lt;br /&gt;
&lt;br /&gt;
== Händisches laden eines neuen Images ([[Ecmd_Reference]])==&lt;br /&gt;
Anm.: Voraussetzung für das ECMD &amp;quot;bootloader&amp;quot; sind die Optionen &amp;quot;General Setup -&amp;gt; Prompt all possible options&amp;quot; (CONFIG_EXPERT) und &amp;quot;General Setup -&amp;gt; Enable bootloader jump&amp;quot; (BOOTLOADER_JUMP) im menuconfig.&lt;br /&gt;
Per Telnet sich mit dem ethersex verbinden (telnet &amp;lt;IP-Ethersex&amp;gt; 2701). &lt;br /&gt;
Dort &amp;quot;bootloader&amp;quot; oder &amp;quot;wdreset&amp;quot; eingeben.&lt;br /&gt;
&lt;br /&gt;
Oder per Web-Browser: http://&amp;lt;IP-Ethersex&amp;gt;/ecmd?bootloader.&lt;br /&gt;
&lt;br /&gt;
Wenns nicht auf Anhieb klappt:&lt;br /&gt;
&lt;br /&gt;
(a) Fehlerbild:&lt;br /&gt;
&lt;br /&gt;
Ethersex holt sich zwar vom TFTP-Server ein neues Binärfile und schreibt es&lt;br /&gt;
in seinen Speicher - aber dann geht nichts mehr übers Netzwerk (kein &lt;br /&gt;
Ping, kein Telnet, etc).&lt;br /&gt;
&lt;br /&gt;
(b) Ursachen:&lt;br /&gt;
&lt;br /&gt;
b1) In Bootloader-Image und im Binärfile werden unterschiedliche MAC-Adressen verwendet.&lt;br /&gt;
&lt;br /&gt;
oder:&lt;br /&gt;
&lt;br /&gt;
b2) &amp;quot;make&amp;quot; hat keine wesentliche Änderung an .config festgestellt und daher das identische Binary nochmals erzeugt; Image wird zwar neu geladen und auch geflasht - Controller zeigt aber das identische Verhalten&lt;br /&gt;
&lt;br /&gt;
(c) Abhilfe:&lt;br /&gt;
&lt;br /&gt;
für b1) ARP-Cache löschen oder warten&lt;br /&gt;
&lt;br /&gt;
für b2) &amp;quot;make clean &amp;amp;&amp;amp; make&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== mögliche Probleme ==&lt;br /&gt;
Bei Einsatz des Add-On Boards kann es vorkommen, dass der SD-Kartenleser nicht mehr einwandfrei initialisiert wird. Die LED neben dem SD-Kartenslot leuchtet ständig und es erscheint die Meldung im Debug-Mode: „sd_reader: fat_create_file: invalid parameters.“&lt;br /&gt;
Dann muss die SD-Karte einmal entfernt und wieder eingesetzt werden. Die LED leuchtet dann auch nicht mehr dauerhaft. &lt;br /&gt;
&lt;br /&gt;
[[Category:Ethersex]]&lt;br /&gt;
[[Category:Protocol]]&lt;br /&gt;
[[Category:Application]]&lt;/div&gt;</summary>
		<author><name>Djmaster</name></author>	</entry>

	</feed>