Hallo ich wollte gerade ein einfaches Minimalprogramm schreiben um zu testen ob ich den ATMega168PA auf meiner Platine programmieren kann. Im AVR-Studio 4.17, welches ich verwende, gibt es den ATMega168PA jedoch garnicht, bzw. wird mir gesagt, dass ich nur in Assambler und nicht in C programmieren könne. Ich habe nun einfach den ATMega168P ausgewählt und nehme an, dass es keinen Unterschied macht. Vielleicht ist der ATMega168PA ja im AVR-Studio 4.18 enthalten, ich habe noch nicht nachgesehen. Um mein Programm nun zu flashen wollte ich wie immer avrdudeGUI verwenden. Dort wurde auch kein ATMega168 angeboten. Nach einigem Suchen wusste ich nicht wie ich avrdude den ATMega168 beibringen sollte und habe mich kurzerhand dazu entschlossen mein WinAVR zu deinstallieren und die momentan aktuelle Version WinAVR-20100110 zu installiern. Im Paket wurde mir nun auch ein neueres avrdude mitgeliefert. In der avrdude.conf taucht nun auch derATMega168 auf. Starte ich jedoch avrdudeGUI wird mir der ATMega168 nicht zur Auswahl angeboten. Wie kann das sein? Gibt es eine Kommandozeilenoption um die von avrdude unterstützten AVR-Typen anzeigen zu lassen, damit ich sehen kann, dass die avrdude.conf auch von der exe verwendet wird? -v gibt ja nicht viel her. Ich hatte bisher immer die GUI verwendet. Könnt ihr mir weiterhelfen? Vielen Dank.
> Gibt es eine Kommandozeilenoption um die von avrdude unterstützten > AVR-Typen anzeigen zu lassen [..]? Ja. Unter Linux gibt man einfach einen ungültigen µC an, dann bekommt man eine List der bekannten:
1 | $ avrdude.sh -p x |
2 | avrdude: AVR Part "x" not found. |
3 | |
4 | Valid parts are: |
5 | t10 = ATtiny10 [/etc/avrdude.conf:15443] |
6 | [..] |
Wenn man dann noch ein grep hat bleibts einfach:
1 | $ avrdude.sh -p x 2>&1 | grep -ie 168 |
2 | m168 = ATMEGA168 [/etc/avrdude.conf:8173] |
..bleibt allerding die Frage bestehen, woher der avrdudegui seine List bekannter Teile bekommt.. HTH
Danke für den Tipp.
1 | C:\Dokumente und Einstellungen\Nutzer>avrdude -p x |
2 | |
3 | avrdude: no programmer has been specified on the command line or the config file |
4 | Specify a programmer using the -c option and try again |
1 | C:\Dokumente und Einstellungen\Nutzer>"avrdude" -p x -c stk200 |
2 | avrdude: AVR Part "x" not found. |
3 | |
4 | Valid parts are: |
5 | t10 = ATtiny10 [C:\WinAVR-20100110\bin\avrdude.conf:15443] |
6 | [...] |
7 | m168 = ATMEGA168 [C:\WinAVR-20100110\bin\avrdude.conf:8173] |
8 | [...] |
Also kennt avrdude mit m168 den ATMega168. AvrdudeGUI scheint das nicht zu erkennen, oder?
1 | C:\Dokumente und Einstellungen\Nutzer>"avrdude" -p m168 -c stk200 -P lpt1 -U fla |
2 | sh:w:"G:\x.hex":a -E reset |
3 | |
4 | avrdude: AVR device initialized and ready to accept instructions |
5 | |
6 | Reading | ################################################## | 100% 0.00s |
7 | |
8 | avrdude: Device signature = 0xffffff |
9 | avrdude: Yikes! Invalid device signature. |
10 | Double check connections and try again, or use -F to override |
11 | this check. |
12 | |
13 | |
14 | avrdude done. Thank you. |
Wie kannm an die Meldung interoretieren? Hab ich evtl. die Pins zum Adapter vertauscht? Allerdings wird ja auch geschrieben "AVR device initialized and ready to accept instructions". Oh, ich sehe gerade, ich habe einen Kondensator parallel zu VCC und GND noch nicht eingelötet. Es kann sein, dass dadurch die Spannung nicht stabil genug ist. Ich überprüfe es morgen mit dem Oszi. Danke soweit
Nach einigem herumgeeier hab ich nun giveio installiert. ich verwende nun den AVR8 Burnomat v2. Ich kann nun mit dem µC kommunizieren. Es lag an der Stromversorgung. Allerdings hab ich nun ein anderes Problem:
1 | avrdude.exe: AVR device initialized and ready to accept instructions |
2 | |
3 | Reading | ################################################## | 100% 0.00s |
4 | |
5 | avrdude.exe: Device signature = 0x1e940b |
6 | avrdude.exe: Expected signature for ATMEGA168 is 1E 94 06 |
7 | Double check chip, or use -F to override this check. |
8 | |
9 | avrdude.exe done. Thank you. |
Offensichtlich unterscheiden sich die Signaturen. Das verstehe ich nicht. Auf dem µC steht "ATMEL MEGA168PA" im Avr-Studio habe ich mit der Einstellung "ATMega168P" kompiliert und mit avrdude habe ich mit der Einstellung ATMega168 versucht zu flashen. Wo liegt der Fehler? Vielen Dank.
> avrdude.exe: Device signature = 0x1e940b > avrdude.exe: Expected signature for ATMEGA168 is 1E 94 06 Einmaliger Übertragungsfehler? - oder passiert das immer? Falls nein dann nochmals anwerfen, ggf. den Takt etwas runterdrehen. Falls ja dann mal den Takt deutlich runterdrehen.. (..geht das beim stk200? hoffentlich per -i.. ..oder so..) HTH
haltkommandozurück. Die Signatur vom m168PA ist ★tatsächlich★ 0x1E 0x94 0x0B [1]. ..Wer untersucht, ob der m168PA sich so signifikant vom m168 unterscheidet, dass man ihn nicht mit dessen Einstellungen programmieren kann?.. [1] Tabelle 27-10 auf Seite 300/301 im Datenblatt http://atmel.com/dyn/resources/prod_documents/doc8271.pdf
Ich habe es wohl gefunden: Migrating from ATmega48P/88P/168P to ATmega48PA/88PA/168PA: http://www.atmel.com/dyn/resources/prod_documents/doc8196.pdf
1 | 1 Introduction |
2 | In order to optimize the manufacturing process and to further reduce current |
3 | consumption, an optimized version of ATmega48P/88P/168P has been introduced. |
4 | The ATmega48PA/88PA/168PA is a functionally identical, drop-in replacement for |
5 | the ATmega48P/88P/168P. All devices are subject to the same qualification |
6 | process and same set of production tests, but as the manufacturing process is not |
7 | the same some electrical characteristics differ. |
8 | This application note outlines the differences between ATmega48P/88P/168P and |
9 | ATmega48PA/88PA/168PA. There is also a detailed change log to assist the user |
10 | at the end of the ATmega48PA/88PA/168PA datasheet. Remember to always use |
11 | the latest revision of the device datasheet. |
12 | Minor differences in typical characteristics are not discussed in this document as |
13 | long as the low and high limits remain the same. For detailed information about the |
14 | typical characteristics, see sections “Electrical Characteristics” and “Typical |
15 | Characteristics” of the device datasheets. |
16 | [...] |
17 | 2.1 Current Consumption |
18 | [...] |
Habe ich es richtig verstanden (oder kann man anhand diese Dokuments sagen), dass es für das Programmieren und unser Problem keine relevanten Unterschiede zwischen dem ATMega168P und ATMega168PA gibt?
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.