Author Topic: Atmega1284P  (Read 35501 times)

PioB

  • Newbie
  • *
  • Posts: 10
  • Karma: +0/-0
Atmega1284P
« on: September 11, 2013, 03:28:04 PM »
Hallo,

ich bräuchte für mein Projekt einen Mikrokontroller mit viel Speicher; der Atmel Atmega1284P würde sich anbieten, weil es ihn in als DIP und TQFP gibt, zum einfachen Prototyping auf dem Breadboard und als noch handlötbare SMD Version. Auch preislich würde er noch im Rahmen liegen. Wäre es eventuell möglich, diesen auch ins Sortiment aufzunehmen?

MathiasW

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 614
  • Karma: +13/-0
    • my Arduino page
Re: Atmega1284P
« Reply #1 on: September 11, 2013, 07:12:41 PM »
Salut,

da ich den ATmega1284 nicht kenne: Was unterscheidet ihn vom ATmega2560 und könnte man hier nicht einen Arduino Mega verwenden? Ich habe bei Freetronics eine Goldilocks board erworben, das den 1284 trägt und den Arduino-Formfaktor hat. Wäre das interessant?

Ciao, Mathias

microtherion

  • freakyfriday
  • Full Member
  • *
  • Posts: 163
  • Karma: +13/-0
Re: Atmega1284P
« Reply #2 on: September 11, 2013, 07:30:49 PM »
da ich den ATmega1284 nicht kenne: Was unterscheidet ihn vom ATmega2560 und könnte man hier nicht einen Arduino Mega verwenden?

Der ATmega1284 hat 40 pins, der 2560, wenn ich mich recht erinnere, deren 100. Feature-mässig ist der 2560 natürlich in jeder Hinsicht überlegen, aber der 1284 ist in DIP-Packungen erhältlich, und selbst in TQFP ist ein 40 pin Gehäuse deutlich einfacher zu verlöten als ein 100 pin Gehäuse.

Ein weiteres Detail ist dass der 2560 mehr als 16 Address-bits für die Programmierung braucht, was etwas komplexere Bootloaders erfordert. Der 1284 ist also einfach ein bisschen simpler in der Handhabung.

boxtec-support

  • freakyfriday
  • Hero Member
  • *
  • Posts: 787
  • Karma: +15/-0
    • Boxtec Web
Re: Atmega1284P
« Reply #3 on: September 11, 2013, 08:28:35 PM »
Danke für die Anregung. Nehmen wir gerne auf, beide Versionen werden aber um 9 Franken kosten.
Wir sollten diese in etwa 6-8 Tagen erhalten, sobald sie online sind, aktualisiere ich dieses Thema nochmals.

PioB

  • Newbie
  • *
  • Posts: 10
  • Karma: +0/-0
Re: Atmega1284P
« Reply #4 on: September 11, 2013, 09:02:38 PM »
Vielen Dank!

Von der Goldilocks-Website, Daten für 2560 von arduino Website:
Code: [Select]
            Atmega1284p       Arduino Uno(328p)     Arduino Leonardo(32U4)    Arduino Mega 2560 (2560)
SRAM               16kB                     2kB                      2.5kB                         8kB
Flash             128kB                    32kB                       32kB                       256kB
EEPROM              4kB                1kB                        1kB                         4kB
Clock             20MHz                   16MHz                      16MHz                      16 MHz
         

Der 1284 hat doppelt so viel Ram wie der 2560er, und ist etwas schneller.


PioB

  • Newbie
  • *
  • Posts: 10
  • Karma: +0/-0
Re: Atmega1284P
« Reply #5 on: September 18, 2013, 09:10:10 AM »
Hallo, in Erwartung der baldigen Verfügbarkeit des 1284p habe ich mich schon etwas schlau gemacht:

Als Bootloader für den 1284p mit 20 MHz (oder overclocked auf 22.1184 MHz) bietet sich vermutlich der Goldilocks-loader an:
http://www.freetronics.com/products/goldilocks-arduino-compatible-with-atmega1284p-mcu#.UjlG2CScGHk
Der Mighty1284p Bootloader unterstützt nur bis 16 MHz. http://maniacbug.wordpress.com/2011/11/27/arduino-on-atmega1284p-4/ https://github.com/maniacbug/mighty-1284p

Zum Bootloader-Programmieren braucht man wohl einen "richtigen" ISP oder folgende Lösung: http://www.gammon.com.au/forum/bbshowpost.php?bbsubject_id=11635&page=1 , der ArduinoAsISP sketch scheint meiner bisherigen Suche nach nicht zu funktionieren.
 
"My understanding is that chips with larger memories (1280/2560) require the newer STK500V2 protocol for bootloader burning.  My further understanding is that the ArduinoISP sketch only implements the STK500V1 protocol.  It may be that you need to buy a real ISP to burn a bootloader on your 1284 chip."
-> von http://forum.arduino.cc/index.php?topic=118244.0

Ich weiss nicht, welche Bibliotheken dann nicht mehr funktionieren werden/geändert werden müssen. Ich habe ein Projekt, dass die MsTimer2-Library http://www.pjrc.com/teensy/td_libs_MsTimer2.html verwendet.
Ich hoffe, dass der Timer gleich funktioniert wie in den anderen Chips, so dass ich die Zeile
Code: [Select]
#if defined (__AVR_ATmega168__) || defined (__AVR_ATmega48__) || defined (__AVR_ATmega88__) || defined (__AVR_ATmega328P__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__)dann nur um "|| defined (__AVR_ATmega1288P__)" erweitern muss.

Von den Arduino(1.0.5)-Bibliotheken scheinen nur zwei explizit Chip-Abhängig zu sein:
Code: [Select]
libraries$ grep -i atmega */*cpp|grep defin
GSM/GSM3SoftSerial.cpp:#if defined(__AVR_ATmega328P__)
GSM/GSM3SoftSerial.cpp:#elif defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1280__)
GSM/GSM3SoftSerial.cpp:#elif defined(__AVR_ATmega32U4__)
Servo/Servo.cpp:#if defined(__AVR_ATmega8__)|| defined(__AVR_ATmega128__)
Servo/Servo.cpp:#if defined(__AVR_ATmega128__)
Servo/Servo.cpp:    #if defined(__AVR_ATmega1281__)||defined(__AVR_ATmega2561__)
Servo/Servo.cpp:    #if defined(__AVR_ATmega1281__)||defined(__AVR_ATmega2561__)
So hoffe ich, dass i2c und SD funktionieren werden.

PioB

  • Newbie
  • *
  • Posts: 10
  • Karma: +0/-0
Re: Atmega1284P
« Reply #6 on: September 18, 2013, 10:35:22 AM »

microtherion

  • freakyfriday
  • Full Member
  • *
  • Posts: 163
  • Karma: +13/-0
Re: Atmega1284P
« Reply #7 on: September 19, 2013, 03:48:06 AM »
Zum Bootloader-Programmieren braucht man wohl einen "richtigen" ISP oder folgende Lösung


Ich propagiere da gerne meine Alternative zum ArduinoISP: ScratchMonkey http://microtherion.github.io/ScratchMonkey/, spezifisch getestet mit dem 1284.

Quote
der ArduinoAsISP sketch scheint meiner bisherigen Suche nach nicht zu funktionieren.
 
"My understanding is that chips with larger memories (1280/2560) require the newer STK500V2 protocol for bootloader burning.


Ich glaube das ist ein Missverständnis. Für 2560 trifft das zu, aber weil Flash word-addressiert wird, fällt der 1284 immer noch unter 16 bit Adressen. Aber ScratchMonkey implementiert eh stk500v2.

Quote
Ich weiss nicht, welche Bibliotheken dann nicht mehr funktionieren werden/geändert werden müssen.


Da der Sanguino ja einen 644 verwendet, sollte wohl das Meiste laufen (1284 ist komplett kompatibel mit dem 644).

Quote
Ich habe ein Projekt, dass die MsTimer2-Library http://www.pjrc.com/teensy/td_libs_MsTimer2.html verwendet.
Ich hoffe, dass der Timer gleich funktioniert wie in den anderen Chips


Ich glaube ja.

boxtec-support

  • freakyfriday
  • Hero Member
  • *
  • Posts: 787
  • Karma: +15/-0
    • Boxtec Web
Re: Atmega1284P
« Reply #8 on: September 20, 2013, 07:58:25 PM »
Die ATmega1284P sind nun da und ab sofort lieferbar.
Den Scratchmonkey find ich ganz stark, ich hab mir erlaubt diesen in der Artikelseite zu verlinken.

PioB

  • Newbie
  • *
  • Posts: 10
  • Karma: +0/-0
Re: Atmega1284P
« Reply #9 on: September 27, 2013, 04:15:17 PM »
Hallo,

ein kurzes Update und eine Frage.
Herzlichen Dank an microtherion für ScratchMonkey!
Nachdem die Chips diese Woche angekommen sind, habe ich versucht den Bootloader und Sketches zu installieren.
Die installation des Goldilocks (und dann des maniacbug) bootloader mittels Scratchmonkey verlief absolut problemlos.
Allerdings
Ich scheiterte mit dem Goldilocks bootloader; mit diesem konnte ich nicht einmal den blink sketch installieren. (Verbindung über 1) den Arduino USB2Serial Adapter, den ich auch gekauft habe, 2 Arduino Uno, atmega328 entnommen und 1-9(Reset), 2-14(Rx) 3-15(TX) verbunden.

Dann ersetzte ich den 20 MHz Quarz mit einem 16 MHz Quarz und installierte den Maniacbug bootloader von
http://maniacbug.wordpress.com/2011/11/27/arduino-on-atmega1284p-4/
Mittels des Arduino-Boards konnte ich dann den Blink-Sketch installieren, cf. Oszilloskop-Foto.

Allerdings..... Mit grösseren Sketches scheitere ich. Das Programm, für das ich den Chip erworben habe ist inzwischen 43 kb gross. Die Übertragung scheitert wie folgt:


Code: [Select]
Binary sketch size: 42,126 bytes (of a 130,048 byte maximum)
/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega1284p -carduino -P/dev/tty.usbmodemfd121 -b115200 -D -Uflash:w:/var/folders/5k/dbjd_fhx7wn48rgw82dxx1jh0000gp/T/build5556548538450637052.tmp/MenuV2.cpp.hex:i

avrdude: Version 5.11, compiled on Sep  2 2011 at 18:52:52
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf"
         User configuration file is "/Users/baettig/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/tty.usbmodemfd121
         Using Programmer              : arduino
         Overriding Baud Rate          : 115200
avrdude: Send: 0 [30]   [20]
avrdude: Send: 0 [30]   [20]
avrdude: Send: 0 [30]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
         AVR Part                      : ATMEGA1284P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    10   128    0 no       4096    8      0  9000  9000 0xff 0xff
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           flash         65    10   256    0 yes    131072  256    512  4500  4500 0xff 0xff
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00

         Programmer Type : Arduino
         Description     : Arduino
avrdude: Send: A [41] . [80]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [03]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [81]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [04]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [82]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [05]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [98]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [03]
avrdude: Recv: . [10]
         Hardware Version: 3
         Firmware Version: 4.5
avrdude: Send: A [41] . [84]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [03]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [85]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [03]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [86]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [03]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [87]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [03]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [89]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [03]
avrdude: Recv: . [10]
         Vtarget         : 0.3 V
         Varef           : 0.3 V
         Oscillator      : 28.800 kHz
         SCK period      : 3.3 us

avrdude: Send: A [41] . [81]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [04]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [82]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [05]
avrdude: Recv: . [10]
avrdude: Send: B [42] . [82] . [00] . [00] . [01] . [01] . [01] . [01] . [03] . [ff] . [ff] . [ff] . [ff] . [01] . [00] . [10] . [00] . [00] . [02] . [00] . [00]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
avrdude: Send: E [45] . [05] . [08] . [d7] . [a0] . [00]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
avrdude: Send: P [50]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
avrdude: AVR device initialized and ready to accept instructions

Reading | avrdude: Send: u [75]   [20]
avrdude: Recv: . [14] . [1e] . [97] . [05] . [10]
################################################## | 100% 0.00s

avrdude: Device signature = 0x1e9705
avrdude: Send: V [56] . [a0] . [0f] . [fc] . [00]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
avrdude: Send: V [56] . [a0] . [0f] . [fd] . [00]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
avrdude: Send: V [56] . [a0] . [0f] . [fe] . [00]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
avrdude: Send: V [56] . [a0] . [0f] . [ff] . [00]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
avrdude: reading input file "/var/folders/5k/dbjd_fhx7wn48rgw82dxx1jh0000gp/T/build5556548538450637052.tmp/MenuV2.cpp.hex"
avrdude: writing flash (42126 bytes):

Writing | avrdude: Send: U [55] . [00] . [00]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
avrdude: Send: d [64] . [01] . [00] F [46] . [0c] . [94] . [9f] . [01] . [0c] . [94] ) [29] E [45] . [0c] . [94] Z [5a] E [45] . [0c] . [94] . [8b] E [45] . [0c] . [94] . [ca] . [01] . [0c] . [94] . [ca] . [01] . [0c] . [94] . [ca] . [01] . [0c] . [94] . [ca] . [01] . [0c] . [94] . [ca] . [01] . [0c] . [94] . [ca] . [01] . [0c] . [94] . [ca] . [01] . [0c] . [94] . [c9] D [44] . [0c] . [94] . [ca] . [01] . [0c] . [94] . [ca] . [01] . [0c] . [94] . [ca] . [01]
...
...
...
[14] . [88] # [23] i [69] . [f0] . [80] . [e8] . [93] . [e0] . [0e] . [94] . [09] . [09] . [88] # [23]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
avrdude: Send: U [55] . [80] . [0e]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
avrdude: Send: d [64] . [01] . [00] F [46] 9 [39] . [f4] . [8c] . [e6] . [9b] . [e0] j [6a] . [e9] r [72] . [e0] . [0e] . [94] a [61] L [4c] $ [24] . [c2] ~ [7e] . [01] . [08] . [94] . [e1] . [1c] . [f1] . [1c] . [c7] . [01] o [6f] . [ea] r [72] . [e0] . [0e] . [94] n [6e] N [4e] . [8c] . [e6] . [9b] . [e0] ` [60] . [eb] r [72] . [e0] . [0e] . [94] a [61] L [4c] . [83] . [ed] . [96] . [e0] . [0e] . [94] g [67] + [2b] . [83] . [ed] . [96] . [e0] b [62] . [e0] @ [40] . [e0] . [0e] . [94] . [0d] + [2b] . [83] . [ed] . [96] . [e0] ` [60] . [ee] q [71] . [e0] . [0e] . [94] ^ [5e] L [4c] . [83] . [ed] . [96] . [e0] c [63] . [e0] A [41] . [e0] . [0e] . [94] . [0d] + [2b] . [83] . [ed] . [96] . [e0] n [6e] . [e4] r [72] . [e0] . [0e] . [94] ^ [5e] L [4c] . [83] . [ed] . [96] . [e0] ` [60] . [e0] B [42] . [e0] . [0e] . [94] . [0d] + [2b] . [83] . [ed] . [96] . [e0] b [62] . [e0] r [72] . [e0] . [0e] . [94] ^ [5e] L [4c] . [8d] . [e0] a [61] . [e0] . [0e] . [94] C [43] G [47] . [8e] . [01] . [08] _ [5f] . [1f] O [4f] ` [60] . [91] . [89] . [03] p [70] . [91] . [8a] . [03] . [c8] . [01] J [4a] . [e0] . [0e] . [94] . [a1] N [4e] . [c7] . [01] . [b8] . [01] . [0e] . [94] 3 [33] N [4e] . [c8] . [01] . [0e] . [94] . [04] O [4f] . [ce] . [01] M [4d] . [96] o [6f] . [e1] w [77] . [e0] @ [40] . [e8] S [53] . [e0] # [23] . [e1] . [0e] . [94] . [1a] . [16] . [8f] . [8d] . [98] . [a1] . [90] . [93] . [00] . [07] . [80] . [93] . [ff] . [06] . [89] . [a1] . [9a] . [a1] . [ab] . [a1] . [bc] . [a1] . [80] . [93] . [01] . [07] . [90] . [93] . [02] . [07] . [a0] . [93] . [03] . [07] . [b0] . [93] . [04] . [07] . [8d] . [a1] . [9e] . [a1] . [af] . [a1] . [b8] . [a5] . [80] . [93] . [05] . [07] . [90] . [93] . [06] . [07] . [a0] . [93] . [07] . [07] . [b0] . [93] . [08] . [07] . [a9] . [e0] . [b7] . [e0] . [fe] . [01] . [b9] . [96]   [20]
avrdude: Recv: b [62]

avrdude: stk500_paged_write(): (a) protocol error, expect=0x14, resp=0x62
avrdude: Send: V [56] @ [40] . [00] . [00] . [0c]   [20]
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding


Hat jemand eine idee, was da schieflaufen könnte? (Oszillator 28.800 macht mich etwas stutzig...)
Arduino IDE 1.0.5, MacBookPro, MacOSX 10.8.5
Solltet Ihr mehr Details brauchen, liefere ich die gerne.

Vielen Dank für Ideen oder Hinweise.

Blink Sketch: Erfolg:


Programmierung via Reset, RX, TX von Arduino Board:


P.S. Ich bin nicht sicher, ob der Thread inzwischen noch hierhin gehört...

PioB

  • Newbie
  • *
  • Posts: 10
  • Karma: +0/-0
Re: Atmega1284P
« Reply #10 on: September 27, 2013, 04:43:52 PM »
Hallo,

kleine Anmerkung, nachdem ich nun die Verdrahtung, insbesondere die Reset-Schaltung noch einmal genau überprüft habe, konnte ich den Blink sketch mittels des USB2serial Adapters übertragen. Allerdings funktioniert der grosse sketch immer noch nicht.
Es bricht nach einiger Zeit immer noch mit
Code: [Select]
[04] . [10] . [92] 7 [37] . [04] . [8b] . [e7] . [9a] . [e0] d [64] . [e5] r [72] . [e0] . [0e] . [94]   [20]
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding

ab.

(Ich bin auch microtherions Hinweisen zur Benützung von Crosspack mit Arduino http://samelimmat.blogspot.ch/2013/07/using-arduino-ide-with-crosspack.html gefolgt, benütze somit auch die neueste Version von avrdude, es funktioniert weder mit dieser noch mit der Arduino-Standardversion)

microtherion

  • freakyfriday
  • Full Member
  • *
  • Posts: 163
  • Karma: +13/-0
Re: Atmega1284P
« Reply #11 on: September 27, 2013, 10:32:11 PM »
Code: [Select]
         Vtarget         : 0.3 V
         Varef           : 0.3 V
         Oscillator      : 28.800 kHz
         SCK period      : 3.3 us
[…]
avrdude: stk500_paged_write(): (a) protocol error, expect=0x14, resp=0x62
avrdude: Send: V [56] @ [40] . [00] . [00] . [0c]   [20]
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding

Hat jemand eine idee, was da schieflaufen könnte? (Oszillator 28.800 macht mich etwas stutzig…)


Das ist harmlos. Der bootloader emuliert einen hardware programmer und aus effizienzgründen gibt er dumme Antworten auf Fragen, die avrdude eh nur begrenzt interessieren:

Code: [Select]
/*
* GET PARAMETER returns a generic 0x03 reply for
         * other parameters - enough to keep Avrdude happy
*/
putch(0x03);

Der wahre Grund ist ziemlich faszinierend (ich hätts auch nicht gewusst, aber als selbsternannter Experte in diesem Feld wollte ich mich schlau machen): Der receive Pin der UART0 auf dem 1284P hat einen Fehler, der ihn bei hohen Baudraten lärmempfindlich macht: http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=107115. Die empfohlene Abhilfe ist ein Lowpass-Filter:

Quote
10k series resistor in line and 100pf cap to ground.


PioB

  • Newbie
  • *
  • Posts: 10
  • Karma: +0/-0
Re: Atmega1284P
« Reply #12 on: September 28, 2013, 12:25:58 AM »
Hallo microtherion,

Vielen Dank für die Info. Ich habs kurz auf dem Breadboard versucht, aber das wollte noch nicht so recht. Mal schauen, dass ich die Schaltung auf eine Lochrasterplatine bekomme, dann muss ich es auch nicht mehr mit den "Antennen" verkabeln...
Ich werde bei Erfolg/Misserfolg wieder schreiben.

Gruss,

Pio

boxtec-support

  • freakyfriday
  • Hero Member
  • *
  • Posts: 787
  • Karma: +15/-0
    • Boxtec Web
Re: Atmega1284P
« Reply #13 on: September 28, 2013, 04:21:12 PM »
Quote
P.S. Ich bin nicht sicher, ob der Thread inzwischen noch hierhin gehört...
Ich hab mir erlaubt, ihn ins entsprechende Board zu verschieben, danke für die Anregung.

PioB

  • Newbie
  • *
  • Posts: 10
  • Karma: +0/-0
Re: Atmega1284P
« Reply #14 on: October 05, 2013, 04:55:55 PM »
Hoi zäme,

vielen Dank für Eure Hilfe, der Atmega läuft nun. Ich habe hier die nötigen Schritte und Links zusammengefasst, hoffentlich habe ich nichts vergessen:
http://baettig.blogspot.ch/2013/10/getting-atmega1284p-to-work-with.html

 

anything