Das heißt ich habe nur einen Versuch??
Kann man das nie wieder zur ISP zurückschalten??
Mfg
bnitram
Musst du gucken ob es so gehtmehr als nicht funktionieren wird es nicht
aber wenn du nur Rx und Tx verwendest hast du keine Reset-Leitung
Das heißt ich habe nur einen Versuch??
Kann man das nie wieder zur ISP zurückschalten??
Mfg
bnitram
Wieso nur einen Versuch?
Und das mit dem ISP und Bootloader hast du glaub ich auch noch nicht so richtig verstanden.
Also.....
Der ISP ist die interne Programmierschnittstelle des µC. Über diese kannst du Sachen wie Programme, Bootloader und Fusebits auf den Controller übertragen. Ein Bootloader ist ein bestimmter Bereich im Speicher des Controllers der eine Anweisung erhält wie sich der Controller über RS232 sein Programm holt und es in seinem Speicher speichert. Dieser Speicherplatz der für den Bootloader reserviert ist kannst du natürlich nicht für dein eigentliches µC-Programm verwenden. Wenn dein Controller einen Bootloader drauf hat kannst du natürlich noch weiter den ISP benutzen. Der Bootloader ist dann nur eine 2. Programmiermöglichkeit wie du fertige .hex-Files auf den Controller bekommst. Direkt Fusebits umschalten z.B. kannst du nur mit einem ISP-Programmer. Wenn du trotzdem Fusebits umschalten willst musst du das, wenn du einen Bootloader benutzt, im Programm machen. Wenn du irgendwann keinen Bock mehr auf nen Bootloader hast kannst du diesen natürlich löschen und dann hast du den Speicher auch wieder frei.
Der Bootloader verwendet für die Übertragung des .hex-Files die RS232 Leitungen, also Rx und Tx. Alternativ können auch die Handshake-Signale mit benutzt werden, sind aber keine Pflicht.
Hoffe du hast das soweit nun verstanden
Du hast, wenn du einen Bootloader aufspielst, im Endeffekt eine 2. Programmiermöglichkeit geschaffen. Und für diese brauchst du dann keinen Programmer mehr sondern nur noch eine RS232 Schnittstelle.
Geändert von Kampi (05.08.2011 um 19:33 Uhr) Grund: Was vergessen
Auch wenn man einen Bootloader drauf hat, kann man weiter per ISP programmieren. Nur wenn man den Reset Pin als IO-Pin nutzen will, oder das ISP Interface explizit abstellt, geht es so nicht mehr. Per HV Programmierung kommt man immer wieder zurück, braucht aber einen passenden Programmer (z.B. STK500, Dragon,...) dafür.
Es hängt vom Bootloader ab, ob der PC Zugriff auf den Reset Pin haben sollte. Oft reicht es auch erst die Verbindung zum PC herzustellen und dann von Hand einen Reset auszuführen. Gleich nach dem Reset läuft erstmal der Bootloader und wenn der den PC nicht findet, läuft dann in der Regel das normale Programm weiter. Wie der PC erkannt wird - ist ein Unterschied zwischen den verschiedenen Bootloadern.
Stimmt nicht ganz, unter Programmer wird ausgewählt das man mittels Bootloader Programmieren will. Hier wird dann des passende Terminal gestartet. Der eigentliche Bootloader selber (der per ISP in den Chip geschoben wird) befindet sich unter Samples/boot/... Der muss compiliert und dann per ISP auf den Chip geschaufelt werden. Vorher mittels ISP die Fusebits für den Bootloader Bereich einstellen, Danach noch die Fuse für den Bootloader Überschreibschutz setzen damit man den nicht selber wieder löscht.
Gruß Richard
Hallo Richard,ich kenne mich nicht wirklich mit den Fusebits aus. Welche sind das bzw. Wo kann ich das genau einstellen. Mfgbnitram
Schau mal hier nach:
http://www.rn-wissen.de/index.php/Avr
Das sollte dir weiterhelfen.
welche fusebits du setzen musst kannst du hier nachschaun:
http://www.engbedded.com/fusecalc
Das ist je nach Chip immer etwas anders. Mit Bascom habe ich dabei immer kleine Probleme deshalb setze ich die Fusebit's immer mit dem Studio 4 dort geht das sehr einfach. Erst auslesen damit die richtigen für diesen Chip angezeigt werden, dann ändern nochmal zur Kontrolle auslesen, fertig.
Aber genau aufpassen, wenn man z.B. einen falschen Quarz einstellt sperrt man sich schnell aus.Der Link zum RN Wissen ist gut, unbedingt durchlesen auch den weiterführenden Link "erstes Programm"....
Gruß Richard
Lesezeichen