2017-02-07 4 views
1

Ich habe gerade ein Projekt mit einem Arduino Micro Dev Board beendet und möchte zu einem eigenständigen ATmega32 wechseln.8Mhz Bootloader für Arduino Micro

Ich muss dies bei 3,3 V laufen und ich möchte nicht über die Overclocking-Straße gehen, also habe ich einen 8MHz-Kristall, um es anzulegen.

Ich möchte immer noch in der Lage sein, Skizzen über USB und den Arduino-Compiler zu laden, also muss ich einen anderen Bootloader brennen.

Für diesen Zweck habe ich einen USBASP Programmierer gekauft.

Ich bin etwas unsicher, was als nächstes zu tun - alles, was ich zu dem Thema finden kann, bezieht sich entweder auf den ATmega328 oder auf brennende Bootloader mit einem anderen Arduino.

Ich habe herausgefunden, dass ich boards.txt ändern muss, um auf den richtigen Bootloader zu zeigen .... aber welcher ist der richtige Bootloader für ATmega32 bei 8Mhz?

Muss ich auch Sicherungen wechseln?

Danke

+0

AVR Studio ist, was Sie brauchen. – LPs

+0

Ich bin mir überhaupt nicht sicher, aber ich würde es mit dem ursprünglichen Optiboot-Projekt versuchen. Ich sage, dass es einen Mega32 Bootloader gibt; Sie können versuchen, das Archiv herunterzuladen und dann die Boards-1.6, TXT-Datei zu ändern, um eine weitere Variante hinzuzufügen. Sie können die gleiche binäre wie die ursprüngliche verwenden (die mit 16 MHz läuft), aber ändern Sie die Taktfrequenz und vielleicht die Baudrate (halbieren Sie es einfach, wenn der Bootloader nicht antwortet). Ändern Sie das Bootloader-Tool (nicht sicher, wie es geht, aber ich denke, dass Sie den USBASP einstellen müssen). Dann versuchen Sie es ... Überprüfen Sie die Sicherungen auf dem Datenblatt, um sicher zu sein. Und ... Warum der 8MHz-Kristall? Normalerweise vermeide ich es, da der 328 hat ... – frarugi87

+0

... einen internen Oszillator bei 8MHz, so kann ich es einfach verwenden, die Sicherungen zu ändern (und ein Kristall und zwei Kondensatoren zu sparen). Ich benutze nur Kristalle, wo ich eine höhere Präzision brauche, aber dann laufe ich normalerweise mit 16MHz ... – frarugi87

Antwort

0

Ich denke, du bist ein wenig Pech.

Der ATmega hat keine Hardware USB, also gehe ich davon aus, dass der Bootloader V-USB verwendet, um USB zu implementieren. Dieser Stack, der eine Softwareimplementierung der Hochgeschwindigkeits-Signalisierung von USB ist, benötigt mindestens 12 MHz Takt (höher ist besser).

Ich glaube nicht, dass Sie V-USB nur mit dem internen 8-MHz-Oszillator ausführen können.

+0

Ich frage mich, wie betrieblich das ist, wenn irgendeine andere Software läuft. Selbst ein Interrupt würde Probleme verursachen. Korrektur: die verlinkte Seite sagt, dass es mindestens 12 MHz benötigt, die 12.8 ist für den internen RC-Osc. – Olaf

0

Laut den OP-Kommentaren ist das Mikro wirklich ein Atmega32u4, kein Atmega32 (@OP: Bitte fixiere die Frage passend dazu).

Da es an Bord USB hat, können Sie einen bereits bestehenden Bootloader wie die sparkfun man verwenden:

https://www.sparkfun.com/products/12587

Hier können Sie den Link zu einem ihrer Produkte haben, die Arduino pro Mikro 3,3V (die mit 8 MHz läuft). Sie können das sparkfun arduino boards Repository zu Ihrer IDE hinzufügen und dann einfach die Platinenspezifikation für ihr Pro-Mikro 3.3V verwenden, den korrekten Bootloader hochladen und es wie das gewöhnliche Arduino Micro über den USB programmieren.

+0

Danke - das denke ich ist definitiv der Weg nach vorne! –

+0

@NickThornton Ok, dann versuchen Sie es und sehen, ob es funktioniert. Wenn dies der Fall ist, markieren Sie die Antwort als akzeptiert, damit Personen, die nach dem gleichen Problem suchen, die Lösung leicht finden können – frarugi87