Hallo Fragewurm,
Entwickelt wird vorerst mit Visual C++ 2010 Express. Die
Übertragung auf den Mikrocontroller übernimmt dann jemand
anderes, aber erstmal muss es laufen…
Die Bibliotheken brauche ich ja, um die includes machen zu
können, und Speicher für die hab ich nur wenig. Das hab ich
damit gemeint.
Tja, da kannst du die Speichergrösse überhaupt nicht abschätzen.
Bibliotheken für den PC (Windows) sind überhaupt nicht auf Speichergrösse optimiert. Auch wird da oft eine weitere Bibliothek mitbenutzt, wenn du Pech hast nur für eine Hardware-Option welche 1x beim initialisieren aufgerufen wird. Durch den virtuellen Speicher beim PC macht das auch keine Probleme, da disese Teil dann nur kurz von der Festplatte in den Speicher geladen werden muss…
Dein Hauptproblem dürften Floting-Point-Operationen sein. Seit dem 80386 ist die FPU in die CPU integriert, bei Controllern gibt es meist gar keine FPU. Dann müssen FP-Operationen per Software emuliert werden, was zusätzlichen Speicherplatz benötigt und rund um den Faktor 100 langsamer ist.
Die PC-Bibliotheken müssen dafür ausgelegt sein alle möglichen Skalierungen berechnen zu können, da es ja die Unterschiedlichsten Auflösungen beim Ausgabemedium gibt. Bei deiner Anwendung dürfte die Auflösung fix sein und zudem wohl auch nur einige unterschiedliche Schriftgrössen vorhanden sein. Damit kann man die Algorithmen vereinfachen; Rechenfehler welche unter der Auflösung des Display bleiben sind unsichtbar.
Bei Postscript und TrueType wird die Umsetzung in einen Raster erst im Ausgabegerät selbst gemacht, damit man immer das bestmögliche Ergebnis erhält, egal welche Auflösung das Gerät hat.
Für manche Projekte hatte ich ein Tool geschrieben, welches mit .BMP im ein internes Format umgesetzt hat. Das hatte einfach den Vorteil, dass man irgendwelche PC-Tools für das Erstellen der Zeichen und Symbole verwenden konnte.
Mein Hauptproblem war, dass .BMP für Geräte optimiert sind, welche die Pixel Zeilenweise schreiben, ein einfaches LCD will die Pixel aber Spaltenweise. Also macht es Sinn, diese Umrechnerei in den Compiliervorganz zu verlegen, anstatt die ganze Rechenzeit bei jedem einzelnen Zeichen aufwenden zu müssen.
Achja, bei Postscript (PDF) ist es auch¨üblich, nur die tatsächlich verwendeten Zeichen in einem Dokument einzubetten.
Das wäre für dich auch evtl. eine Option. Von den etwa 30’000 Zeichen dürften niemals alle in euren Texten vorkommenWenn man geschickt ist, kann man da vieles dem Linker übertragen, andernfalls schreib man ein kleines Tool, welches im Make-File eingebunden wird.
Programmieren auf Controllern ist eine ganz andere Welt !!!
MfG Peter(TOO)