{"id":1185,"date":"2016-01-24T14:34:26","date_gmt":"2016-01-24T12:34:26","guid":{"rendered":"http:\/\/blog.gafu.de\/?p=1185"},"modified":"2016-01-24T14:34:26","modified_gmt":"2016-01-24T12:34:26","slug":"arduino-mega-2560-ams1117-atmega-cpu-teil-2-firmware","status":"publish","type":"post","link":"http:\/\/blog.gafu.de\/?p=1185","title":{"rendered":"Arduino Mega 2560, AMS1117, ATMega CPU. Teil 2 &#8211; Firmware"},"content":{"rendered":"<p>Nachdem nun mechanisch alles in Ordnung gebracht wurde, kommt der zweite kniffelige Teil.<\/p>\n<p>Mein Arduino Mega war noch \u00fcber 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)<\/p>\n<p>Es wird ben\u00f6tigt: Ein Programmer f\u00fcr Atmel 8-bit CPUs.<br \/>\nSoftware, Arduino IDE.<\/p>\n<p>Ich habe folgende Tools:<br \/>\nUsbASP (fischl.de) als Programmer<br \/>\nAVR8-Burn-o-Mat als Frontend<br \/>\nArduino-IDE 1.06 &#8222;classic&#8220;<br \/>\nGoogle \ud83d\ude42<\/p>\n<p>Neben der CPU sieht man einen ICSP-Anschluss aus einer 3&#215;2 Pfostensteckerleiste. Das ist standartisiert, wer dazu noch keinen Adapter hat kann sich das googeln.<\/p>\n<p>Die CPU ist nun noch komplett nackig, es fehlt der Arduino Bootloader und die passende Konfiguration in den Fuses-Registern.<\/p>\n<p>Also ran an den ISCP-Anschluss, auf Pin1 aufpassen und UsbASP anschlie\u00dfen.<br \/>\nAVR8-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\u00fchrt was wichtig ist f\u00fcr den Zugriff auf die USB-Hardware).<\/p>\n<p>Zun\u00e4chst m\u00fcssen die FUSES gesetzt werden. Der Prozessor ist noch langsam und es ist zu empfehlen den Jumper f\u00fcr langsame Prozessoren am UsbASP zu stecken.<br \/>\nGoogle liefert dazu diesen Treffer:<br \/>\nhttp:\/\/www.codingwithcody.com\/2011\/04\/arduino-default-fuse-settings\/<\/p>\n<p><code>Arduino Mega 2560<br \/>\nLow Fuse 0xFF<br \/>\nHigh Fuse 0xD8<br \/>\nExtended Fuse 0xFD<\/code><\/p>\n<p>im AVR8-burn-o-Mat w\u00e4hlt man also den AVR-Type ATmega2560 aus, daneben ist der Button &#8222;Fuses&#8220;.<br \/>\nDer \u00f6ffnet ein Dialogfeld mit vielen optionen.<br \/>\nDa wir schon wissen welche Hexwerte gebraucht werden wird der Reiter &#8222;Fuse HEX Editor&#8220; gew\u00e4hlt und die 3 Werte eingetragen.<br \/>\n<img decoding=\"async\" alt=\"\" src=\"\/wp-content\/2016\/01\/avr8burnomat-fuses.gif\" \/><br \/>\nApply anklicken, dann oben &#8222;write Fuses&#8220;.<br \/>\nDie Ausgabe von AVRDUDE im Programmfenster beobachten, ob es geklappt hat.<\/p>\n<p>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.<\/p>\n<p>Jetzt kann das AVR8DUDE wieder zugemacht werden.<br \/>\nWir brauchen nun die Arduino-IDE. (unter Linux wieder als Root)<\/p>\n<p>In der Arduino IDE nun im Men\u00fc Tools wieder das Board &#8222;Arduino Mega2560&#8220; ausw\u00e4hlen. Dann den Programmer UsbASP ausw\u00e4hlen, und im Men\u00fc Tools &#8222;Bootloader installieren&#8220; starten.<br \/>\n(Ausgabe in der Statusleiste beobachten)<\/p>\n<p>Nun ist der Arduino Mega wieder einsatzbereit und kann ganz normal \u00fcber die IDE per &#8222;upload&#8220; programmiert werden.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nachdem nun mechanisch alles in Ordnung gebracht wurde, kommt der zweite kniffelige Teil. Mein Arduino Mega war noch \u00fcber 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\u00f6tigt: Ein Programmer f\u00fcr Atmel 8-bit CPUs. Software, Arduino IDE. Ich [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,9],"tags":[536,570,569,572,571,241,568],"class_list":["post-1185","post","type-post","status-publish","format-standard","hentry","category-elektronik-2","category-reparatur","tag-arduino-mega","tag-avr8-burn-o-mat","tag-avrdude","tag-bootloader","tag-fuses","tag-linux","tag-usbasp"],"_links":{"self":[{"href":"http:\/\/blog.gafu.de\/index.php?rest_route=\/wp\/v2\/posts\/1185","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.gafu.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.gafu.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.gafu.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.gafu.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1185"}],"version-history":[{"count":3,"href":"http:\/\/blog.gafu.de\/index.php?rest_route=\/wp\/v2\/posts\/1185\/revisions"}],"predecessor-version":[{"id":1192,"href":"http:\/\/blog.gafu.de\/index.php?rest_route=\/wp\/v2\/posts\/1185\/revisions\/1192"}],"wp:attachment":[{"href":"http:\/\/blog.gafu.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1185"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.gafu.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1185"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.gafu.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1185"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}