Hallo zusammen,
ich habe einen ATMEGA328P-PU auf einem Steckbrett aufgebaut und mit folgendem Bootloader geladen:
##############################################################
atmega328bb.name=ATmega328 on a breadboard (8 MHz internal clock)
atmega328bb.upload.tool=avrdude
atmega328bb.upload.protocol=arduino
atmega328bb.upload.maximum_size=32256
atmega328bb.upload.maximum_data_size=2048
atmega328bb.upload.speed=57600
atmega328bb.bootloader.tool=arduino:avrdude
atmega328bb.bootloader.low_fuses=0xE2
atmega328bb.bootloader.high_fuses=0xDA
atmega328bb.bootloader.extended_fuses=0x05
atmega328bb.bootloader.path=atmega
atmega328bb.bootloader.file=atmega/ATmegaBOOT_168_atmega328_pro_8MHz.hex
atmega328bb.bootloader.unlock_bits=0x3F
atmega328bb.bootloader.lock_bits=0x0F
atmega328bb.build.mcu=atmega328p
atmega328bb.build.f_cpu=8000000L
atmega328bb.build.core=arduino:arduino
atmega328bb.build.variant=arduino:standard
atmega328bb.build.board=AVR_UNO
Die Flags sind so gesetzt, dass der interne Oszillator mit 8 MHz verwendet wird.
Nun verwende ich einen USB-Serial-Adapter mit dem CH340G Chip um den Sketch hochzuladen.
All dies Funktioniert einwandfrei.
Nun tausche ich den ATMEGA328P-PU durch den ATMEGA328P-AU (SMD Version) aus und passe natürlich die neue Pinbelegung an. Der gleiche Bootloader wird wierder (mit einem Arduino-Board) aufgespielt.
Allerdings habe ich nun Probleme beim Upload eines Sketches mit dem CH340G. Es wird immer nur folgendes ausgegeben:
Der Sketch verwendet 12.952 Bytes (42%) des Programmspeicherplatzes. Das Maximum sind 30.720 Bytes.
Globale Variablen verwenden 661 Bytes des dynamischen Speichers.
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x8d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x8d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x8d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x8d
avrdude: stk500_recv(): programmer is not responding
Probleme beim Hochladen auf die Platine. Hilfestellung dazu unter http://www.arduino.cc/en/Guide/Troubleshooting#upload .
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x8d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x8d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x8d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x8d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x8d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x8d
Laut Datenblatt und Internetrecherche sind die beiden ATMEGA von der Funktion und dem inneren Aufbau identisch (nur die Pinbelegung ist natürlich anders).
Wenn ich den Sketch mit dem Programmer(Arduino-Board) aufspiele klappt alles reibungslos, also ist der Chip io und die Flags wurden korrekt gesetzt.
Was mache ich falsch?
