Hallo Leute, ich habe ein Problem beim schreiben eines MCS51-Debugger Plugins für Geany. Habe noch keine Erfahrung mit GTK und benutze das Projekt zum lernen. Stehe noch ganz am Anfang und versuche zunächst einen Menüeintrag und einen Schnellstarter in der Werzeugleiste zu erstellen. Beides funktioniert, wenn ich das Plugin in Geany aktiviere, aber beim deaktivieren des Plugin bleibt das Icon in der Werkzeugleiste zurück. Der Menüeintrag wird ordentlich entfernt. Im Bild ist die Werkzeugleiste mit vier zurückgelassenen Icons (grüne Pfeile, rechts oben) und der entsprechende Programmcode zu sehen. Ab "//--- Debug Toolbar -------" wird der Schnellstarter eingerichtet und wie zu sehen funktioniert es sogar mehrfach hintereinander. In der Funktion "debug_cleanup" wird wieder aufgeräumt. Für den Menüeintrag "debug_menu_item" funktioniert das auch. Aber für den Schnellstarter des Toolbar nicht, der/die bleibt/bleiben bis zum Neustart von Geany zurück. Meine Frage: Kennt jemand eine Möglichkeit dieses Icon beim aufräumen zu entfernen? Im Netz habe ich darüber leider nichts gefunden. Es muss aber gehen, da es im Plugin "scope", der Geany Plugins, Anwendung findet und das bei meinem Geany_1.36 auch funktioniert. Leider verstehe ich den komplexen Quellcode von "scope" nicht um mir daraus die Lösung zu erarbeiten. Gruss Tom
Problem gelöst. Man muss destroy das richtige Element zum zerstören geben :)
Hallo kannAlllesBesser?! Ich arbeitete lange mit Keil's µVision unter Windows, nun bin ich komplett umgestiegen auf Linux und finde hier nichts Vergleichbares. Bleibt nur was selbstgemachtes, vor allem weil mein favorisierter Controller (Atmel AT89C5122) bereits abgekündigt ist und auch noch auf eigener Hardware läuft. Dieses Selbstgemachte wird also sehr speziell werden und ist eigentlich nur für mich interessant. Da ich das Plugin aber zunächst nur für den einfachen 8051 schreibe könnte ich mir ein veröffentlichen dieses Teils vorstellen (wenn er fertig ist). Die Quellen sind zu grauslig sie zu veröffentlichen. Als Plugin muss auch nichts installiert werden, man teilt Geany lediglich den Pfad zum Plugin mit. Funktionell soll das Plugin so ähnlich wie µVision sein, nur nicht so umfangreich, dafür mit neuen Funktionen. Im Moment ist debuggen im Asseblermodus fertig und bietet folgende Möglichkeiten: Run - Im Automatikbetrieb starten (bis Ende oder Breakpoint) Step - Abhängig vom Betriebsmode ein Assembler- oder C-Befehl StepOver - Unterprogramme/Prozeduren wie einen Befehl ausführen StepOut - Ab aktueller Position bis zur Rückkehr aus UP wie ein Befehl StepBack - Letzte Funktion (Automatik oder Step) rückgängig machen Vor Allem StepBack war mir wichtig, um beim mehrfachen debuggen einer bestimmten Programmstelle (Schalter abfragen, Wert einlesen...) nicht jedesmal das Programm neu starten zu müssen und mich bis zur entscheidenden Stelle durchkämpfen zu müssen. Wenn ich eine Schalterabfrage prüfen will kann ich nun den einen Zustand prüfen, steppe zurück und prüfe den anderen Schalterzustand. Im Grunde ist es aber noch viel zu früh über das Projekt auch nur zu sprechen. Im Anhang ist ein Bildschirmfoto des Debbuggers im Assemblermodus. Gruß Tom
TomA schrieb: > Da ich das Plugin aber zunächst nur für den einfachen 8051 schreibe > könnte ich mir ein veröffentlichen dieses Teils vorstellen (wenn er > fertig ist). danke für die info. ich habe auch alles von keil rumliegen einschliesslich rtx51 tiny und pro. falls du bedarf an rtx51 hast ... ich dachte, ich könnte auch in deine geany richtung einen eprom simulator bauen oder für eine z8 cpu. darum wollte ich mal in die sources reinschauen.
Hallo kannAlllesBesser?! Das ist ja nett, über eine Z80-IDE habe ich auch schon nachgedacht. Ist ja viel einfacher als 8051, hat nicht soviel integrierte Hardware. Da ich aber über 30 Jahre nichts mehr mit Z80 gemacht habe wurde der Gedanke verdrängt (nicht verworfen). Bräuchte dafür auch zuerst eine Hardware mit Programmdownload und Debug über USB. Jetzt bitte keine Links zu irgendwelchen Z80 Platinen, wenn dann wird so etwas selbst gemacht. Wenn du selbst so etwas Programmieren möchtest überlege gut ob du es als Plugin oder eigenständige Software machst. Mir scheint ich habe durch Geany mehr Arbeit als ohne. Bei Tatatureingaben gibt mir Geany das KeyRelease-Ereignis und wertet selbst das KeyPress-Ereignis aus. Nun muss ich erst mal die durch Geany verursachte Unordnung beseitigen und danach machen was eigentlich geschehen soll. Das ist besonders bei den HexEditoren für Speicherbereiche lustig, wo nur bestimmte Zeichen an bestimmten Positionen zulässig sind. Ich bin mir immer noch nicht sicher ob ich es auftrennen und als eigenständige Software neu stricken, oder einfach so lassen soll. Egal wie, es ist eine Menge Arbeit. Das geschätzte halbe Jahr Entwicklungszeit bis zum debuggen über USB in der Hardware meiner Platinen kann kann ich ohne schlechtes Gewissen auf mindestens ein Jahr verlängern. Aber es ist Hobby, macht Spaß und kein Arbeitgeber oder Termin steht hinter mir und blickt, provokativ, ständig nervös wie Zufällig auf den Kalender. Wenn Du dir selbst etwas in dieser Richtung schreiben willst helfen dir die Dokumentationen von Geany, GTK und Scintilla weiter. Die sind zwar nicht gut, aber alles ist sehr oberflächlich und klar unverständlich beschrieben (Wenn im Winter die Betriebskantine ausfällt, sollte man sofort alle Fenster öffnen - niemand soll hungern ohne zu frieren, ihr habt ein Recht darauf). Wo ich am Anfang nur ".a..h.f" verstand, verstehe ich heute zumindest schon "Bahnhof". Gelernt habe ich dabei aber eine ganze Menge. Wenn ich heute neu beginnen würde, würde ich es als eigenständiges Programm mit wxWidgets und Scintilla umsetzen. Damit umschifft man den Lizenzdschungel falls man doch mal veröffentlichen will. Egal wie, ich wünsche dir viel Erfolg und eine kurzweilige Entwicklungszeit. Gruss Tom
TomA schrieb: > Das ist ja nett, über eine Z80-IDE habe ich auch schon nachgedacht. Ist > ja viel einfacher als 8051 nicht z80 sondern z8, der hat auch on-chip timer, ports, uart, ... TomA schrieb: > Wenn ich heute neu beginnen würde, würde ich es > als eigenständiges Programm mit wxWidgets jo, ich tendiere zu python, da kann man vieles schnell und gut erledigen. am ende trotzdem alles viel arbeit, aber nur glotze ist auch keine alternative!
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.