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
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.
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.
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.
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
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
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.
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.
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
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.
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!
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
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.
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.
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.
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.
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.
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.