Hi,
ich habe folgendes Problem:
Beim schreiben meiner .hex datei in meinen Atmega2561 bekommen ich einen
Fehler an Adresse 1FF00. Die passiert aber nur, wenn meine Programmgröße
über oder gleich 50% ist.
Als Programmierer benutze ich den Standard Parallelportadapter mit
74HC244.
Das Programm übertrage ich direkt aus Bascom in den Controller. Bascom
meldet nach dem schreiben und auslesen den Fehler "Difference at 1FF00".
Was kann das sein? Ich bin langsam am verzweifeln, da ich das neue
Programm dringend einproggen muss.
MfG
@ Felix H. (Gast)
>Fehler an Adresse 1FF00. Die passiert aber nur, wenn meine Programmgröße>über oder gleich 50% ist.
Hmm, das ist die Grenze über 128kB.
>Das Programm übertrage ich direkt aus Bascom in den Controller. Bascom>meldet nach dem schreiben und auslesen den Fehler "Difference at 1FF00".
Entweder ist das kein Atmega2561 oder du hast einen anderen im BASCOM
eingestellt.
MfG
Falk
@Knut: warum einen anderen Programmierer? Das ist doch der Standard
ISP-Programmierer...
@Falk: also auf dem Chip steht Atmega2561 drauf. Habe auch in Bascom den
richtigen eingestellt. Ansonsten würde Bascom sofort rummeckern. Ist
aber nicht der fall...
sonst noch ne idee?
MfG
>@Knut: warum einen anderen Programmierer? Das ist doch der Standard>ISP-Programmierer...
Vor 10 Jahren war er das vieleicht mal;)
>@Falk: also auf dem Chip steht Atmega2561 drauf. Habe auch in Bascom den>richtigen eingestellt. Ansonsten würde Bascom sofort rummeckern. Ist>aber nicht der fall...>>sonst noch ne idee?
Vieleicht kann Bascom über 128k gar nicht mehr programmieren?
Nur so ne Vermutung.
@Jobst: warum denn voll? Ein Atmega1281 wäre an diesem Punkt voll...
aber der 2561 hat doch den doppelten speicher.
@holger: bei mir hat der immer zuverlässig funktioniert. Also warum was
neues Probieren wenn das bewährte funktioniert ^_^
mit welchem Programm könnte ich die übertragung denn noch machen? Bascom
spuckt mir die .hex ja aus.
könnte es an der Kabellänge liegen? Der LPT Port ist direkt auf der
Platine mit dem Atmega mit drauf. Verbindung zum PC erfolgt mit 3 Meter
25-Poligem Sub-D Kabel.
MfG
@holger (Gast)
>Vieleicht kann Bascom über 128k gar nicht mehr programmieren?>Nur so ne Vermutung.
Dann sollte der IC nicht wählbar sein bzw. keine Include Files dafür
existieren. Wühl
Also meine BASCOM-Demo hat ein m2560def.dat und m2561def.dat. Sollte
also gehen.
@ Felix H. (Gast)
>@Jobst: warum denn voll? Ein Atmega1281 wäre an diesem Punkt voll...>aber der 2561 hat doch den doppelten speicher.
Eine Wort-Adresse ist zwei Byte breit.
>mit welchem Programm könnte ich die übertragung denn noch machen? Bascom>spuckt mir die .hex ja aus.
Wie groß ist dein HEX-File?
>könnte es an der Kabellänge liegen?
Nein. Die unteren Adressen macht er doch problemlos.
MFG
Falk
Hi,
dann sollte er mir beim compilieren aber nicht 50% Speicher belegt
anzeigen. Ich habe schon Atmega32 voll programmiert. Da sagt er dann
schon bescheid, wenn der Speicher zu klein ist.
Meine .hex ist laut windoof-explorer 358KB groß, die .bin hat genau
128KB.
MfG
Felix H. schrieb:> Meine .hex ist laut windoof-explorer 358KB groß,
Die Dateigröße ist erstmal irrelevant, es kommt auf den Inhalt an. In
die Hexdatei kann man mittels Textbetrachter oder Texteditor reinsehen,
in jeder Zeile steht die Adresse, an die die Daten gebraten werden
sollen. Diese ist aber erstmal nur 16 Bit breit, reicht also nur bis 64
KB. Der Offset zu größeren Adressräumen wird durch spezielle Zeilen in
der Hex eingestellt. Einfach mal die Hex danach untersuchen.
...
Hi,
hier meine .hex mit einem Programm was sich übertragen lässt mit 49%
sowie eine hex mit 50%, was dann den fehler ergibt.
Ich hoffe jemand kann helfen...
MfG
Felix H. schrieb:> Als Programmierer benutze ich den Standard Parallelportadapter mit> 74HC244.
Alles was über die 64K an Binärcode hinausgeht muss mit einem
"Extended Segment Address Record" eingeleitet werden. Das ist dann der
Offset für den nächsten 64K-Block.
Dieser ist in deinem "Geht-Nicht"-Hex-File auch vorhanden.
Habe das File mal mit dem JTAGICEmkII auf einen 2560 geflasht.
Kein Fehler. Verify Ok.
Entweder kann der Brenner keine Adressen > 64K verarbeiten oder das
Programm, welches die Hex-Daten in Binärdaten übersetzt, kommt nicht
damit klar. Tippe mal auf letzteres.
Am Bascom und dem erzeugten Hex-File liegt es jedenfalls nicht.
mfg.
interessant...
was sollte ich als nächstes versuchen? Den Programmer wechseln ist eher
schwierig. Ist momentan kein anderer vorhanden und der jetzige ist wie
gesagt, bereits auf der Platine integriert. Sollte ich erstmal ein
anderes Programm zum übertragen verwenden? Ich hab mich schon ein wenig
in PonyProg eingelesen. Sollte ichs damit mal testen? Dabei steht
allerdings, dass das Programm den EEPROM mit überschreibt und damit
löscht! Ich habe auf diesem allerdings Daten abgelegt. Geht das auch
ohne EEPROM löschen?
Gruß
Felix
Ich kenne deinen Programmer nicht.
Lässt der sich mit AVR-studio bedienen?
Mehr habe ich auch nicht gemacht, als mit AVR-Studio das Hex-File
geflasht. Nur mit einem anderen Brennner. Über JTAG.
Aber mit AVRISP geht es genauso über SPI.
EEPROM wird nicht angerührt.
mfg.
Möglicherweise wäre es hilfreich wenn Du Deinen Programm mal genauer
spezifizierst. Denn so ganz klar ist (mir jedenfalls) noch nicht, ob es
nicht doch am Programmer liegt.
Falls es ein selbstgebauter ist, wäre die Schaltung gut und evtl. der
Link von wo Du die Schaltung hast. Falls es ein gekaufter ist, wäre hier
auch ein Link hilfreich.
Hi,
ich verwende diese Schaltung hier:
http://www.rn-wissen.de/index.php/AVR-ISP_Programmierkabel
vllt sollte ich mir mal langsam einen anderen anschaffen...
vorausgesetzt es liegt daran. Über die Paralelle Buche dauert das schon
4 minuten bis die 128K da reingedrückt sind... und dann das ganze
nochmal auslesen =P
was haltet ihr von dem AVR ISP MK2? Vom Preis her recht annehmbar.
Hm. Nach der Beschreibung ist das Ding kompatibel zum STK200 bzw.
STK300. Da die schon recht alt sind wäre es evtl. möglich, das die
Software dazu die gröesseren Megas nicht unterstützt. Hardwaremäßig sehe
ich kein Problem, da ja das normale MISO/MOSI-Interface verwendet wird.
Evtl. hilft ein Update, wobei mir nicht klar ist, wo man das jetzt noch
her bekommt.
Allerdings hatte ich immer nur ein STK500 und das MKII; kann also nichts
aus eigener Erfahrung dazu sagen. Vielleicht/hoffentlich kennt ja jemand
anders hier den Programmer besser.
ich habe ebenfalls einen stk200-kompatiblen selbstgestrickten mit
74xx244 (Parallelport) und ein AVRISPmkII (USB).
Unter Linux mit avrdude ist der am Parallelport bei mir fast doppelt so
schnell.
soo, da bin ich wieder.
Teil bestellt, geliefert, angeschlossen.... GEHT NET!
habe die aus Bascom erzeugte .hex file im AVR Studio eingefügt und
Programmiert. Jetzt bekomme ich IMMER den Fehler:
WARNING: FLASH byte address 0x003E is 0x00 (should be 0xDD).. FAILED!
Habe schon verschiedene Geschwindigkeiten ausprobiert... 125K, 20K,
6K... immer das gleiche =( Jetzt bekomme ich auch kein "kleines"
Programm mehr in den Controller, was ja vorher mit dem alten Progger
noch ging...
HILFE!!!
>Habe schon verschiedene Geschwindigkeiten ausprobiert... 125K, 20K,>6K... immer das gleiche =( Jetzt bekomme ich auch kein "kleines">Programm mehr in den Controller, was ja vorher mit dem alten Progger>noch ging...
Wie sieht deine Schaltung an den ISP Pins aus?
schock... der alte Programmierer hat eben auch einen Fehler bei 003E
rausgeworfen... dachte schon der Chip wäre hin, aber beim zweiten Anlauf
hat es dann doch geklappt. Habe das funktionierende Programm mit dem
alten Progger wieder drin.
Beschaltung? Ich habe nur einen 10K Pullup an Reset. Mehr nicht. Den
100K am MISO vom alten Programmierer habe ich abgeknippst. Sollte der
dranbleiben? Dachte das wäre alles in dem USB-Wunderteil integriert...
Gruß
wieso wackelkontaktaufbau? Ist alles auf Platine gelötet... von der
Platine geh ich mit 25 Poligem Sub-D auf den Programmer. Hab mir heute
ein extra Kabel dafür gemacht.
hi,
habe jetzt eine andere Platine mit Atmega128L dran. Beim flashen kommt
folgendes:
Reading FLASH input file.. OK
Setting mode and device parameters.. OK!
Entering programming mode.. OK!
Programming FLASH .. FAILED!
Leaving programming mode.. OK!
ich weiss langsam nichtmehr weiter... die kabellänge vom 6er
Wannenstecker bis zum µC beträgt gute 15cm... Ist das etwas zu lang?
So, habe es jetzt nochmal am mega2561 versucht... Beim ersten Versuch
hat das Programmieren sofort funktioniert. Auch die überprüfung ohne
Fehler =) Danach gehts aber nichtmehr! Egal was ich mache... Versorgung
weg, MK2 neu verbinden an PC sowie Atmel, AVR Studio neu starten...
nichts geht.
Erst wenn ich das Programm wieder über den alten Parallel-Programmierer
reingeladen habe, kann ich erneut EINMAL mit dem MK2 proggen. Dann
wieder gleiches Phänomen. Hatte das schonmal jemand? Find ich absolut
seltsam...
Würd' jetzt mal raten, daß die Grundbeschaltung des ATM2561 nicht passt,
genauer der 100nF C fehlt.
Felix H. schrieb:> Beschaltung? Ich habe nur einen 10K Pullup an Reset.
hi,
also die 100n sind schon dran ;)... ich habe das mit dem "nur" nen
Pullup auf die Beschaltung der Programmierleitungen bezogen.
ich versteh das nicht... die Schaltung selbst ist ja schon etwa ein
halbes Jahr alt und läuft tadellos. Bin nur jetzt über die 50% mit der
Programmgröße gekommen und da zickt der alte Progger rum!