Forum: Mikrocontroller und Digitale Elektronik Universelle Mikrocontroller Toolchain (Linux)


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Joerg W. (joergwolfram)


Bewertung
0 lesenswert
nicht lesenswert
Nachdem ich irgendwann den GCC für PowerPC-VLE compiliert und zum Laufen 
bekommen habe, war der sportliche Ehrgeiz geweckt, das auch für andere 
Plattformen hinzukriegen. Allerdings fand ich das eher für einen Krampf, 
weil es z.B. teilweise gar keine Headerfiles für I/O gab oder sich die 
Syntax immens unterschied. Außerdem mussten Patches im Internet 
zusammengesucht werden. Letztendlich wurde daraus dann die Idee geboren, 
eine möglichst universelle Toolchain für alle möglichen Plattformen zu 
erstellen.

- Kein Konflikt mit bestehenden Toolchains
- alles liegt unter /usr/local/toolchain
- GCC und SDCC, mit zusammengesuchten Patches compiliert
- Uniforme Headerfiles für I/O, soweit das möglich ist
- Linkerscripts und Startup-Files
- Uniforme Makefiles, in denen alle Pfade etc. schon eingetragen sind
- Nur ein Programmer für alles

Unterstützte Plattformen sind momentan:
---------------------------------------
- Atmel AVR (nur ATMega)
- Microchip PIC14 (PIC12xx, PIC16xx)
- Microchip PIC16 (PIC18xx)
- Freescale HCS08
- Freescale HCS12 (auch banked)
- TI MSP430
- Renesas R8C
- STM/Freescale SPC56xx

Dazu kommt eine universelle Bibliothek, die auf allen unterstützten 
Plattformen äquivalente Funktionen bereitstellt.
Die Bibliothek enthält derzeit Funktionen für die 
Fliesskomma-Grundrechenarten (soweit notwendig) und digitale
Ein/Ausgabe. Weitere Funktionalität wie 
Timer,UART,SPI,I2C,ADC,PWM,CAN... sollen folgen. Wo es geht und ich mich 
auskenne, (also alles außer PIC) sind die Lib-Funktionen in ASM 
geschrieben. Bei Fliesskomma habe ich teilweise Dumps in Source 
zurückkonvertiert um das später noch optimieren zu können.
Mit einer board.h, in der die konkrete Hardware definiert wird lassen 
sich so schon Programme schreiben, die auf jeder der Plattformen auf 
Anhieb laufen. Für später ist auch ein Wizard geplant, der die nötigen 
Files (Board Definition, Rumpf main etc) mehr oder weniger automatisch 
zusammenstellt.

Mit "make run" wird dann z.B. das Programm übersetzt, in den Controller 
geschrieben und dieser anschließend gestartet.

Wenn Interesse besteht, würde ich das Projekt auch veröffentlichen, 
wobei halt noch viel zu tun ist (z.B. Dokumentation).

von Sebastian (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Das klingt recht vielversprechend. Ich denke schon, dass dafür ein 
Interesse besteht, hier im Forum und generell. Dokumentation ist 
natürlich wichtig, denn das Konzept kann noch so genial sein - aber der 
Neueinsteiger muss es benutzen können.

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.