Forum: Mikrocontroller und Digitale Elektronik AtmelStudio MKII Debug Atiny85


von Kahn P. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich habe nun endlich ein MKII Modul von Atmel um meinen USBASP zu 
ersetzen und über die geheime Leitung des MKII Haltepunkte im 
Quellentext setzen zu können.

Nach dem Einrichten wird mein Programm übertragen es ist nun kein *.hex 
mehr sondern ein *.elf

Leider kann ich nicht feststellen, das nach dem Starten des Programms 
auf dem Atiny85 mein erster Haltepunkt Ausgeführt wird es wird also 
nicht gehalten was mache ich falsch ?

Vielen Dank für Hinweise
  Karsten aus Berlin

von erzählbär (Gast)


Lesenswert?

Karsten S. schrieb:
> was mache ich falsch ?

Du zeigst ein Bild auf dem man nichts erkennen kann.

Möglicher (aber nur angenomener) kapitaler Fehler ist dass
man ein Programm mit optimierter Compilierung verwendet.
Da gibt es oft keine Haltepunkte wo man welche braucht.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Karsten S. schrieb:

> ich habe nun endlich ein MKII Modul von Atmel um meinen USBASP zu
> ersetzen und über die geheime Leitung des MKII Haltepunkte im
> Quellentext setzen zu können.

Du sprichst in Rätseln.

Was ist ein "MKII Modul"? Ist das ein AVRISPmkII oder ein JTAGICEmkII? 
("Modul" wurden die bei Atmel eh nie bezeichnet.)

Welche "geheime Leitung"?

> Nach dem Einrichten wird mein Programm übertragen es ist nun kein *.hex
> mehr sondern ein *.elf

Das Ergebnis des Linkers ist immer eine ELF-Datei. Aus der kann man sich 
die Ladedaten in eine Intel-Hex-Datei extrahieren, muss es aber nicht. 
Wenn man debuggen will, hilft einem die iHex-Datei nicht, denn die 
enthält keinerlei Debug-Informationen.

> Leider kann ich nicht feststellen, das nach dem Starten des Programms
> auf dem Atiny85 mein erster Haltepunkt Ausgeführt wird es wird also
> nicht gehalten was mache ich falsch ?

Lässt sich anhand deiner spärlichen Beschreibung kaum sagen. Der 
Screenshot zeigt irgendwas, was man nicht lesen kann.

Auch, wenn ich überhaupt kein Freund davon bin, nicht optimierte 
Compilate zu debuggen: für einen ersten Test ist es sicher hilfreich, 
die Optimierung auszuschalten, denn dann sollte sich wirklich auf jedes 
Stück Quelltext ein Breakpoint setzen lassen. Zweitens musst du 
natürlich sicherstellen, dass du auch in der Tat Debug-Symbole in deinem 
Build hast. Atmel Studio habe ich nie gemocht und schon lange nicht mehr 
benutzt, da kann ich dir nicht so detailliert helfen.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

erzählbär schrieb:
> Da gibt es oft keine Haltepunkte wo man welche braucht.

Im Zweifel sollte sich darauf:
1
asm volatile ("nop"::);

immer ein Haltepunkt setzen lassen.

von Kahn P. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo ,
erstmal vielen Dank für all die Hinweise das Bild lade ich hiermit 
nochmal in hoher Auflösung nach.

Wenn ich den Debug Schalter Optimize reduziere auf None, erscheinen 
Fehlermeldungen , sehe ich gerade , siehe bild 2
1
Severity  Code  Description  Project  File  Line
2
Error    recipe for target 'KeyMan.elf' failed  KeyMan  Y:\FlexxVisionProject\InspectSystem\AvrOpen\Subtil\USB_KeyMan\KeyMan-Admel6-HID\KeyMan\Debug\Makefile  142
3
Message    previous implicit declaration of 'initADC' was here  KeyMan  Y:\FlexxVisionProject\InspectSystem\AvrOpen\Subtil\USB_KeyMan\KeyMan-Admel6-HID\KeyMan\KeyMan.c  113
4
Message    previous implicit declaration of 'initDAC' was here  KeyMan  Y:\FlexxVisionProject\InspectSystem\AvrOpen\Subtil\USB_KeyMan\KeyMan-Admel6-HID\KeyMan\KeyMan.c  114
5
Error    undefined reference to `EEPROM_read'  KeyMan  Y:\FlexxVisionProject\InspectSystem\AvrOpen\Subtil\USB_KeyMan\KeyMan-Admel6-HID\KeyMan\KeyMan.c  291
6
Error    undefined reference to `EEPROM_read'  KeyMan  Y:\FlexxVisionProject\InspectSystem\AvrOpen\Subtil\USB_KeyMan\KeyMan-Admel6-HID\KeyMan\KeyMan.c  291
7
Error    undefined reference to `EEPROM_read'  KeyMan  Y:\FlexxVisionProject\InspectSystem\AvrOpen\Subtil\USB_KeyMan\KeyMan-Admel6-HID\KeyMan\KeyMan.c  291
8
Error    undefined reference to `EEPROM_read'  KeyMan  Y:\FlexxVisionProject\InspectSystem\AvrOpen\Subtil\USB_KeyMan\KeyMan-Admel6-HID\KeyMan\KeyMan.c  291
9
Error    undefined reference to `EEPROM_write'  KeyMan  Y:\FlexxVisionProject\InspectSystem\AvrOpen\Subtil\USB_KeyMan\KeyMan-Admel6-HID\KeyMan\KeyMan.c  291
10
Error    undefined reference to `EEPROM_write'  KeyMan  Y:\FlexxVisionProject\InspectSystem\AvrOpen\Subtil\USB_KeyMan\KeyMan-Admel6-HID\KeyMan\KeyMan.c  291
11
Error    undefined reference to `EEPROM_write'  KeyMan  Y:\FlexxVisionProject\InspectSystem\AvrOpen\Subtil\USB_KeyMan\KeyMan-Admel6-HID\KeyMan\KeyMan.c  291
12
Error    undefined reference to `EEPROM_write'  KeyMan  Y:\FlexxVisionProject\InspectSystem\AvrOpen\Subtil\USB_KeyMan\KeyMan-Admel6-HID\KeyMan\KeyMan.c  291
13
Message    include '<string.h>' or provide a declaration of 'strlen'  KeyMan  Y:\FlexxVisionProject\InspectSystem\AvrOpen\Subtil\USB_KeyMan\KeyMan-Admel6-HID\KeyMan\KeyMan.c  395
14
Message    expected 'const char *' but argument is of type 'unsigned char *'  KeyMan  Y:\FlexxVisionProject\InspectSystem\AvrOpen\Subtil\USB_KeyMan\KeyMan-Admel6-HID\KeyMan\KeyMan.c  395
15
Message    include '<string.h>' or provide a declaration of 'memcpy'  KeyMan  Y:\FlexxVisionProject\InspectSystem\AvrOpen\Subtil\USB_KeyMan\KeyMan-Admel6-HID\KeyMan\usbdrv.c  266

: Bearbeitet durch Moderator
von Kahn P. (Gast)


Angehängte Dateien:

Lesenswert?

Acherjeminee ich sehe gerade das mit  dem ISP-MKII
von Atmel Debuggen nicht möglich sein soll, na das ist ja fatal.
Beitrag "AVRISP mkII als Debugger?"

Da brauche ich also ein ganz anderes Konzept.. oh je..

Danke für die Mühen hier.
  Gruß aus Berlin
     Karsten

von QQ (Gast)


Lesenswert?

Jörg W. schrieb:
> Ist das ein AVRISPmkII oder ein JTAGICEmkII?

Karsten S. schrieb:
> Acherjeminee ich sehe gerade das mit  dem ISP-MKII
> von Atmel Debuggen nicht möglich sein soll, na das ist ja fatal.

Darum wurdest du gefragt.


Grundsätzlich geht debuggen bei AVRs über JTAG (einige AVRs) und/oder 
debugWire (viele AVRs)

Karsten S. schrieb:
> Da brauche ich also ein ganz anderes Konzept..

Wie umfangreich ist dein Projekt?
Vielleicht ist es ja nicht Fehleranfällig, bzw. Besteht keine Gefahr 
durch Bugs oder vielleicht kommt man durch geplantes, aufmerksames 
programmieren mit regelmäßigen Überprüfungen auch zum Ziel.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Deine Fehlermeldungen haben aber mit dem Debuggen gar nichts zu tun. Die 
zeugen einfach von völlig unverstandenem Code.

Beitrag #6736651 wurde von einem Moderator gelöscht.
von Kahn P. (Gast)


Lesenswert?

Hallo QQ-Gast,
du hast recht es ist ein AVRISPmkII damit kann ich genauso wenig 
debuggen wie mit dem USBASP  - Ich verwende eine Software TX Leitung 
bisweilen um mit einem zweiten atiny85 NAchrichten zu empfangen, leider 
ungünstig da ich den USB Port in asm mit hoher irq rate abtasten muss 
(USB-YellowBook)

Danke für deine Hilfe, ich benötige den teuren MKIIISA mit Debugger von 
Atmel die jetzt Microchip heißen, die debuggen  über eine Leitung. 
Kostet 128Euro.

Ich habe einen JTag Debugger von AnalogDevices.. werde aber den System 
Programmer-Debugger von Atmel orden - Danke für deine Hinweise
 Karsten aus Berlin

von erzählbär (Gast)


Lesenswert?

Karsten S. schrieb:
> Danke für die Mühen hier.

Danke für deine Mühen hier. Deine Screenshots sind immer noch
so scheisse wie der erste. Du hast dich sehr bemüht uns alles
zu zeigen. Screenshots gibt man im *.png Format wieder.

von QQ (Gast)


Lesenswert?

Jörg W. schrieb:
> Deine Fehlermeldungen haben aber mit dem Debuggen gar nichts zu tun. Die
> zeugen einfach von völlig unverstandenem Code.

Mit anderen Worten, dein Programm wird nicht kompiliert.

Du bekommst also überhaupt nichts, was debugbar wäre. Die 
Fehlermeldungen, Warnungen und Informationen am unteren Bildschirmrand 
geben detaillierte Hinweise zur Problemlösung.

Oben hast du selbst sämtliche Meldungen per copy and paste eingestellt. 
Lies die durch und behebe die Fehler. Zuerst!

von Maxim B. (max182)


Lesenswert?

Karsten S. schrieb:
> Danke für deine Hilfe, ich benötige den teuren MKIIISA mit Debugger von
> Atmel die jetzt Microchip heißen, die debuggen  über eine Leitung.
> Kostet 128Euro.

Es gibt immer noch auch alte AVR JTAG ICE XPII aus China:
https://www.ebay.de/itm/123947502568?hash=item1cdbd8cbe8:g:Z44AAOSwlwtdrYSN

Aber atiny85 mit debugWIRE ist kaum gute Wahl, wenn man schrittweise 
Programm durchgehen will. Viel besser wäre, Code mit einer Mega über 
JTAG zu prüfen und später auch in Tiny verwenden.

: Bearbeitet durch User
von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Maxim B. schrieb:
> Es gibt immer noch auch alte AVR JTAG ICE XPII auch China

Statt zum Clone eines 16 Jahre alten Debuggers würde ich da aber lieber 
zum (einigermaßen) aktuellen Original greifen, der Preisunterschied 
beträgt nur wenige Prozent (und möglicherweise gibt's die auch irgendwo 
bissel billiger):

https://www.reichelt.de/debug-programmer-fuer-arm-cortex-m-avr-atmel-ice-basic-p176552.html?&trstct=pos_0&nbc=1

Leider hat die Atmel-Übernahme durch Microchip den Preisen dieser Teile 
nicht gut getan; vor ein paar Jahren kosteten sie 2/3 davon.

von c-hater (Gast)


Lesenswert?

Jörg W. schrieb:

> und möglicherweise gibt's die auch irgendwo
> bissel billiger

Ja, z.B. hier:

https://shop.mymcu.de/index.php?sp=article.sp.php&artID=200142

Allerdings: Ohne Gehäuse und Kabelsatz.

> Leider hat die Atmel-Übernahme durch Microchip den Preisen dieser Teile
> nicht gut getan; vor ein paar Jahren kosteten sie 2/3 davon.

Ja, und inwischen haben das wohl auch die letzten Reseller mitbekommen. 
Vor drei Monaten gab's das Board von o.g. Quelle noch für 39 Euronen. 
Das war zu der Zeit ein echtes Schnäppchen. Für den derzeitigen Preis 
von 59€ ist es schon deutlich weniger attraktiv.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

c-hater schrieb:
> Vor drei Monaten gab's das Board von o.g. Quelle noch für 39 Euronen.

Etwa so viel kostete es anfangs überall.

Gehäuse und Kabel sind natürlich nicht ganz unpraktisch.

von c-hater (Gast)


Lesenswert?

Jörg W. schrieb:

> Gehäuse und Kabel sind natürlich nicht ganz unpraktisch.

Gehäuse halte ich für durchaus verzichtbar, schließlich wird das Ding 
typisch in Umgebungen verwendet, in denen auch das Target noch kein 
Gehäuse hat. Debugging halt. Ein Board mehr oder weniger in den 
Versuchsaufbau schrauben: geschenkt.

Der fehlende Kabelsatz ist allerdings wirklich recht schmerzlich.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

c-hater schrieb:
> Gehäuse halte ich für durchaus verzichtbar, schließlich wird das Ding
> typisch in Umgebungen verwendet, in denen auch das Target noch kein
> Gehäuse hat.

Naja, auch für den Dragon seinerzeit war es schon nicht unpraktisch, ihn 
direkt in seiner Pappschachtel zu belassen und nur die Kabel nach außen 
zu führen. Das reduziert die Gefahr von Kurzschlüssen beim 
Versuchsaufbau.

Klar, das Gehäuse kann man sich auch irgendwie 3D-drucken heutzutage, 
das Kabel (und dabei auch der 10->6 Adapter) ist wichtiger.

von Maxim B. (max182)


Lesenswert?

Jörg W. schrieb:
> Statt zum Clone eines 16 Jahre alten Debuggers würde ich da aber lieber
> zum (einigermaßen) aktuellen Original greifen

Leider gibt es Original nicht zu kaufen. Nur deshalb Clone.
16 Jahre alt - das ist eher Vorteil: alles gut geprüft und sicher.

Ich spiele oft Orgeln, die 150 - 300 Jahre alt sind. Manche sind besser 
als heutigen. Alter ist nicht immer schlecht.

: Bearbeitet durch User
von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Maxim B. schrieb:
> Leider gibt es Original nicht zu kaufen.

Die aktuellen schon, und die sind nicht nur vielfältiger als die alten, 
sondern auch schneller. Da sie selbst nach der Teuerungsaktion gerade 
mal genauso viel kosten wie diese (technologisch) alten Clones, finde 
ich die Clones hier nicht sinnvoll (zumal keiner weiß, wie gut sie 
wirklich sind).

Einziges Argument pro JTAGICEmkII wäre debuggen mit AVaRICE oder AVR 
Studio 4.

von Maxim B. (max182)


Lesenswert?

Jörg W. schrieb:
> Einziges Argument pro JTAGICEmkII wäre debuggen mit AVaRICE oder AVR
> Studio 4.

Das ist auch für mich wichtig.

Beitrag #6739066 wurde von einem Moderator gelöscht.
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.