<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de-AT">
		<id>http://old.ethersex.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Elmo</id>
		<title>Ethersex_Wiki - Benutzerbeiträge [de-at]</title>
		<link rel="self" type="application/atom+xml" href="http://old.ethersex.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Elmo"/>
		<link rel="alternate" type="text/html" href="http://old.ethersex.de/index.php/Spezial:Beitr%C3%A4ge/Elmo"/>
		<updated>2026-04-06T07:39:12Z</updated>
		<subtitle>Benutzerbeiträge</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://old.ethersex.de/index.php?title=Ethernet_Loader&amp;diff=4793</id>
		<title>Ethernet Loader</title>
		<link rel="alternate" type="text/html" href="http://old.ethersex.de/index.php?title=Ethernet_Loader&amp;diff=4793"/>
				<updated>2011-03-04T21:23:04Z</updated>
		
		<summary type="html">&lt;p&gt;Elmo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&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; Ethernet(ENC28J60)support -&amp;gt; Etherrape IP-Adresse: &amp;quot;IP-ADRESSE eintragen&amp;quot;&lt;br /&gt;
**** (x) UDP support&lt;br /&gt;
**** (x) UDP broadcast support&lt;br /&gt;
*** Applications -&amp;gt;&lt;br /&gt;
**** (x) TFTP support&lt;br /&gt;
**** Bootloader configuration -&amp;gt;TFTP-o-matic&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;
''TODO: AVRDUDE COMANDO für LOCKBITS''&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;
&lt;br /&gt;
[[Category:Ethersex]]&lt;br /&gt;
[[Category:bootloader]]&lt;br /&gt;
[[Category:AVR Net-IO]]&lt;/div&gt;</summary>
		<author><name>Elmo</name></author>	</entry>

	<entry>
		<id>http://old.ethersex.de/index.php?title=Funkloader&amp;diff=2226</id>
		<title>Funkloader</title>
		<link rel="alternate" type="text/html" href="http://old.ethersex.de/index.php?title=Funkloader&amp;diff=2226"/>
				<updated>2009-08-25T11:31:50Z</updated>
		
		<summary type="html">&lt;p&gt;Elmo: /* corrected git url, old one was not available */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;funkloader is a RFM12-based &lt;br /&gt;
bootloader application targetted at the Atmel AVR&lt;br /&gt;
ATmega8.  In theory it should work for other devices but since&lt;br /&gt;
it heavily relies on assembler code, especially regarding the&lt;br /&gt;
startup code, this probably requires quite some adjustments.&lt;br /&gt;
&lt;br /&gt;
The main design goal is to keep it short, this is always at most 512 bytes long.&lt;br /&gt;
&lt;br /&gt;
If you're interested, have a look at http://git.brokenpipe.de/cgi-bin/gitweb.cgi?p=bricolage/funkloader&lt;br /&gt;
&lt;br /&gt;
You can clone the repository using &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    git clone git://git.brokenpipe.de/bricolage/funkloader&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There's a similar (derived) project by Christian Dietrich, who does bootloading over his ZBus protocol.  Have a look [[ZBus]] for details.&lt;br /&gt;
&lt;br /&gt;
[[Category:Zerties]]&lt;/div&gt;</summary>
		<author><name>Elmo</name></author>	</entry>

	<entry>
		<id>http://old.ethersex.de/index.php?title=Diskussion:Funk2Duo&amp;diff=2212</id>
		<title>Diskussion:Funk2Duo</title>
		<link rel="alternate" type="text/html" href="http://old.ethersex.de/index.php?title=Diskussion:Funk2Duo&amp;diff=2212"/>
				<updated>2009-08-21T10:14:18Z</updated>
		
		<summary type="html">&lt;p&gt;Elmo: /* fragen hinzugefügt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Leider finde ich den Code an der angegebenen Stelle nicht.&lt;br /&gt;
Das Ganze funktioniert auf den RFM12 Nodes mit dem Code, den man im ethersex Projekt findet, nehme ich an?&lt;br /&gt;
&lt;br /&gt;
Viele Grüße --[[Benutzer:Elmo|Elmo]] 10:14, 21. Aug. 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Elmo</name></author>	</entry>

	</feed>