www.mikrocontroller.net

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


Autor: Bernhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Bernhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Bernhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe den Fehler gefunden!

Im Projektfenster mit rechter Maustaste unter Target Expert...

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

Bernhard

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Bernhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Markus_8051 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.