Forum: Mikrocontroller und Digitale Elektronik versuche zu flashen: atmega329PV


von Erik (Gast)


Angehängte Dateien:

Lesenswert?

hallo,

ich finde leider im avrdude nicht das attribut atmega329pv. ich möchte 
meine alte funke flashen.

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 
-0.00s

avrdude: Device signature = 0x1e950f
avrdude: Expected signature for ATmega329P is 1E 95 0B
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be 
performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file 
"..\ButterflyCore-master\ButterflyCore-master\avr\bootloaders\optiboot_f 
lash\atmega329p\optiboot_flash_atmega329p_115200_16000000L.hex"
avrdude: input file 
..\ButterflyCore-master\ButterflyCore-master\avr\bootloaders\optiboot_fl 
ash\atmega329p\optiboot_flash_atmega329p_115200_16000000L.hex  auto 
detected as Intel Hex
avrdude: writing flash (32718 bytes):

Writing | ################################################## | 100% 
0.02s

avrdude: 32718 bytes of flash written
avrdude: verifying flash memory against 
..\ButterflyCore-master\ButterflyCore-master\avr\bootloaders\optiboot_fl 
ash\atmega329p\optiboot_flash_atmega329p_115200_16000000L.hex:
avrdude: load data flash data from input file 
..\ButterflyCore-master\ButterflyCore-master\avr\bootloaders\optiboot_fl 
ash\atmega329p\optiboot_flash_atmega329p_115200_16000000L.hex:
avrdude: input file 
..\ButterflyCore-master\ButterflyCore-master\avr\bootloaders\optiboot_fl 
ash\atmega329p\optiboot_flash_atmega329p_115200_16000000L.hex  auto 
detected as Intel Hex
avrdude: input file 
..\ButterflyCore-master\ButterflyCore-master\avr\bootloaders\optiboot_fl 
ash\atmega329p\optiboot_flash_atmega329p_115200_16000000L.hex  contains 
32718 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 
0.02s

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x7e00
         0x11 != 0x01
avrdude: verification error; content mismatch

avrdude: safemode: Fuses OK (E:00, H:00, L:00)

avrdude done.  Thank you.


sieht so aus als sei 329p leider nicht der richtige chip. ... 329pv 
nicht wählbar.

HÄTTET IHR BITTE EINEN TIP? :)

von Karl M. (Gast)


Lesenswert?

Hallo,

bitte nutzen den atmega328p, dann stimmt auch die Signatur.

Hätte man auch in der avrdude.conf finden können.

part parent "m328"
    id                  = "m328p";
    desc                = "ATmega328P";
    signature           = 0x1e 0x95 0x0F;

    ocdrev              = 1;

von Pork (Gast)


Lesenswert?

Erik schrieb:
> atmega329pv

Der PV ist eigentlich ein avr für Photovoltaik. Eventuell ist der BOD 
auf 4.0Volt programmiert. Mit bem 3,3V-Programmer kommst du da nicht 
mehr rein.

von Karl M. (Gast)


Lesenswert?

Da muss also noch ein atmega328p irgendwo stecken.

von Frank B. (frank501)


Lesenswert?

Pork schrieb:
> Der PV ist eigentlich ein avr für Photovoltaik.

Das V heißt nur, daß der Controller nur bis 10MHz getaktet werden kann, 
statt bis 20MHz.
Ein Blick ins DaBla hilft.


Pork schrieb:
> Eventuell ist der BOD
> auf 4.0Volt programmiert. Mit bem 3,3V-Programmer kommst du da nicht
> mehr rein.

Das halte ich für unwahrscheinlich, da der AVR ja geantwortet hat.
Aber einen Versuch ist es wert.



Karl M. schrieb:
> Da muss also noch ein atmega328p irgendwo stecken

Laut dieser Liste hier :
Beitrag "AVR Signature Bytes - Liste aller Controller?"

ist
1E 95 0B  ein 329P

1E 95 0F ist in der Tat ein Mega328P

Irgend was stimmt da also anscheinend nicht.
Ist da vielleicht noch ein zweiter µC auf dem Board?

von Erik (Gast)


Lesenswert?

ich habe das hexfile mit 16mhz ausgewählt. ich versuche mal das hexfile 
mit dem takt 10mhz zu flashen. die voltage meines arduino uno liefert 
doch aber 5volt. vielen lieben dank aber schonmal! :)

von Erik (Gast)


Lesenswert?

Wir versuchen den Chip mit einem Arduino UNO mit dem Arduino ISP Sketch 
zu flashen. Wir haben von dem Butterfly Repo
https://github.com/MCUdude/ButterflyCore
die AVRdude.Conf für den 329p.
Zudem haben wir auch den 10microfarrad Kondensator zwischen GND und 
Reset am Arduino eingesteckt.


C:\Users\Christine Bernard\Downloads\avrdude-6.3\avrdude-6.3>avrdude -c 
arduino -p m329p -F -P COM5 -U 
flash:w:optiboot_flash_atmega329p_9600_1000000L.hex

avrdude: please define PAGEL and BS2 signals in the configuration file 
for part ATMEGA329P
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 
0.03s

avrdude: Device signature = 0x1e950f
avrdude: Expected signature for ATMEGA329P is 1E 95 0B
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be 
performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: please define PAGEL and BS2 signals in the configuration file 
for part ATMEGA329P
avrdude: reading input file 
"optiboot_flash_atmega329p_9600_1000000L.hex"
avrdude: input file optiboot_flash_atmega329p_9600_1000000L.hex auto 
detected as Intel Hex
avrdude: writing flash (32718 bytes):

Writing | ################################################## | 100% 
0.39s

avrdude: 32718 bytes of flash written
avrdude: verifying flash memory against 
optiboot_flash_atmega329p_9600_1000000L.hex:
avrdude: load data flash data from input file 
optiboot_flash_atmega329p_9600_1000000L.hex:
avrdude: input file optiboot_flash_atmega329p_9600_1000000L.hex auto 
detected as Intel Hex
avrdude: input file optiboot_flash_atmega329p_9600_1000000L.hex contains 
32718 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 
5.97s

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
         0xff != 0x0c
avrdude: verification error; content mismatch

avrdude: safemode: Fuses OK

avrdude done.  Thank you.

von Karl M. (Gast)


Lesenswert?

Erik schrieb:
> Wir versuchen den Chip mit einem Arduino UNO mit dem Arduino ISP
> Sketch zu flashen. Wir haben von dem Butterfly Repo
> https://github.com/MCUdude/ButterflyCore
> die AVRdude.Conf für den 329p.
> Zudem haben wir auch den 10microfarrad Kondensator zwischen GND und
> Reset am Arduino eingesteckt.

Hast Du die Ausführung oben nicht gelesen?

Dein Versuch einen atmega328p mit einem Profil eines atmega329p zu 
flashen muss fehl schlagen.

> 10microfarrad Kondensator zwischen GND und Reset
was soll eine 10µF Kondensator an Reset?

Nutze einen ISP Programmieradapter mit dem im Datenblatt des µC 
beschriebenen Pins.

Je nach Fuse-Bits läuft der Takt über den internen RC Oszillator oder 
einer externen Quelle, Quarz oder Taktgenerator.

Die ISP Taktgeschwindigkeit ist dann nach der im Datenblatt 
beschriebenen Geschwindigkeit zu wählen.

von Frank B. (frank501)


Lesenswert?

Erik schrieb:
> ich habe das hexfile mit 16mhz ausgewählt. ich versuche mal das hexfile
> mit dem takt 10mhz zu flashen. die voltage meines arduino uno liefert
> doch aber 5volt. vielen lieben dank aber schonmal! :)

Was soll das bringen? Der Fehler liegt hier:

> avrdude: Device signature = 0x1e950f
> avrdude: Expected signature for ATMEGA329P is 1E 95 0B

Du versuchst, den falschen Chip zu programmieren.
Wie weiter oben schon mal geschrieben, steht die Signatur 0x1E950F für 
einen Mega328 und nicht für einen Mega329.
Da liegt der Fehler, den du erst mal beheben solltest, bevor du irgend 
welche obskuren Versuche mit anderen Taktraten machst.


Kann es sein, daß du versuchst, den UNO zu flashen? Der hat einen 
Mega328 und zu diesem würde auch die Signatur passen.

Welchen Programmieradapter benutz du und wie ist alles angeschlossen?

von Einer K. (Gast)


Lesenswert?

Karl M. schrieb:
>> 10microfarrad Kondensator zwischen GND und Reset
> was soll eine 10µF Kondensator an Reset?

Das soll den Reset unterbinden, wenn Avrdude den Com Port öffnet.
Der ist schon ok.
Alternativ könnte man die Reset-Enable Brücke auf dem UNO durchkratzen.

Erik schrieb:
> C:\Users\Christine Bernard\Downloads\avrdude-6.3\avrdude-6.3>avrdude -c
> arduino -p m329p -F -P COM5 -U
> flash:w:optiboot_flash_atmega329p_9600_1000000L.hex
Die Zeile ist falsch, wenn ihr/du den "Arduino as ISP" nutzt.


Besser:
1
C:\Users\Christine Bernard\Downloads\avrdude-6.3\avrdude-6.3>avrdude -cstk500v1 -b19200 -p m329p -F -P COM5 -U 
2
flash:w:optiboot_flash_atmega329p_9600_1000000L.hex

von Daniel (Gast)


Lesenswert?

Hi Leute, danke für eure hilfe: ich bin der andere von dem wir.

Da wir immer spät in der Nacht, in der kalten Garage, bei so einigen 
Bieren die Versuche starten machen wir da bestimmt so den einen oder 
anderen Fehler.

Arduino Fanboy:
Mit dem 10uF C hatten wir bis jetz nich so viel Glück. -> bekamen dann 
immer direkt nen Timeout.
Vielleicht bringen ja die neuen Parameter von dir da was.

Frank B.:
Wir haben den Uno schon mit dem ISP Sketch beschieben, nur klemmt es 
genau da, haste schon recht.

Karl M.
Fuses haben wir noch nich gecheckt. Jedoch is auf dem Board der Funke 
nen Oszillator verbaut, also sind die bestimmt zumindest dafür richtig 
eingestellt.

Ich muss mir das nochmal bei Tageslicht genau anschauen =D

Arduino Bootloader und avrdude.conf für den m329p haben wir ja schon mal 
gefunden.

Die Taktfrequenz Experimente kommen von dem Hinweis von Frank B. 329pv 
läuft wohl nur mit 10MHz.

Arduino Uno(m328) MOSI, MISO, SCK und pin 10 an Reset von dem in der 
Funke verbauten m329pv. 5V und Ground sind auch verdrahtet. Das Board 
hat sogar den "ISP" Header mit den genannten Pins.

So ein schönes Board wäre doch schade wenn wir da nich ein neues 
RC-Funksystem (R9) mit latenzarmer modernen Technik dran bekämen.

Vielen Dank nochmal =D
P.S.: Is schon 12 Jahre her, da hab ich zuletzt nen Atmega16 mit nem 
original ISP und dem AVR STudio beschieben.

von Einer K. (Gast)


Lesenswert?

Daniel schrieb:
> Arduino Fanboy:
> Mit dem 10uF C hatten wir bis jetz nich so viel Glück. -> bekamen dann
> immer direkt nen Timeout.

Machst du bei einem Flugzeug auch sofort die Flügel ab, wenn du meinst, 
sie würden Probleme machen, (obwohl nur der Hund Schluckauf hat)
Aber glauben, dass es fliegt, tust du dann nicht mehr, oder?

Natürlich bekommst du einen Timeout, wenn du mit der falschen Baudrate 
arbeitest und den falschen Programmer wählst.

Denn ohne Kondensator sprichst du mit dem Bootloader des ATMEGA328P
Das sagt dir doch auch die Meldung!
Gar nicht gemerkt, dass die Signatur falsch ist?
Oder ist dir/euch das egal?

> Vielleicht bringen ja die neuen Parameter von dir da was.
Natürlich!
Da bin ich mir Sicher.

von Daniel (Gast)


Lesenswert?

Off Topic

Arduino Fanboy:
Natürlich geben wir da auch nich gleich auch.
Und wir fliegen weniger Flugzeug, eher Qaudcoppter die wir selber bauen 
;-D

Erik fliegt: https://www.youtube.com/watch?v=ImT0CHnv4g8

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.