Forum: Mikrocontroller und Digitale Elektronik Allgemeine Fragen zu uCs


von cerberus (Gast)


Lesenswert?

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.

von Mike (Gast)


Lesenswert?

Tja, steht alles im Datenblatt, du müsstest es nur lesen. Aber dafür
gibt es diese Dinger ja.

von cerberus (Gast)


Lesenswert?

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.

von Tobi (Gast)


Lesenswert?

wetten, dass mind 3/4 der fragen im datenblatt stehen?

von Michael (ein anderer) (Gast)


Lesenswert?

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.

von Christian Zietz (Gast)


Lesenswert?

> 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

von cerberus (Gast)


Lesenswert?

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.

von Thomas Burkhardt (Gast)


Lesenswert?

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 ;->

von Christian Zietz (Gast)


Lesenswert?

@cerberus: War Dir meine Antwort nicht konstruktiv genug? Schade!

von Thomas Burkhardt (Gast)


Lesenswert?

Wir brauchen, wie bereits schon mal von einem anderen Teilnehmer
angemerkt, unbedingt Semaphoren oder Spinlocks :-)

von A.K. (Gast)


Lesenswert?

Oder kürzere Fragen.

von cerberus (Gast)


Lesenswert?

@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.

von Stefan Kleinwort (Gast)


Lesenswert?

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

von cerberus (Gast)


Lesenswert?

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?

von Peter D. (peda)


Lesenswert?

@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
Noch kein Account? Hier anmelden.