Forum: Mikrocontroller und Digitale Elektronik Atmega328 ohne Bootloader programmieren?


von neuling (Gast)


Lesenswert?

Hallo

Also ich habe eien Arduino Uno R3 und einen weiteren Atmega328p auf dem 
auch schon ein Bootloader oben ist. Ich übe mich zur Zeit an der 
Assemblerprogrammierung für AVR's und wollte fragen, wie ich von dem 
losen Chip den Bootloader entfernen und ein selbst geschriebenes 
Assembler Programm draufspielen kann. Oder muss der Bootloader oben 
bleiben?

LG Neuling

von Ulrich F. (Gast)


Lesenswert?

Kannst du entfernen.
Solltest aber auch die Fuses anpassen.

von Peter R. (pnu)


Lesenswert?

Weshalb den bootloader löschen? Nahezu jedes Assembler-Programm stellt 
beim Assemblieren ein .hex file her.
Dieses lässt sich mit HID flash oder dem Arduino-Programm auf den 
Kontroller übertragen wenn der bootloader noch auf dem Chip drauf 
bleibt.
Nur die Manipulation der fuses geht nicht per bootloader.

Wenn per ISP programmiert wird, besteht die Gefahr, dass beim 
Grundlöschen vor der Programmierung auch der bootloader mit gelöscht 
wird. So etwas ist mir bei einem China-board passiert, obwohl der 
boot-Bereich per fuses geschützt werden kann. Dann gehts halt nur noch 
mit ISP, außer man lädt den bootloader nochmals.

Übrigens: Es gibt auch ein Arduino-Forum. Dort werden solche Fragen 
kompetenter und meist freundlicher beantwortet als hier.

: Bearbeitet durch User
von Thomas E. (thomase)


Lesenswert?

neuling schrieb:
> Ich übe mich zur Zeit an der
> Assemblerprogrammierung für AVR's und wollte fragen, wie ich von dem
> losen Chip den Bootloader entfernen und ein selbst geschriebenes
> Assembler Programm draufspielen kann.

Hast du denn einen ISP-Programmer?

Bevor du damit ein neues Programm auf den Controller spielen kannst, muß 
der Speicher gelöscht werden. Damit ist dann auch der Bootloader 
Geschichte.

Ulrich F. schrieb:
> Solltest aber auch die Fuses anpassen.

Die BOOTRST-Fuse.

Peter R. schrieb:
> So etwas ist mir bei einem China-board passiert, obwohl der
> boot-Bereich per fuses geschützt werden kann.

Was für eine Fuse soll das denn sein?

Der Bootloader-Sektor kann mit Lockbits gegen Auslesen und internem 
Überschreiben geschützt werden. Mit einem Device Erase wird alles 
gelöscht. Inkl.der Lockbits. Nur die Fuses bleiben, wie sie sind. Das 
lag nicht an den Chinesen.

Wenn man allerdings einen ISP-Programmer hat, kann einem das alles 
herzlich egal sein.

mfg.

von Neuling (Gast)


Lesenswert?

nein ich habe nur einen arduino uno (atmega328) und noch einen 2. Chip 
mit dem ich das versuchen wollte. Kann ich das also nur über AtmelStudio 
oder gibt es bei avrdude da einen Parameter dazu?

von Ulrich F. (Gast)


Lesenswert?

Den Uno kannst du als ISP Adapter nutzen.

Neuling schrieb:
> Kann ich das also nur über AtmelStudio
> oder gibt es bei avrdude da einen Parameter dazu?

Avr Studio nutzt auch den avrdude, genau so wie die Arduino IDE.
Die kochen alle nur mit Wasser.

von J. T. (chaoskind)


Lesenswert?

Das gibt einen Arduinosketch, mit dem du einen Arduino als 
ISP-Programmer benutzen kannst. Der soll sich dann auch aus dem 
AVR-Studio betreiben lassen.

Kenn ich aber nur vom Hörensagen, ich selbst bin glücklicher Besitzer 
eines ICE3 =)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.