Hallo zusammen,
ich habe auf einen ATMEGA8 über die Arduino Entwicklungsumgebung den dafür vorgesehenen Bootloader geflasht. Danach in der Entwicklungsumgebung die passende HW ausgewählt und das LED-Blink-Beispiel über USB geladen.
Soweit funktioniert alles, was mir aber auffällt ist, dass nach Reset über den Taster oder Power-On das Blinken erst nach ca. 10 Sekunden beginnt!? Ist das normal? Ich hätte erwartet, dass der Programmstart unverzüglich nach Reset oder Power-On erfolgt.
Nach einem Reset oder Power on wird der Bootloader ausgeführt. dieser kontrolliert ob ein PC einen Sketch übertragen will. Falls dies nicht der Fall ist wird der Sketch ausgeführt. Das Dauert seine Zeit. 10 Sekunden sind aber etwas viel.
danke für deine Antwort. Hört sich plausibel an. Habe mir fast gedacht, dass das mit dem Bootloader zusammenhängt.
Man kann doch das Programm auch über einen ISP-Programmer zum Chip übertragen. Bleibt bei dieser Methode der Bootloader erhalten oder wird er überflasht? Ich frage deshalb, weil ohne Bootloader die Startverzögerung eliminiert wäre und das wäre mir recht.
Bei der ISP-Programmierung bleibt der Bootloader erhalten. Aber den Bootloader brauchst Du in diesem Falle nicht da dieser die Übertragung des Programms über die serielle Schnittstelle ermöglicht.
Der Adressraum in dem der Bootloader liegt ist durch Fuse gegen Überschreiben gesichert. Du mußt diese neu setzen und den Sketch über ISP übertragen.
Genaueres kann ich Dir aber nicht sagen.
Kontrollier mal, ob der Atmega8 mit der richtigen Frequenz läuft, heißt, ob beim Laden des Bootloaders die Fuses richtig gesetzt wurden. Lad mal das Beispiel "Blink" aus der Arduino IDE. Blinkt die LED mit 1s und 1s Pause? Falls nicht stimmt die Frequenz nicht. Benutzt du den internen Taktgeber des Chip oder einen externen Quarz?
The ATmega8 bootloader only takes up 1 KB of flash. It does not timeout when it receives invalid data, you need to make sure that no data is sent to the board during the 6-8 seconds when the bootloader is running.
Es gibt auch modifizierte Bootloader für den Atmega8 (musst googeln) mit den üblich 1-2 Sekunden Startzeit.