Forum: Mikrocontroller und Digitale Elektronik Konventionellen ATMega328 über Arduino programmieren


von Johannes M. (jo-loom)


Lesenswert?

Nach langem und schwerem Leidensweg zunächst das Ergebnis der jüngsten 
Tüftelei:

Ziel war es über Arduino IDE einen konventionellen ATMega328 zu 
programmieren. Der kleine feine Unterschied zu den Arduino-Boards liegt 
darin, dass eben kein ATMega328P zum Einsatz kommt.
Ich verwende ein Low Cost Board mit Chip und externem 20 MHz Quarz, 
statt RS232 oder USB erfolgt die Programmierung über ISP.

Zunächst mittels AVRStudio6 ruckzuck die Funktion der Hardware geprüft 
und den Chip zur Probe geflashed, sowie die Fuses korrekt eingestellt. 
Dauer: 3 Minuten.

Dann der Versuch das Teil über Arduino (Modul Mini oder Nano) 
anzusprechen. Fehlschlag. Arduino meldet stets einen Signatur-Fehler. 
Ist verständlich, da der 328 eine andere Signatur als der 328P hat.

Also Tante Google bemüht und auf 
http://code.google.com/p/arduino/wiki/Platforms den Hinweis zur 
Verwendung des Settings PROGRAMMER.force gefunden. Also in der 
Konfigurationsdatei boards.txt eine Kopie des bt328 angelegt und 
besagten Parameter ergänzt. Dabei auch gleich die Taktrate auf 20000000 
gestellt. Alle Versuche klappten jedoch nicht. Eigentlich sollte Arduino 
nun an avrdude den Parameter -F senden. Es blieb jedoch stets bei der 
Fehlermeldung mit falscher Signatur.

Somit als nächstes die Datei avrdude.conf gefunden und dort eine Kopie 
des ATmega238p angelegt - umbenannt in ATmega328. In dieser die 
richtigen Fusebits eingetragen. Dazu gleich id und desc umgestellt. Mist 
- klappte immer noch nicht. Nun moserte der Compiler, da ihm offenbar 
Chip-Beschreibungen fehlen.

Als letztes dann quasi aufgegeben und in der bestehenden Beschreibung 
des ATmega328p die Signatur angepasst. Juhuu. Jetzt läuft es.
Ist allerdings unbefriedigend, da ich ja eigentlich eine neue 
Chip-Beschreibung ergänzen oder alternativ die Signatur-Überprüfung 
ausschalten wollte.

Hat einer von Euch es hinbekommen eine fehlende Chip-Definition 
lauffähig zu ergänzen in entweder boards.txt oder avrdude.conf?

von chris (Gast)


Lesenswert?


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.