Forum: Mikrocontroller und Digitale Elektronik MCS51 IDE unter Linux


von Tom A. (toma)


Angehängte Dateien:

Lesenswert?

Hallo Leute.

Da Weihnachten ist, habe ich ein kleines Geschenk für Freunde von Linux 
und den MCS51-Controllern. Es ist eine IDE in einem fortgeschrittenen 
Alpha Status. Zum editieren, assemblieren/compilieren und Downloaden 
eignet sie sich aber schon.

Sie wurde mit FLTK erstellt und statisch gelinkt, damit sollte sie 
eigentlich
auch auf Systemen ohne FLTK funktionieren. Mich würde interessieren ob 
dem so ist und das Programm auf einem Linux-System das noch keine 
Berührung mit FLTK hatte läuft? Ich kann das leider nicht prüfen.

Bitte keine Rückmeldungen der Art "Funktion X stürzt unter Bedingung Y 
ab", dazu ist es noch zu früh. Die ToDo Liste ist noch lang.

Informationen zum Umgang finden sich im PDF.

Frohe Weihnachten. Tom

: Bearbeitet durch User
von Jack V. (jackv)


Lesenswert?

Tom A. schrieb:
> Mich würde interessieren ob
> dem so ist und das Programm auf einem Linux-System das noch keine
> Berührung mit FLTK hatte läuft?

Könnte ich für dich schauen – könntest du mir dazu bitte den Quellcode 
zur Verfügung stellen, oder idealerweise das Repo verlinken, damit ich 
schauen kann, was ich da ausführen soll?

von Tom A. (toma)


Angehängte Dateien:

Lesenswert?

Hallo Jack

Der Quellcode ist zu durcheinander um ihn zu veröffentlichen, um das 
Programm zu starten braucht man ihn aber nicht. Im Verzeichnis in dem 
sich is51b befindet, von der Linux-Konsole aus mit "./is51b" starten. In 
grafischer Umgebung einfach anklicken. Ist auch im PDF beschrieben.

Wenn es funktioniert, sollte es aussehen ähnlich dem angehängten Bild.

Tom

von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Tom A. schrieb:
> Der Quellcode ist zu durcheinander um ihn zu veröffentlichen

Dann sollte man das resultierende Programm (noch) nicht veröffentlichen. 
Wild zusammengeschusterten Schund haben wir schon genug im Netz. Nimm 
dir die Zeit, es ordentlich zu machen.

Tom A. schrieb:
> Sie wurde mit FLTK erstellt und statisch gelinkt, damit sollte sie
> eigentlich auch auf Systemen ohne FLTK funktionieren. Mich würde
> interessieren ob dem so ist

Ja läuft.

Für solche Tests kannst du ganz bequem virtuelle Maschinen einrichten. 
Mein Favorit dazu ist Oracles VirtualBox (kostet nichts).

: Bearbeitet durch User
von Tom A. (toma)


Lesenswert?

Hallo Stefan.

Danke, mehr wollte ich nicht wissen.

Der Quellcode ist nicht wirklich so durcheinander, dafür sorgt schon 
FLUID, ich veröffentliche grundsätzlich keine Quellcodes.

Der Eine oder Andere kann is51b vielleicht schon nutzen, die wichtigen 
Grundfunktionen kann es ja. Dazu ist Weihnachten ein guter Zeitpunkt 
dafür.

Danke nochmal. Tom

von Jack V. (jackv)


Lesenswert?

Nur der Vollständigkeit halber, weil Stefan es ja schon getestet hat, 
der Hintergrund meiner Bitte:

Tom A. schrieb:
> Der Quellcode ist zu durcheinander um ihn zu veröffentlichen, um das
> Programm zu starten braucht man ihn aber nicht.

Ohne dir etwas unterstellen zu wollen: Kennst du die Geschichte vom 
Trojanischen Pferd? Da war’s auch ein Geschenk, in das keiner 
reingeguckt hat, bevor man sich das in einen gesicherten Bereich geholt 
hat – die Folgen für die Beschenkten waren nicht so toll …

Ohne den Quellcode ist nunmal nicht sicherzustellen, dass das Binary 
tatsächlich [nur] das macht, was der Ersteller verspricht. Dabei muss es 
nicht mal böse Absicht sein, Fehler passieren selbst professionellen 
Anbietern (erinnert sich noch jemand an die Geschichte mit Steam, das 
unter bestimmten Umständen mal eben das gesamte System geplättet hat?).

Binaries von irgendwem aus irgendwelchen Foren einfach so auzuführen, 
ist eigentlich in keinem Fall eine gute Idee (kleine Boards, wo jeder 
jeden persönlich kennt oder es eine wirklich enge Zusammenarbeit gibt, 
mal ausgenommen).

Sherlock 🕵🏽‍♂️ schrieb:
> Mein Favorit dazu ist Oracles VirtualBox (kostet nichts).

Mein Favorit wäre eher qemu, zusammen mit virt-manager, weil tatsächlich 
unabhängig von so grässlichen Firmen wie Oracle. Allerdings sollte man 
sich auch von Virtualisierung keine absolute Sicherheit erhoffen – es 
gab in der Vergangenheit verschiedene Wege, von dort aus auf den Host 
zuzugreifen. Nicht, dass ich dem TE sowas unterstellen würde, das ist 
dann doch eine ganz andere Liga, aber man sollte im Hinterkopf behalten, 
dass eine VM allenfalls eine Hürde darstellt, die im Zweifelsfall auch 
überwunden werden kann.

von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Jack V. schrieb:
> Allerdings sollte man
> sich auch von Virtualisierung keine absolute Sicherheit erhoffen – es
> gab in der Vergangenheit verschiedene Wege, von dort aus auf den Host
> zuzugreifen.

Das ist dann aber wirklich böse Absicht, passiert nicht aus Versehen.

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


Lesenswert?

Bei mir kam ein Hinweis per E-Mail an: wer's OpenSource möchte, wird 
hier fündig:

https://sourceforge.net/projects/mcu8051ide/

von Axel S. (a-za-z0-9)


Lesenswert?

Tom A. schrieb:
>
> Der Quellcode ist nicht wirklich so durcheinander, dafür sorgt schon
> FLUID, ich veröffentliche grundsätzlich keine Quellcodes.

Diese Entscheidung liegt zwar bei dir, aber unter Linux wirst du so nur 
wenige Fans finden. Software ohne Sourcecode kriegst du da nicht an den 
Mann, ja noch nicht mal getestet. Ich zum Beispiel würde kein Binary aus 
unbekannter Quelle ausführen.

Nochwas: welchen Vorteil bietet dein Programm denn gegenüber einer 
generischen IDE wie z.b. Eclipse mit dem SDCC Compiler? Die meisten IDEs 
kann man heutzutage für die Verwendung beliebiger Tools konfigurieren. 
Soweit wie ich aus dem PDF ersehe, hat deine "IDE" noch nicht mal den 
Funktionsumfang von VSCode.

von Klaus R. (klausro)


Lesenswert?

Axel S. schrieb:
> Soweit wie ich aus dem PDF ersehe, hat deine "IDE" noch nicht mal den
> Funktionsumfang von VSCode.

"...noch nicht mal..." - du bist ein Scherzkeks. VSCode wird ja erst 
bald 10 Jahre alt, hat mehrere tausend Unterstützer auf GitHub und im 
Hintergrund eine nicht ganz unbekannte Profifirma. Sowas wie 
Intellisense hat man sicher in ein paar Tagen nachprogrammiert ;-)

von Tom A. (toma)


Lesenswert?

Ich kenne die mcu8051ide, sie ist ganz gut wenn man sich auf Assembler 
beschränkt. Mit C wird es dann schon schwierig. Dazu finde ich sie 
überladen, ich brauche keine 7Segment Simulation oder ähnliches in der 
IDE.

Habe lange gesucht was passendes zu finden, ist mir aber nicht gelungen. 
Nächster Anlauf selbst ein Plugin für, zuerst Geany, danach CodeBlocks, 
zu schreiben. Geht leidlich, aber wenn es an den Debugger geht wird es 
eng. Ich konnte nichts finden, womit ich vernünftig arbeiten kann. Mir 
schwebt etwas in Form von Keil in abgespeckt vor, in Farbe und bunt. Da 
bleibt nur selbst schreiben.

Also mehrere Versuche mit unterschiedlichen Frameworks, zuerst Turbo 
Vision für Linux, NCurses, wxWidgets. Bei wxWidgets war, bis auf den 
Hochsprachen-Debugger, alles fertig. Da stolperte ich über die Lizenz, 
das darf man nur dynamisch linken.

Jetzt bin ich bei FLTK gelandet und das bietet alles was ich brauche. 
Ich schreibe das Programm nicht um es zu verkaufen, sondern weil ich es 
schreiben kann und für mich haben will. Wenn es noch jemand anders 
brauchen kann ist das gut, wenn nicht ist es auch gut. Wie ich es sehe 
kann es niemand brauchen, gut erspart mir Zeit die Dokumentation 
ausführlich zu schreiben.

Guten Rutsch. Tom

von Tom A. (toma)


Lesenswert?

Guten Morgen.

Ich brauche einen Editor mit Syntaxhighlight der mich speziell für MCS51 
unterstützt, mit einer unaufdringlichen Hilfe damit ich nicht die ganzen 
Befehle, Register, Bit, ... auswendig wissen muss. Einen brauchbaren 
Debugger mit Simulator der mich bei meiner Hardware unterstützt. Der 
Möglichkeit Programme und Projekte zu bearbeiten und zum Zielsystem zu 
übertragen. Das ganze in einer IDE um nicht ständig wechseln zu müssen. 
Wenn es dann noch In-Service-Debugger (ähnlich ISD51 beim Keil) und 
einen Hex-Editor beinhaltet wäre ich restlos glücklich.

Wenn jemand so etwas kennt (nicht nur von Gerüchten, sondern aus 
Erfahrung), bin ich gerne bereit mir das anzusehen. Von Allem das ich 
mir dazu bisher angesehen habe geht einzig die MCU51Ide in die richtige 
Richtung, ist aber weit vom Ziel entfernt. Die Entwicklung von MCU51 ist 
seit Jahren abgeschlossen, da wird sich auch nichts mehr ändern.

Tom

von Klaus R. (klausro)


Lesenswert?

Tom A. schrieb:
> Wie ich es sehe kann es niemand brauchen, gut erspart mir Zeit die
> Dokumentation ausführlich zu schreiben.

Sehr das mal nicht so streng! Du schreibst ja selbst, dass du erst am 
Anfang bist. Jetzt ist es ja so, dass die meisten 8051 Programmierer 
schon länger im Geschäft sind und sich somit "eingerichtet" haben, d.h. 
die sind jetzt nicht so auf der Suche. Auch wollen viele gerne mit einer 
IDE/Editor gerne mehrere Architekturen "erschlagen". Ich z.B. verwende 
gerne für Qt und für meine Embedded Sachen eben VSCode, weil es so 
mächtig ist und ich gar keine "ganze" IDE will (verwende i.A. 
Makefiles), will aber gerne Editoren die viel können. Ich hätte mir 
sicher deine IDE intensiver angesehen und, hätte ich den Quelltext, 
gestern wohl gleich mal kompiliert (habe vor längerer Zeit auch mit fltk 
programmiert). Mich hat deine Aussage "ich veröffentliche grundsätzlich 
keine Quellcodes." komplett abgeschreckt. Gerade Programmierer können ja 
mit dem Quelltext schon was anfangen. Natürlich bleibt die Frage, ob du 
schneller zum Ziel gekommen wärst, hättest du die Dinge, die an der 
8051ide fehlen, selbst erstellt, d.h. deine Energie verwendet um 
bestehende Tools besser zu machen. Aber ich kenne dass, sich in 
bestehende Quelltexte einzuarbeiten macht halt wenig Spaß. Wenn du jetzt 
eine IDE programmierst, die genau auf dich zugeschnitten ist und keine 
große Möglichkeit zur Konfiguration einbaust (ich sehe bis jetzt ja nur 
einen monolithischen IDE "Block") bleibt halt die Frage, wie viele 
Programmierer genau sowas suchen. Aber es könnte ja sein, dass du 
bestimmte Sachen besonders "elegant" gelöst hast bzw. lösen möchtest.

> Guten Rutsch. Tom

Ebenso!

von Axel S. (a-za-z0-9)


Lesenswert?

Tom A. schrieb:
> Ich brauche einen Editor mit Syntaxhighlight der mich speziell für MCS51
> unterstützt, mit einer unaufdringlichen Hilfe damit ich nicht die ganzen
> Befehle, Register, Bit, ... auswendig wissen muss.

Was soll das sein? Syntaxhighlighting wäre für C und das ist für den 
MCS51 nicht anders als sonst auch. Spezifische Variablen und Konstanten 
läßt man sich vom Editor auflösen, sofern der das kann (Intellisense). 
Das klappt auch unabhängig vom Target.

> Einen brauchbaren
> Debugger mit Simulator der mich bei meiner Hardware unterstützt. Der
> Möglichkeit Programme und Projekte zu bearbeiten und zum Zielsystem zu
> übertragen.

Debugger und Programmiertools gibt es nicht herstellerübergreifend. Ein 
Atmel AT89S2051 wird anders programmiert und debuggt als ein Siemens 
C515 oder Intel 8032. Und einen Debugger wirst du wohl auch nicht selber 
schreiben wollen. Das machen die großen IDE auch nicht. Statt dessen 
binden sie den Debugger vom Hersteller ein.

> Das ganze in einer IDE um nicht ständig wechseln zu müssen.

Ich weiß nicht. 3 xterms und ein Editor sind auch eine IDE. Das wechseln 
zwischen den Fenstern ist nicht aufwendiger, als in der IDE zwischen den 
Komponenten hin und her zu wechseln.

von Speedy G. (Firma: ACME) (speedy-g)


Lesenswert?

Wengistens ein strip wäre schon schlau gewesen um den geheimen code 
weiter zu verschleiern.

von Harald K. (kirnbichler)


Lesenswert?

Statt einer neuen IDE, die schon wieder alles anders macht, wäre eine 
Erweiterung für eine der etablierten IDEs meiner Ansicht nach 
sinnvoller.

Für vscode gibt es beispielsweise das hier:
https://marketplace.visualstudio.com/items?itemName=junwatu.8051

Ansonsten kennt Platformio (was ebenfalls eine Erweiterung für VScode 
ist) auch MCS-51:

https://docs.platformio.org/en/latest/platforms/intel_mcs51.html

Ich bin mir sicher, daß es vergleichbares auch für Eclipse gibt (oder 
für Emacs bzw. vim, das benutzen ja einige auch sehr gerne).

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.