Hallo, ich fange gerade mit dem Basteln mit Mega8 und Mega16 an, kenne aber bis jetzt nur 4433, ist das mit dem ISP gleich und was bedeutet das SELF PROG., übersetzt "selbstprogrammierend". Vielleicht kann mir das ja mal jemand erklären. Gruss A. Arndt
Ist ganz genauso wie bei den "alten" AVRs. Nur die MOSI und MISO Pins darfst du jetzt nicht mehr benutzen, sondern die nennen sich jetzt PDO und PDI. Steht aber im Datenblatt! Selbstprogrammierend bedeutet, daß er sich selbst programmieren kann und du dich zur Ruhe setzen kannst gg Ne, daß bedeutet einfach nur, daß der µC von sich aus eine Programmierung herbeiführen kann. Beispielsweise könnte das Ding prüfen, ob ein Update verfügbar ist und sich dann selber updaten... Gruß, Klaus
Selbstprogrammierend = bootloader hiermit kann der flash speicher über die rs232 upgedatet werden.
@Klaus: Im TDS des Mega16 gibt es aber noch mosi und miso... Gruss A. Arndt Heisst es etwa auch, ich kann die Programmierung später komplett über rs-232 machen ????
>> Im TDS des Mega16 gibt es aber noch mosi und miso... die gibts bei allen megas du kannst diese aber nicht mehr für isp benutzen sondern wie gesagt über PDO und PDI. >> Heisst es etwa auch, ich kann die Programmierung später komplett über rs-232 machen ???? wenn du dir den bootloader programmierst ja. Gruss, BAB
ATmega163 Datasheet: "Both the Flash and EEPROM memory arrays can be programmed using the serial SPI bus while RESET is pulled to GND. The serial interface consists of pins SCK, MOSI (input) and MISO (output)." Der ATmega16 ist als Ersatz für den 163 gedacht, also wird es da genauso sein.
Hi klar ist das auch beim Mega16 so. PDO und PDI gibts dort garnicht. Die gibts beim MEga128 und dort müssen sie auch benutzt werden. Matthias
Hallo, lt. A. Schw. und Matthias sind die Pins so geblieben, die Programmierung ist hier also wie beim 4433 ???, lese ich so raus. Wenn man die MISO usw. nicht für Prog. nutzen kann, welchen Sinn haben sie denn dann noch... Gruss A. Arndt
Hi du kannst sie als SPI-Schnittstelle zu anderen Bausteinen benutzen. Es gibt z.B. EEPROM's und AD-Wandler mit SPI-Interface. Aber wie gesagt: Es werden weiterhin alle AVR's (mit Ausnahme von MEGA64, MEGA103 und MEGA128) über MOSI und MISO programmiert. Bei den genannten Außnahmen geht man über RxD und TxD oder wie die auch gennant werden PDI und PDO. Matthias
Also hier scheinen einige Leute was zu verwechseln. Mega8, 16, 32 werden weiterhin über die altbekannte ISP Schnitstelle mit MOSI, MISO und SCK programmiert. Nur Mega64/128 verwenden statt MOSI/MISO die Pins des UART0, nämlich PD0 und PD1 Und Self Programming ist nicht gleich Bootloader. Der Bootloader ist nur eine Möglichkeit, die Self Programming bietet. Self Programming generell heißt erstmal, das es jetzt ein paar neue ASM Befehle gibt die es einem Programm ermöglichen, beliebige Daten während der Programmlaufzeit in das Flash zu programmieren. Das kann dann zum einen ein Bootloader sein, der ein neues Programm von praktisch jeder beliebigen Quelle empfangen und in das Flash schreiben kann, das kann aber auch ein Programm sein, das z.b. die Texte für ein Menu in einer anderen Sprache im Flash ablegt Der Bootloader ist zwar ziemlich flexibel und mächtig, aber leider auch etwas komplizierter einzurichten. Hierfür wird ein gewisser bereich am Ende des Programmspeichers reserviert und gegebenenfalls auch gegen Überschreiben geschützt. Dann muß man den Bootloader einmal mittels ISP (Man kommt also auch da nicht drum rum) in das Flash schreiben. Jetzt gibt es zwei Möglichkeiten den Bootloader aufzurufen: 1. Direkt bei Reset wird der Bootloader angesprungen. Jetzt kann der Bootloader z.B. einen Port abfragen, ob ein Jumper gesteckt ist oder nicht. Ist er z.B. gesteckt wartet der Bootloader, bis das neue Programm über eine Schnittstelle kommt und speichert es im Flash. Anschließend startet er das Programm. 2. Bei einem Reset wird ganz normal die Applikation angesprungen. Die Applikation kann nun den Bootloader aufrufen. Das kann man z.B. über ein Menu (Software Update) machen. So, war zwar jetzt viel Text, aber ich hoffe es hat sich gelohnt. Gruß Markus
Hi Markus, das ja im Prinzip, das im Programmflash eine Routine stehen kann, die nur dazu dient ein weiteres Programm aus z.B. Eprom zu laden, oder? Günter
Hi Günter, richtig, der Bootloader ist ein Programm, das am Ende des Programmspeichers steht und mit dem man andere Programme, z.b. über die serielle Schnittstelle oder sogar über Ethernet enpfangen und an den Anfang des Flash Speichers schreiben kann.
Die aber jederzeit wieder durch andere Programmteile ersetzt werden können denke ich mal. Also ein Beispiel: Mainroutine im Flash div Programmteile im EPROM (z.B.512KB) Aufruf der Programmteile durch externe Ereignisse (Interrupts, Ports) Das Ganze wäre dann so zu behandeln wie ein Main Programm mit externen Subroutinen wenn ich das richtig verstanden habe. Oder Denke ich schon wieder zu weit? Günter
Theoretisch wäre das Nachladen von Teilprogrammen wohl möglich, aber da Atmel für den Flash nur 10.000 Schreibzyklen garantiert macht das in der Praxis keinen Sinn.
Hallo, macht diese Bootloader-Geschichte über Menüansteuerung beim Mega8 soweit Sinn, die ISP-Geschichte einzustampfen ? Gruss A. Arndt
Über Sinn oder Unsinn entscheidet wohl die Anwendung. Es ist in jedem Fall eine Alternative die aber nur Sinn macht wenn sowieso ein RS232 Treiber vorhanden ist. In Zeiten, in denen die klassischen Schnittstellen wegfallen werden die aber seltener
Nicht unbedingt, schließlich braucht der Bootloader auch Speicher... und wenn er nicht unbedingt benötigt wird ist er schlicht überflüssig. Den Bootloader halte ich bzw. nur für sinnvoll wenn der Anwender dazu in der lage sein soll/muss die Controllersoftware zu erneuern.
Hi Ein Bootloader hat ja zwingend nichts mit einer RS232 zu tun. Er braucht die Daten einfach nur irgendwo her. In meinem nächsten Projekt wird ein Softwareupdate über USB möglich sein. Da man das Gerät nach dem Zusammenbau nur ungern auseinandernimmt und der USB die einzige externe Schnittstelle ist ist da der Bootloader durchaus sinnvoll. Matthias
hallo @ all, alles recht interessant, aber welche möglichkeit bzw. bootloader gibt es denn für den serialport. bootloader ist ja schon und gut, und welche passende soft gibt es denn für den pc Andreas
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.