Hi. Ich hab da mal ein paar Fragen zu uCs die ich nicht verstehe. Bootloader. Wofür brauche ich einen Bootloader. Brauche ich einen Bootloader um ein Atmel uC über das JTAG Interface zu programmieren? Brauche ich einen Bootloader um ein Atmel uC über das SPI Interface zu programmieren? Wenn ich den Bootloader nicht brauche, kann ich ihn dann über die Fuses abschalten ohne mir was zu verbauen? Wenn ich den Bootloader abschalte, habe ich offenbar mehr Programmspeicher zur Verfügung oder das Programm beginnt an einer anderen Stelle. Wird das über die BOOTRST-Fuse gesteuert? Oszillatoren. Es gibt offenbar interne und externe Oszillatoren. Dabei scheint es als müsste, oder könnten 2 externe Oszillatoren angesprochen werden, zumindest bei den großen Atmel Prozessoren, also auf XTAL und TOSC ? Warum? Die Taktfrequenz des Oszillators ist offenbar auch für die Schreibgeschwindigkeit beim Programmieren relevant, doch kann ich beim Programmieren die Taktquelle und Geschwindigkeit verändern. Kann ich denn den uC dann noch Mal neu programmieren? Fuses Offenbar gibt es noch mehr Wege, sich aus dem uC selbst auszusperren. Ich habe irgendwo gelesen, dass es immer möglich sein soll den uC komplett zu löschen, was ich mir aber nicht vorstellen kann, wenn ich ihn nur über SPI programmiere und die SPI Fuse gesetzt? gelöscht? ist? Von welchen Fuses sollte man besser die Finger lassen, wenn man z.B. mega 64 oder mega128 mit SPI programmieren möchte? (Außer die SPI natürlich!) Soviel für den Anfang. Danke schon mal für alle die versuchen zu helfen.
Tja, steht alles im Datenblatt, du müsstest es nur lesen. Aber dafür gibt es diese Dinger ja.
Ich habe die Datenblätter gelesen, aber da steht es eben nicht drin! Dafür gibt es unzählige Internetseiten in denen es mal so und mal so steht. Jetzt hätte ich gerne mal was verbindliches aus erster Hand.
Zum Datenblatt Lesen gehört natürlich auch noch mit dazu, zu denken! Druck' Dir das Datenblatt aus, und lese das Datenblatt so, als wäre es ein Buch. Von vorne bis hinten, jede Seite ganz genau lesen. Und wenn Dir ein Absatz nicht klar war, das Kapitel wieder von vorne, solange bis Du jeden Absatz, jede Tabelle und jedes Diagramm In- und Auswendig kannst und verstanden hast. Wenn Du unerfahren bist, wirst Du zum Lesen eines Datenblattes, wie des schon recht umfangreichen AtMega128, schon mal eine Woche brauchen. Das geht nicht so nebenher im Schluddergang. Deine Fragen sind wirklich alle im Datenblatt beantwortet.
> Wofür brauche ich einen Bootloader. Um den uC mit einem Protokoll Deiner Wahl zu programmieren. Viele Bootloader sind für die RS232-Schnittstelle, aber jede andere denkbare Schnittstelle wäre auch möglich. > Brauche ich einen Bootloader um ein Atmel uC über das JTAG Interface zu programmieren? Brauche ich einen Bootloader um ein Atmel uC über das SPI Interface zu programmieren? Nein. Nein. > Wenn ich den Bootloader nicht brauche, kann ich ihn dann über die Fuses abschalten ohne mir was zu verbauen? Wenn ich den Bootloader abschalte, habe ich offenbar mehr Programmspeicher zur Verfügung oder das Programm beginnt an einer anderen Stelle. Ja. Ja. > Wird das über die BOOTRST-Fuse gesteuert? Das steuert, wo Dein uC mit der Programmausführung startet. Die Größe des Bootloaders wird über andere Fuses eingestellt. > Es gibt offenbar interne und externe Oszillatoren. Dabei scheint es als müsste, oder könnten 2 externe Oszillatoren angesprochen werden, zumindest bei den großen Atmel Prozessoren, also auf XTAL und TOSC ? Warum? XTAL ist der Hauptsystemtakt, TOSC der Takt für einen ggf. asynchron laufenden Timer2. > Die Taktfrequenz des Oszillators ist offenbar auch für die Schreibgeschwindigkeit beim Programmieren relevant, doch kann ich beim Programmieren die Taktquelle und Geschwindigkeit verändern. Kann ich denn den uC dann noch Mal neu programmieren? Ja, wenn die ausgewählte Taktquelle beim nächsten Programmieren auch zur Verfügung stellt. Wählst Du z.B. Quarz muss auch ein externer Quarz dran sein. Mit der Geschwindigkeit gibt's höchstens Probleme, wenn der Programmer zu schnell für die Geschwindigkeit des uCs ist => Programmer auf langsam stellen. > Ich habe irgendwo gelesen, dass es immer möglich sein soll den uC komplett zu löschen, was ich mir aber nicht vorstellen kann, wenn ich ihn nur über SPI programmiere und die SPI Fuse gesetzt? gelöscht? ist? Über Parallel Programming (bzw. High Voltage Serial Programming bei kleinen AVRs) kommt man immer dran. > Von welchen Fuses sollte man besser die Finger lassen, wenn man z.B. mega 64 oder mega128 mit SPI programmieren möchte? (Außer die SPI natürlich!) Die SPI-Fuse kannst Du über SPI nicht ändern. Tückisch ist neben der Wahl einer nicht vorhandenen Taktquelle insbesondere die Abschaltung des Reset-Pins, der wird für SPI benötigt. Christian
Ist das hier ein Comedy-Forum? Es ist jeder herzlich gern eingeladen hier seinen geistigen ..... Abzuladen. Froh wäre ich aber, wenn auch jemand etwas konstruktives dazu beizutragen hat. Ich habe da sehr unterschiedliche Informationen aus den Datenblättern und von Anwendern und würde gerne diesen Informationspool durch Erfahrungsinformationen noch etwas aufrischen.
Hi, auch wenn vielleicht das meiste im Datenblatt steht, darf man nicht vergessen, dass oft nicht dabei steht warum oder wozu etwas bestimmtes da ist. Gerade die Frage wird sich ein Anfänger aber oft stellen. Zur Beantwortung sollte doch das Forum da sein ;-) > Wofür brauche ich einen Bootloader. Damit kannst du bspw. den µC für Endanwender einfacher programmierbar machen, da die Programmierung dann z.B. über die serielle Schnittstelle erfolgen kann. Vielleicht willst du auch einfach den ISP-Programmieradapter auf der Schaltung weglassen... > Brauche ich einen Bootloader um ein Atmel uC über das JTAG Interface zu programmieren? Nein > Brauche ich einen Bootloader um ein Atmel uC über das SPI Interface zu programmieren? Nein. > Wenn ich den Bootloader nicht brauche, kann ich ihn dann über die Fuses abschalten ohne mir was zu verbauen? AFAIK ja. > Wenn ich den Bootloader abschalte, habe ich offenbar mehr Programmspeicher zur Verfügung oder das Programm beginnt an einer anderen Stelle. Mehr Programmspeicher, aber selbe Stelle. > Wird das über die BOOTRST-Fuse gesteuert? RTFM. > Es gibt offenbar interne und externe Oszillatoren. Jo. > Dabei scheint es als müsste, oder könnten 2 externe Oszillatoren angesprochen werden, zumindest bei den großen Atmel Prozessoren, also auf XTAL und TOSC ? Müssen nicht, können. > Warum? Die Beantwortung dieser Frage wird als Hausübung freigehalten. > Die Taktfrequenz des Oszillators ist offenbar auch für die Schreibgeschwindigkeit beim Programmieren relevant, doch kann ich beim Programmieren die Taktquelle und Geschwindigkeit verändern. Kann ich denn den uC dann noch Mal neu programmieren? Ja, die Taktfrequenz hat Einfluss auf die Programmiergeschwindigkeit, aber ob dich das wirklich stört?! Als Hobbyanwender macht es IHMO wenig Sinn, die Fuses für jeden Programmiervorgang umzustellen. > Offenbar gibt es noch mehr Wege, sich aus dem uC selbst auszusperren. Jo. > Ich habe irgendwo gelesen, dass es immer möglich sein soll den uC komplett zu löschen, was ich mir aber nicht vorstellen kann, wenn ich ihn nur über SPI – programmiere und die SPI Fuse gesetzt? gelöscht? ist? Es ist immer möglich, die Frage ist nur, welche Art von Programmer man dazu benötigt. Wenn du halt nur einen ISP-Adapter hast, solltest du die Finger von allem lassen, was mit dem Resetpin zu tun hat. > Von welchen Fuses sollte man besser die Finger lassen, wenn man z.B. mega 64 oder mega128 mit SPI programmieren möchte? (Außer die SPI natürlich!) K.A. da ich leider das Datenblatt dieser µC noch nicht gefressen habe. PS: @Micheal: Auswendiglernen von Datenblättern halte ich für Humbug, hast du zufällig Medizin studiert oder warum bist du dieser Meinung ;->
Wir brauchen, wie bereits schon mal von einem anderen Teilnehmer angemerkt, unbedingt Semaphoren oder Spinlocks :-)
@Christian. / Thomas Sorry. Eure Antworten hatte ich noch nicht gesehen, Muss sich wohl überschnitten haben. Nein, Eure Antworten sind Super. Danke. Ich hab halt solch Zeugs zusammengesammlt wie, : "Man könne den Bootloader löschen aber den uC dann nur noch einmal programmieren ..." ... Der Sinn der 2 Timer will mir nicht ganz eingehen. Ich verstehe schon was man damit bezweckt, aber ich sehe im Momnet noch keine Anwendung, wofür ich sowas brauchen würde ... ist aber bestimmt interessant Danke.
Der eine Quarz ist für High-Speed, der andere als Uhrenquarz. Du kannst den schnellen Oszillator abschalten und im Stromsparmode warten, bis der Uhrenquarz irgendwann eine IR auslöst. Dann startet der HS-Quarz automatisch wieder. Das Ganze ist hauptsächlich zum Stromsparen interessant. Übrigens habe ich schon den Eindruck, dass Du Dich mit dem Datenblatt beschäftigt hast. Ähnliche Fragen habe ich am Anfang auch gehabt, aber leider gab es damals noch kein Netz zum Fragen-Stellen. Stefan
In Etoscha hat mir mal ein Wildhüter gesagt: "Mach Dir keine Gedanken um die Löwen, die Du siehst" Das Problem ist das gleiche mit den uCs. Man sucht sich was raus, nährt sich von Datenblättern und dem halbwissen von Verkäufern ... und plötzlich scheitern man an ganz banalen Dingen, von denen dann jeder wußte, dass man da aufpassen muss. ... nur gesagt hats keiner ... Kurz zum Quarz. Ich kann doch die Taktfrequenz durch den Prescaler ohnehin teilen, soweit ich das noch in Erinnerung habe auf ein /256 oder /128 also sagen wir mal bei einem 8Mhz-Quarz auf ca 13.250 kHz? Macht es da dann noch einen Unterschied, ob man extern noch einen Uhrenquarz dran hat, beim Stromverbrauch?
@cerberus und vor allem zuerst mal angeben, wovon Du überhaupt sprichst ! Es liest nicht jeder die Posts ganz genau, um fast am Schluß das versteckte "mega 64 oder mega128" zu entdecken, was aber auch nur ein Kenner zuordnen kann. Z.B.: "Es geht um den ATMega64 aus der AVR-Familie der Firma Atmel." Warscheinlich sind darauf einige der unfreundlichen Antworten zurückzuführen. Peter
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.