Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.sci.electronics > #249455 > unrolled thread
| Started by | Bernd Laengerich <bernd.laengerich@web.de> |
|---|---|
| First post | 2018-11-16 21:40 +0100 |
| Last post | 2018-11-18 23:27 +0100 |
| Articles | 5 — 3 participants |
Back to article view | Back to de.sci.electronics
Atmel MEGA2561 programmieren Bernd Laengerich <bernd.laengerich@web.de> - 2018-11-16 21:40 +0100
Re: Atmel MEGA2561 programmieren Heinz Schmitz <kma@kma.org> - 2018-11-17 10:37 +0100
Re: Atmel MEGA2561 programmieren Michael Bäuerle <michael.baeuerle@gmx.net> - 2018-11-17 11:16 +0000
Re: Atmel MEGA2561 programmieren Bernd Laengerich <bernd.laengerich@web.de> - 2018-11-17 16:45 +0100
Re: Atmel MEGA2561 programmieren Bernd Laengerich <bernd.laengerich@web.de> - 2018-11-18 23:27 +0100
| From | Bernd Laengerich <bernd.laengerich@web.de> |
|---|---|
| Date | 2018-11-16 21:40 +0100 |
| Subject | Atmel MEGA2561 programmieren |
| Message-ID | <g58o97Fad58U1@mid.individual.net> |
Hi, ich stehe gerade vor einem Rätsel. Gestern habe ich einen MEGA2561 auf eine Platine gelötet. Heute wollte ich den mittels ISP programmieren. Habe den FastBoot-Loader programmiert, das Ding startet (Anzeige mit LED). Danach wollte ich das eigentliche Hauptprogramm, weil er schon am Dongle hängt, auch programmieren: Nix läuft. Nachdem das alles merkwürdigerweise mit mehreren Versuchen nicht lief, habe ich festgestellt, daß der irgendwie nur die Hälfte des Speichers zu haben scheint: Der Bootloader, der ab 3FC00 liegt, erscheint auch unter 1FC000. Beim Speichern des Hauptprogrammes über 1FC00 hinaus wird der dann zerschrieben. Schreibe ich den Bootloader ab 0FC00, dann taucht er beim Lesen auch wieder unter 2FC00 auf. Der Programmer ist ein MX-USBISP Programmer, der nur unter ProgISP 1.72 läuft. Leider nicht STK500-kompatibel. Damit habe ich aber noch nie so große Atmels programmiert. Frage dazu: Ist es möglich, daß eine fehlerhafte Außenbeschaltung (Pin z.B. dauerhaft auf Masse) diesen Fehler intern hervorruft? Ansonsten kommt mir nur noch defekter Proz oder Programmer in den Sinn. Bernd
[toc] | [next] | [standalone]
| From | Heinz Schmitz <kma@kma.org> |
|---|---|
| Date | 2018-11-17 10:37 +0100 |
| Message-ID | <j9ovudduuoqg7c9mpqrkc0nl9egeo9u0h6@4ax.com> |
| In reply to | #249455 |
Bernd Laengerich wrote: >Nachdem das alles merkwürdigerweise mit mehreren Versuchen nicht lief, >habe ich festgestellt, daß der irgendwie nur die Hälfte des Speichers zu >haben scheint: Wo hast du den Chip gekauft? Grüße, H.
[toc] | [prev] | [next] | [standalone]
| From | Michael Bäuerle <michael.baeuerle@gmx.net> |
|---|---|
| Date | 2018-11-17 11:16 +0000 |
| Message-ID | <AABb7/h+F78AAAvf.A1.flnews@Server4.micha.freeshell.org> |
| In reply to | #249455 |
Bernd Laengerich wrote: > > ich stehe gerade vor einem Rätsel. Gestern habe ich einen MEGA2561 auf > eine Platine gelötet. Heute wollte ich den mittels ISP programmieren. > Habe den FastBoot-Loader programmiert, das Ding startet (Anzeige mit > LED). Danach wollte ich das eigentliche Hauptprogramm, weil er schon am > Dongle hängt, auch programmieren: Nix läuft. > > Nachdem das alles merkwürdigerweise mit mehreren Versuchen nicht lief, > habe ich festgestellt, daß der irgendwie nur die Hälfte des Speichers > zu haben scheint: Der Bootloader, der ab 3FC00 liegt, erscheint auch > unter 1FC000. Beim Speichern des Hauptprogrammes über 1FC00 hinaus wird > der dann zerschrieben. Schreibe ich den Bootloader ab 0FC00, dann > taucht er beim Lesen auch wieder unter 2FC00 auf. > > Der Programmer ist ein MX-USBISP Programmer, der nur unter ProgISP 1.72 > läuft. Leider nicht STK500-kompatibel. Damit habe ich aber noch nie so > große Atmels programmiert. > > Frage dazu: Ist es möglich, daß eine fehlerhafte Außenbeschaltung (Pin > z.B. dauerhaft auf Masse) diesen Fehler intern hervorruft? > > Ansonsten kommt mir nur noch defekter Proz oder Programmer in den Sinn. Das Flash der AVRs wird wortweise addressiert (weil die AVR-Befehle 16bit Breite haben), d.h. jenseits der 128KiByte Grenze (ab Wort-Adresse 0xFFFF) sind mit 16bit-Adressen Klimmzüge erforderlich um die zweite Bank zu verwenden. Deine Adressen oben sind Byte-Adressen, d.h. die Grenze zur zweiten Bank liegt dann bei 0x1FFFF/0x20000. Das würde die Spiegelung von 0x3FC00 zu 0x1FC00 erklären (nur der halbe Speicher zugänglich). Wenn dein Programmer das serielle ISP-Interface verwendet, dann muss er via "Load Extended Address Byte" die Adressbits jenseits 0xFFFF setzen, bevor er auf das Flash (oder dessen Page-Buffer) zugreift. Das ursprüngliche ISP-Protokoll hatte nur 16bit Adressen, d.h. damit ist der Flash-Speicher jenseits 128KiByte gar nicht zugänglich. Ich würde vermuten, dass dein Programmer und/oder deine Programmier- software nicht mit AVRs >128KiByte Flash umgehen kann.
[toc] | [prev] | [next] | [standalone]
| From | Bernd Laengerich <bernd.laengerich@web.de> |
|---|---|
| Date | 2018-11-17 16:45 +0100 |
| Message-ID | <g5ard9Fo7oaU1@mid.individual.net> |
| In reply to | #249461 |
Am 17.11.2018 um 12:16 schrieb Michael Bäuerle: > Wenn dein Programmer das serielle ISP-Interface verwendet, dann muss > er via "Load Extended Address Byte" die Adressbits jenseits 0xFFFF > setzen, bevor er auf das Flash (oder dessen Page-Buffer) zugreift. > Das ursprüngliche ISP-Protokoll hatte nur 16bit Adressen, d.h. damit > ist der Flash-Speicher jenseits 128KiByte gar nicht zugänglich. > Ich würde vermuten, dass dein Programmer und/oder deine Programmier- > software nicht mit AVRs >128KiByte Flash umgehen kann. Danke, der Verdacht hat sich erhärtet. Das Ding blendete mich ob des schönen Gehäuses. Den Bootloader habe ich jetzt draufgeflasht und dann seriell die eigentliche Software > 128KB. Das hat funktioniert, auch Verify klappt. Vermutlich komme ich jetzt nicht mehr in den Bootloader, aber das ist mir erstmal egal. Es ist wohl tatsächlich der ISP-Dongle oder die zugehörige Software. Aufschrift intern MX-USBISP V5.00 2018-03-18. Man kann wohl USBASP drauf flashen (zumindest für V4.00 wird das behauptet), was ich beizeiten mal probieren werde. Damit steht ein ISP-Programmer auf der Einkaufsliste. Bernd
[toc] | [prev] | [next] | [standalone]
| From | Bernd Laengerich <bernd.laengerich@web.de> |
|---|---|
| Date | 2018-11-18 23:27 +0100 |
| Message-ID | <g5e7atFgk83U1@mid.individual.net> |
| In reply to | #249461 |
Am 17.11.2018 um 12:16 schrieb Michael Bäuerle: > Ich würde vermuten, dass dein Programmer und/oder deine Programmier- > software nicht mit AVRs >128KiByte Flash umgehen kann. So, jetzt habe ich einen Arduino Uno als STK500v1 genutzt, um den MX-USBISP mit USBasp von Thomas Fischl zu versorgen. Das funktioniert, ich kann jetzt mittels avrdude sowohl den Arduino als auch den USBasp ansprechen. Die Version 2011-05-28 von USBasp sagt in den release notes: usbasp.2011-05-28 (v1.4) ------------------------ - added TPI support for ATTiny4/5/6/10 (by Slawomir Fraś) - added support for controllers with flash >128kb (by Slawomir Fraś) Merkwürdigerweise liefert der USBasp immer noch Mist, während der Arduino korrekt arbeitet. Kann man also auch nicht empfehlen. Naja, Reichelt wird wohl demnächst liefern... Bernd
[toc] | [prev] | [standalone]
Back to top | Article view | de.sci.electronics
csiph-web