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
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!
Eine eigene Frage?
Dieser Thread ist über 6 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.