BASCOM

BASCOM, für BASIC compiler stehend, ist eine von Mark Alberts entwickelte Familie von Cross-Compilern, die BASIC mitsamt einigen proprietären Erweiterungen in…

BASCOM
BASCOM-AVR IDE

BASCOM, für BASIC compiler stehend, ist eine von Mark Alberts entwickelte Familie von Cross-Compilern, die BASIC mitsamt einigen proprietären Erweiterungen in ausführbare Maschinensprache für mehrere Prozessorarchitekturen für eingebettete Systeme übersetzen kann. Unterstützt werden Mikrocontroller der AVR-Architektur und die MCS-51-Familie. Die Cross-Compiler laufen unter Microsoft Windows und bieten neben der reinen Übersetzungsfunktion auch noch eine Entwicklungsumgebung und Emulatoren der jeweiligen Zielsysteme, die das Testen unter dem Entwicklungssystem erlauben. Ferner stehen Schnittstellen zur Verfügung, die es ermöglichen, den erzeugten Code in die Zielsysteme zu übertragen. Die Cross-Compiler sind nur kommerziell erhältlich. Eine kostenfrei erhältliche Demoversion ist dahingehend eingeschränkt, dass der erzeugte Code nur maximal einen Umfang von vier Kilobyte haben darf. Ansonsten ist die Demo voll funktionsfähig, womit die Bascom-Demoversion somit für einige der kleineren Atmel-Microcontroller (z. B. ATtiny) ausreichend ist, da diese sowieso nur einen kleinen Programmspeicher haben.

BASCOM unterstützt zahlreiche proprietäre Erweiterungen, die den speziellen Anforderungen bei eingebetteten Systemen gerecht werden. Der gegenüber einfacheren BASIC-Varianten deutlich erweiterte Satz elementarer Datentypen umfasst einzelne Bits, die auch als solche repräsentiert werden, ganze Zahlen mit 1, 2 oder 4 Bytes, sowohl mit als auch ohne Vorzeichen und Gleitkommazahlen mit 32 oder 64 Bit entsprechend dem Standard IEEE 754. Die Deklaration von Arrays mit einem elementaren Datentyp ist möglich. Eine spezielle Variante der Arrays sind die ebenfalls bei der Deklaration fest zu dimensionierenden Zeichenketten, die implizit durch ein Byte mit dem Wert 0 terminiert werden.

Da die Zielarchitekturen Gleitkommazahlen selbst nicht unterstützen, erfolgt dies durch eine zu BASCOM gehörende Bibliothek, die insbesondere auch die trigonometrischen Funktionen abdeckt. Die Bibliothek umfasst außerdem für die mehr Speicherplatz bietende AVR-Architektur die Unterstützung von TCP/IP-Sockets und die Ausgabe auf Flüssigkristallbildschirmen.

Ferner ist die Einbettung von Assemblercode in den BASIC-Programmtext möglich. Dies erfolgt entweder durch die Verwendung der entsprechenden Befehlsnamen der Maschinensprache, sofern sie nicht in Konflikt zu den bereits reservierten Wörtern stehen, oder durch das Einbetten der Assembler-Anweisungen in spezielle Schlüsselwörter. Um im Kontext der Maschinensprache direkt auf BASIC-Variablen zugreifen zu können, steht eine Anweisung zur Verfügung, welche die Adresse einer Variablen in ein Register lädt.

Versionen

  • BASCOM-AVR: BASIC-Compiler für die Mikrocontroller der Atmel AVR-Architektur
  • BASCOM-8051: BASIC-Compiler für die MCS-51 Familie von Mikrocontrollern
  • BASCOM-LT: Vorgängerversion von BASCOM-8051 speziell für AT89Cx051 Prozessoren, nicht mehr verfügbar.

Literatur

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.