Forum: Mikrocontroller und Digitale Elektronik ubuntu flaschen von ATmega324PB mit avrdude


von avrdude (Gast)


Lesenswert?

Moin,

ich habe mir das "ATmega324PB-Xplained-Pro" gekauft und wollte es gerade 
mal auf ubuntu mit avr-dude flashen:

dmesg:
1
[ 4844.719736] usb 1-3: new high-speed USB device number 7 using xhci_hcd
2
[ 4844.868237] usb 1-3: config 1 interface 2 altsetting 0 bulk endpoint 0x84 has invalid maxpacket 64
3
[ 4844.868243] usb 1-3: config 1 interface 2 altsetting 0 bulk endpoint 0x5 has invalid maxpacket 64
4
[ 4844.868651] usb 1-3: New USB device found, idVendor=03eb, idProduct=2111
5
[ 4844.868656] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
6
[ 4844.868660] usb 1-3: Product: EDBG CMSIS-DAP
7
[ 4844.868664] usb 1-3: Manufacturer: Atmel Corp.
8
[ 4844.868668] usb 1-3: SerialNumber: ATML2589040200001863
9
[ 4844.870339] hid-generic 0003:03EB:2111.0007: hiddev2,hidraw4: USB HID v1.11 Device [Atmel Corp. EDBG CMSIS-DAP] on usb-0000:00:14.0-3/input0
10
[ 4844.870542] cdc_acm 1-3:1.1: ttyACM0: USB ACM device

xplainedmini scheint das korrekte programmer zu sein..

>> sudo avrdude -c xplainedmini -p m32 -P /dev/ttyACM0 -b 19200 -U 
flash:w:blink.hex

dennoch gibt es fehler:

>> avrdude: jtag3_open_common(): JTAGICE3/EDBG port names must start with "usb"
>>
>> avrdude done.  Thank you.

Was muss ich denn tun damits geht?

von Karl M. (Gast)


Lesenswert?

Naja ein atmega32 ist kein atmega324PB.

"-p m32"

Da must Du wohl noch mal die Beschreibung lesen.

von avrdude (Gast)


Lesenswert?

Ja das stimmt.



>>sudo avrdude -c xplainedpro -p m324p -P /dev/ttyACM0  -U flash:w:blink.hex
>>avrdude: jtag3_open_common(): JTAGICE3/EDBG port names must start with "usb"

>>avrdude done.  Thank you.



es lässt sich aber immernoch nicht überreden :)

Der Controller  nennt sich ATmega324PB .. im compiler avrdude und den 
anderen tools finde ich aber nur die bezeichnung ATmega324P ..

von Karl M. (Gast)


Lesenswert?

Hallo,

ja ein ATmega324P ist kein ATmega324PB, also hast Du ein Problem!

Das kann man einfach über die Datenblätter verifizieren!

von avrdude (Gast)


Lesenswert?

Danke Karl.M

Aber nun verstehe ich nicht was ich nun tun kann.
Im avr-gcc manual gibt es keinen ATmega324PB sondern nur ATmega324P.
Genauso ist es mit avrdude.

so compiliere ich:
1
avr-gcc -g -Os -mmcu=atmega324p -c blink.c
2
avr-gcc -g -mmcu=atmega324p -o blink.elf blink.o
3
avr-objcopy -j .text -j .data -O ihex blink.elf blink.hex
4
avr-size --format=avr --mcu=atmega324p blink.elf

von Mr. Big (Gast)


Lesenswert?

Wenn Du sonst nichts findest, konfiguriere den Controller selber in 
avrdude rein. Ableiten kannst Du den ja vom 324p oder 324pa.

http://svn.savannah.gnu.org/viewvc/avrdude/trunk/avrdude/avrdude.conf.in?r1=1391&r2=1397

von avrdude (Gast)


Lesenswert?

der link scheint kaputt zu sein

von Mr. Big (Gast)


Lesenswert?

Nö, ist ein lausiger Server...

von Mr. Big (Gast)


Lesenswert?


von g457 (Gast)


Lesenswert?

1
> sudo avrdude -c xplainedmini -p m32 -P /dev/ttyACM0 -b 19200 [..]
2
                                         ^^^^^^^^^^^^
3
> avrdude: jtag3_open_common(): JTAGICE3/EDBG port names must start with "usb"
4
                                                                          ^^^

HTH

von avrdude (Gast)


Lesenswert?

was soll ich da tun, dmesg sagt /dev/ttyACM0

von g457 (Gast)


Lesenswert?

> was soll ich da tun, dmesg sagt /dev/ttyACM0

"-P usb" ausprobieren, siehe manpage.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Ubuntu gibts nicht in Flaschen, ich vermute aber
man kann das irgendwo downloaden.

von Röstikartoffel (Gast)


Lesenswert?

Wenn einer von euch die Antwort kennt, sagt sie doch bitte dem TO!

Meistens ist das Verständnis einfacher wenn man die Lösung kennt und 
nicht wenn man sich durch herumprobieren sich selbst verwirrt, auch wenn 
es am Ende funktioniert (wenn man auch nicht weiß warum)

von g457 (Gast)


Lesenswert?

> Wenn einer von euch die Antwort kennt, sagt sie doch bitte dem TO!

Haben wir schon. Der FO hat sich nicht mehr gemeldet -> funktioniert 
höchstwahrscheinlich.

von avrdude (Gast)


Lesenswert?

>> "-P usb" ausprobieren, siehe manpage.

yee das funzt :)
Ich musste aber zusätzlich -F angeben
1
~/coding/avr$ sudo avrdude -c xplainedpro -p ATmega324P -F -P usb  -U flash:w:blink.hex 
2
avrdude: usbdev_open(): WARNING: failed to set configuration 1: could not set config 1: Device or resource busy
3
4
avrdude: AVR device initialized and ready to accept instructions
5
6
Reading | ################################################## | 100% 0.07s
7
8
avrdude: Device signature = 0x1e9517
9
avrdude: Expected signature for ATmega324P is 1E 95 08
10
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
11
         To disable this feature, specify the -D option.
12
avrdude: erasing chip
13
avrdude: reading input file "blink.hex"
14
avrdude: input file blink.hex auto detected as Intel Hex
15
avrdude: writing flash (186 bytes):
16
17
Writing | ################################################## | 100% 0.03s
18
19
avrdude: 186 bytes of flash written
20
avrdude: verifying flash memory against blink.hex:
21
avrdude: load data flash data from input file blink.hex:
22
avrdude: input file blink.hex auto detected as Intel Hex
23
avrdude: input file blink.hex contains 186 bytes
24
avrdude: reading on-chip flash data:
25
26
Reading | ################################################## | 100% 0.02s
27
28
avrdude: verifying ...
29
avrdude: 186 bytes of flash verified
30
31
avrdude: safemode: Fuses OK (E:F6, H:19, L:EF)
32
33
avrdude done.  Thank you.

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.