Vielen Dank!
Nur mir stellt sich noch die Frage (weil ich das etwas unschön finde den SDA pin auf low zu ziehen der ja evtl. grundsätzlich mal für I2C genutzt wird) WO im Programm der M32 befindet sich die Stelle an der es heißt:
"wenn sda= low, starte programm"
Ich würde dafür nämlich sehr gerne einen anderen Pin verwenden.
Danke schonmal!
Das ist im Bootloader integriert. Das muss so gemacht werden da auf dem RP6 ja ggf. mehrere Controller gleichzeitig (und nur über einen zentralen Taster oder per Kommando) gestartert werden sollen.
Der I2C Bus wird dadurch NICHT gestört.
Einzige andere Alternative ist ein "s" über die serielle Schnittstelle zu senden - oder den Bootloader löschen und dann nur noch über ISP programmieren.
MfG,
SlyD
Super danke.
Es führt genau zu dem Thema hin wo ich nicht fit bin.
Wie genau kann ich mir den Bootloader vorstellen, wo und wie wird er erstellt, draufgeladen, wie lösche ich ihn, wie wird das programm mit dem bootloader "verbunden".. In dem Bereich bin ich ehrlich gesagt nicht sehr fit.
Hast du hierfür einen guten link den ich mir mal in Ruhe zu Gemüte führen kann?
Du hast es auch schon angesprochen "den bootloader löschen" und über spi programmieren.
Da soll das Ziel hingehen. Ich würde gerne später über einen Atmel Programmer (weiß nicht genau welchen wir haben) den Controller über die SPI schnittstelle programmieren. Wie genau gehe ich da vor? Die kleinen Hardware Änderungen machen und den Bootloader löschen, das wars?
Wäre super wenn du mir für diese Thematik ein paar links bereitstellen könntest, vielen Dank!
Der Bootloader ist schon ab Werk im RP6 Controller drin - damit man den Prozessor auch einfach nur mit dem USB Interface programmieren kann (und mit demselben Interface auch die serielle Ausgabe möglich ist).
Den kann man nur über ISP löschen sonst nicht.
http://www.rn-wissen.de/index.php/Bootloader
http://www.rn-wissen.de/index.php/RP6
https://www.roboternetz.de/community...RP6-Bootloader
Im RP6 Artikel steht auch was zum ISP Anschluss.
Du musst da aber etwas aufpassen - nicht die Fusebits verstellen da kannst Du Dich leicht "aussperren" (noch ein Grund für den Bootloader: damit kein Anfänger unabsichtlich den Prozessor "zerfused").
MfG,
SlyD
Ok danke, sind denn im Bootloader noch andere Programm-relevante Dinge enthalten, zusätzlich zum Programm start bei SDA low.
Also wenn ich mich entscheiden würde den Bootloader runterzuschmeißen und über ISP zu programmieren.
Mein Programm ist nach wie vor das selbe, dann müsste ich schonmal die Änderung vornehmen dass ich das programm nicht über den SDA starten muss, sondern anders. Meine Frage ob ich dann noch andere Änderungen, zusätzlich zu der SDA_low Geschichte vornehmen müsste damit alles so funktioniert.
Gruß
edit:
In zusammenhang mit ISP wird oft auch "bootloader löschen" genannt. Aber es ist doch auch möglich "alles so zulassen" und lediglich die Hardware umzubauen, damit ich per Uart(bootloader) oder eben ISP programmieren kann - wahl per steckbrücke. Wenn ich nun per ISP programmiere ist der bootloader ja dann völlig außer acht - d.h. mein Programm würde in diesem Fall automatisch starten?
Geändert von morten1027 (15.09.2011 um 06:37 Uhr)
Ich bin in dem Thema auch nicht 100% fit. Aber so habe ich es damals verstanden:
Der Bootloader initialisiert einen Teil der Hardware (u.a. die Kommunikation über UART und Co.) damit du über den USB-Adapter oder was halt beiliegt programmieren kannst. Der Bootloader ist im Prinzip auch "nur" ein normal geschriebenes Programm welches aber in einem speziellen Bereich des Speichers abgelegt wird.
In den Fuses kannst du einstellen, dass
a) der Bereich mit dem Bootloader geschützt wird (so kannst du auch über ISP Programme flashen ohne den Bootloader zu beeinflussen) und
b) wie groß der reservierte Bereich für den Bootloader sein soll.
Wie es beim RP6 ist kann ich nicht genau sagen, ich weiß nur, dass wir bei einem Projekt auf Basis eines Asuros (ich war für die Mechanik zuständig) Teile des Bootloaders brauchten damit die vorgegebenen Funktionen (wie MotorSpeed(); MotorDir(); ect. funktioniert haben.
Alles ist möglich. Unmögliches dauert nur etwas länger!
Lesezeichen