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
Kannst du entfernen. Solltest aber auch die Fuses anpassen.
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
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.
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?
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.