Arduino per ISP flashen

Moin,

ich habe eine Platine mit einem Atmel 386 aber ohne FTDI Anschluss. Dafür ist ein ISP Anschluss vorhanden. Mit dem USB ISP Adapter kann ich den dann auch beschreiben. Dafür muss man dann die Shift Taste drücken und dann auf flashen klicken. Soweit so klar.

Aber was mich dabei interessiert, muss dann auf dem Atmel auch unbedingt der Bootloader vorher drauf oder kann ich mir dabei den Speicherplatz sparen?

Ich vermute mal nicht, da der Hex Code ja eigentlich direkt in den Flash Speicher geschrieben wird. Der Bootloder ist doch nur dafür da um das beschreiben per Serieller Schnittstelle (FTDI) zu ermöglichen.

Scotch: Aber was mich dabei interessiert, muss dann auf dem Atmel auch unbedingt der Bootloader vorher drauf oder kann ich mir dabei den Speicherplatz sparen?

Ja, den Bootloader kannst du dir sparen. Ich habe es bisher zwar noch nicht so gemacht, aber lt. dieser Beschreibung soll es gehen.

https://www.arduino.cc/en/Main/ArduinoISP

Und viele hier im Forum werden das bestätigen.

Bestätige: Ja, beim ATmega328 braucht es den Bootlooader nur, um über die serielle Schnittstelle den Sketch hochzuladen. Wenn Du den Sketch mittels ISP hochllädst braucht es ihn nicht.

Das Flashen des Bootloaders auf einen nackten Atmega setzt aber auch die Fuse richtig damit der Controller mit den Spezifikationen des Arduino arbeitet. Bei einem neuen ATmega kann es darum sinnvoll sein zuerst den Bootloader zu flashen und dann wieder zu überschreiben.

Grüße Uwe

uwefed: Bestätige: Ja, beim ATmega328 braucht es den Bootlooader nur, um über die serielle Schnittstelle den Sketch hochzuladen. Wenn Du den Sketch mittels ISP hochllädst braucht es ihn nicht.

Das Flashen des Bootloaders auf einen nackten Atmega setzt aber auch die Fuse richtig damit der Controller mit den Spezifikationen des Arduino arbeitet. Bei einem neuen ATmega kann es darum sinnvoll sein zuerst den Bootloader zu flashen und dann wieder zu überschreiben.

Grüße Uwe

Danke Uwe,

das mit dem einmaligen Flashen des Bootloaders war mir bisher so auch nicht bewusst, ist aber, wenn ich drüber nachdenke, logisch.

. Bei einem neuen ATmega kann es darum sinnvoll sein zuerst den Bootloader zu flashen und dann wieder zu überschreiben.

Wenn der Bootloader gebrannt wird, wird auch der Reset Einsprungspunkt verschoben. Wird dann der Bootloader einfach nur überschrieben, zeigt dieser Pointer in die Wiese und kann zu unangenehmen Erscheinungen führen, wenn das Anwender Programm in diesen Bereich ragt.

Also: Wenn Bootloader überschreiben, dann auch bitte die Fuses so setzen, dass nix passieren kann.

Super, danke für die schnelle Antwort. Kann ich mit der Arduino IDE den Chip so löschen das die FUSE Bits zurückgesetzt werden? Oder muss ich das mit einem anderen Programm machen. Arbeite überwiegend mit Mac OS, wäre mir also lieb wenn es da eine Lösung gibt. Denke mal das man es mit Avrdude über das Terminal erledigen könnte.

Gruß Ingo

Denke mal das man es mit Avrdude über das Terminal erledigen könnte.

Korrekt.

Avrdude ist bei jeder Arduino Installation dabei.

Und wenn du eigene boards.txt usw anlegst, kannst du das auch aus der Arduino IDE heraus.

Ah das mit dem boards.txt gefällt mir. Werde ich mal am Wochenende anschauen.

Vielen Dank für die Tipps.

hi,

es gibt dafür einen eigenen editor:

https://www.google.de/#q=boards.txt%20editor

damit kann man praktischerweise auch einstellen, welche modelle in der IDE überhaupt angezeigt werden. wenn man mit verschiedenen atmels arbeitet, kann die nämlich endlos werden, weil immer gleich mehrere modelle angefügt werden.

so kann man nach belieben ein- und ausblenden...

gruß stefan

Scotch: ich habe eine Platine mit einem Atmel 386 aber ohne FTDI Anschluss.

Was ist ein "Atmel 386"?

Sorry Tipfehler. Sollt 328 heißen. Und Atmel steht auf den Chip Drauf. http://www.robotshop.com/en/atmel-atmega328-tqfp.html