Forum: Mikrocontroller und Digitale Elektronik SC12 Beck Borland 5.02 und floating point


von Bernhard (Gast)


Lesenswert?

Hallo Leute,
ich suche verzweifelt nach dem Schalter um floats benutzen zu können.
Im Menü "options.projekt.compiler.floating point" läßt sich die
Libary zwar angeblich zuschalten, aber sowohl unter DOS wie auch auf
dem SC12 stürzt mir jede kleine floating Operation ab.
Code:
float var_float;
var_float *= 1.1f;

Fehlermeldung: ungültiger Befehl

Hat jemand dieses Problem schon einmal gelöst?

Bernhard

von Rufus T. Firefly (Gast)


Lesenswert?

Library hinzufügen genügt nicht, Du musst die FP-_Emulation_ aktivieren.
Und auf Codeerzeugung für 80186 achten, was besseres steckt im Beck
nämlich nicht drin.

Es gibt übrigens eine recht aktive Newsgroup, die sich ausschließlich
mit SC12 und Konsorten beschäftigt, die wird von einem Beck-eigenen
Newsserver gehostet:

news://news.beck-ipc.com/beck.forum.ipc_atchip

von Bernhard (Gast)


Lesenswert?

@Rufus,

80186 Code wird erzeugt.
Wo oder wie kann ich die FP-Emultaion aktivieren.
So wie ich es oben beschrieben habe ( Im Menü "options projekt
compiler.floating point" ) offensichtlich nicht.

Bernhard

von Rufus T. Firefly (Gast)


Lesenswert?

Keine Ahnung.
Der letzte Borland-Compiler, mit dem ich mich vergnügt habe, war BC++
3.1, das ist dementsprechend schon sehr lange her. Da war das an
einer ähnlichen wie von Dir zitierten Stelle verborgen.
Mal 'ne Volltextsuche nach "emulation" in der Onlinehilfe gemacht?

von Bernhard (Gast)


Lesenswert?

Habe den Fehler gefunden!

Im Projektfenster mit rechter Maustaste unter Target Expert...

Hinweis: Kaum macht man es richtig, schon geht es.

Bernhard

von Rufus T. Firefly (Gast)


Lesenswert?

"Kaum macht man es richtig, schon geht es."

Na also.

Ein Lob an Borland für die anscheinend bekloppt versteckte Option.

Hast Du Dir zwischenzeitlich mal die von mir erwähnte Newsgroup
angesehen? Eine Kopie davon liegt wohl auch als Webforum auf dem
Beck-Server 'rum, für Leute, die keinen Newsreader verwenden mögen.

von Bernhard (Gast)


Lesenswert?

Hallo Rufus,

ich habe schnell 'mal reingeschaut. Sieht gut aus.

Ich werde dort wohl noch eins ums andere Mal hinein schauen.

Der Webserver arbeitet nun auch einwandfrei. Hast Du eine Vorstellung
um wieviel sich der Speicherbedarf des Programms erhöht, wenn man
floats benutzt. Mein Programm hat sich von 30 auf 110KByte aufgebläht.
Das kann es doch nicht sein. Oder?

Bernhard

von Rufus T. Firefly (Gast)


Lesenswert?

Naja, da wird immerhin eine komplette Floatingpoint-Emulationsbibliothek
dazugelinkt; der 80186 stammt halt noch aus der Steinzeit, in der der
"Coprozessor", der für Floatingpoint-Arithmetik zuständig ist, noch
ein separater und oft nicht vorhandener Baustein war.

Ob das allerdings 80 kByte ausmachen darf? Keine Ahnung. Hast Du
möglicherweise bei Deinen Versuchen, die fp-emulation zum laufen zu
bekommen, noch den Debugmodus aktiviert oder lässt Du
Debuginformationen im .exe-File? Die kann man, wenn ich mich recht
erinnere, mit einem Programm namens tdstrip entfernen.

Ansonsten ist bei SC12-Entwicklern der Exe-File-Kompressor UPX sehr
beliebt.

von Markus_8051 (Gast)


Lesenswert?

Wo wir gerade bei Beck und Borland C sind: Ich habe den Beck IPC früher
auch mit Borland C3.0x programmiert. Dann bin ich halt auch mal
irgendwann auf die "Beck-Version" BC 5.xx umgestiegen. Seitdem sind
meine Programe auch alle um ca. 40kb größer geworden. Ich bin mir aber
sicher, die Compileroptionen gleich eingestellt zu haben. Habt Ihr da
einen Tipp für mich? Welche Schalter kann man setzen/löschen um
Speicher zu sparen?

Gruß,
Markus_8051

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.