Forum: Compiler & IDEs Ncurses auf avr (8-bit)


von Numlock (Gast)


Lesenswert?

Hi,

kann man ncurses mit dem avr-gcc compilieren?
Ein kurzer Versuch scheitert direkt an terminfo.
Hat das schonmal jemand versucht oder fehlen einfach zu viele Sachen am 
avr-gcc/der Plattform?

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Numlock schrieb:
> kann man ncurses mit dem avr-gcc compilieren?

Nein. Da ein nackter AVR keinerlei Terminaleigenschaften hat, ist ein 
solchens Unterfangen absolut sinnfrei.

von nicht wirklich (Gast)


Lesenswert?

Vielleicht gibt's ja Terminals in TinyOS ;-)

von Uwe B. (boerge) Benutzerseite


Lesenswert?

MoinMoin,

Vielleicht meint der Fragesteller ja etwas anderes und sollte erst mal 
verraten wozu er ncurses auf einem AVR übersetzen möchte.

Meine Vermutung ist, dass er die Ausgaben des AVR auf einem Terminal 
gezielt steuern will. Dazu folgende Stichworte:

* VT100-Emulation
* VT100-Escape-Folgen

Da ich soetwas auch demnächst ausprobieren wollte, die Frage, gibt es 
schon etwas in Form einer Bibliothek für AVRs oder muss man sich da 
selbst etwas zusammnenschreiben?

Grüße Uwe

von Klaus W. (mfgkw)


Lesenswert?

Gegenfrage: lohnt sich das?

An einen alten Unixrechner wollte man mit etlichen verschiedenen 
Terminals ran, die jeweils nur eine Sprache konnten. Aber die gibt es 
doch alle schon lange nicht mehr.

Stattdessen geht man mit einer Terminalemulation ran, die man PC-seitig 
auf ein beliebiges von etlichen Terminals einstellen kann.
Wozu sollte man dann im AVR verschiedene Terminals eumlieren, anstatt 
gleich nur eines der gängigen vorauszusetzen, das man dann halt am PC 
einstellt?

von Yalu X. (yalu) (Moderator)


Lesenswert?

Die Ncurses-Bibliothek braucht auf einem PC über 200KiB für .text +
.data + .rodata. Für den AVR kompiliert, wird das Ganze noch größer und
mit viel Glück gerade noch so in den Flash-Speicher eines ATmega2560
passen. Dann fehlt aber noch die Anwendung.

Man wird deswegen sinnvollerweise nur einen Teil davon verwenden. Je
nachdem, wie klein dieser Teil ist, kommt man mit Neuschreiben wahr-
scheinlich schneller zum Ziel als mit dem Versuch, den relevanten Code
aus Ncurses zu extrahieren.

Wozu soll denn die Bibliothek genau genutzt werden?

von Uwe B. (boerge) Benutzerseite


Lesenswert?

MoinMoin,

Klaus Wachtler schrieb:
> Gegenfrage: lohnt sich das?
>
ncurses wohl nicht, das stimmt und habe ich ja auch in Frage gestellt, 
dass das der Fragesteller wirklich will.

Es reicht bestimmt die Implementierung eines Terminalstandards, wie z.B. 
VT100, den man mit Sicherheit mit einigen Funktionen und Defines schnell 
selbst zusammenschreiben kann (falls es nicht soetwas schon gibt...).


Yalu X. schrieb:
> Wozu soll denn die Bibliothek genau genutzt werden?
>
Ich bin zwar nicht der Fragesteller, aber gedenke in nächster Zeit auch 
soetwas zu realisieren, um z.B. einen kleinen Editor für meinen 
AVR BASIC-Interpreter auf einem AVR zu haben, damit man 
BASIC-Programme auf der SD-Karte gleich dort editieren kann... Da bietet 
es sich an, die Kursorsteuerung usw. z.B. via VT100-Escape-Folgen zu 
realisieren.

Grüße Uwe

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Uwe Berger schrieb:
> Ich bin zwar nicht der Fragesteller, aber gedenke in nächster Zeit auch
> soetwas zu realisieren, um z.B. einen kleinen Editor für meinen
> AVR BASIC-Interpreter auf einem AVR zu haben, [....]

Ich habe mal vor knapp 25 Jahren eine Mini-Curses-Bibliothek namens 
mcurses geschrieben, damals für 68K-Rechner unter UNIX und OS-9/68K. Ist 
extrem abgespeckt und unterstützt lediglich VT100/VT200 - aber schon mit 
Scrolling Regions, welche fürs Editieren von Textzeilen extrem sinnvoll 
sind. Vielleicht wäre das ja was für Dich? Ich kann ja mal schauen, dass 
ich die Sources wiederfinde. War damals während meiner Studentenzeit.

von Uwe B. (boerge) Benutzerseite


Lesenswert?

MoinMoin,

Frank M. schrieb:
> ....Vielleicht wäre das ja was für Dich? Ich kann ja mal schauen, dass
> ich die Sources wiederfinde.
>
hört sich interessant an, wenn du sie findest wäre es super.

Grüße & Danke Uwe

von Numlock (Gast)


Lesenswert?

Danke für alle Antworten.
Es geht bei uns darum, mehrere Sensorwerte übersichtlich darzustellen 
(zu Testzwecken). Besonders wenn nicht mehr alle in eine Zeile passen, 
wäre ncurses eine schnelle einfache Lösung.

Yalu X. schrieb:
> Die Ncurses-Bibliothek braucht auf einem PC über 200KiB

Das ist natürlich ein sehr starkes Argument.

Frank M. schrieb:
> eine Mini-Curses-Bibliothek

..wäre der Hammer!

Freue mich auch, wenn du die Sourcen findest.

Viele Grüße

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Habe meine alten mcurses-Sourcen wiedergefunden. Ich werde sie auf den 
AVR portieren und dann in der Codesammlung zur Verfügung stellen. 
Schätze mal, dass ich das bis Mittwoch schaffe.

Gruß,

Frank

von Uwe B. (boerge) Benutzerseite


Lesenswert?

Hallo Frank,

hört sich gut an! Wollte gerade selbst anfangen etwas zu basteln, dann 
warte ich jetzt noch ein paar Tage...

Grüße & Danke Uwe

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Hallo Uwe,

Uwe Berger schrieb:
> hört sich gut an! Wollte gerade selbst anfangen etwas zu basteln, dann
> warte ich jetzt noch ein paar Tage...

Mich hat schon der Teufel geritten und ich habs heute noch auf den µC 
portiert und in die Codesammlung gesteckt:

     Beitrag "MCURSES - Mini Curses Bibliothek für Mikrocontroller"

Ist erstmal eine erste Version, da kann man gewiss noch was dran 
verbessern. Wenn Du Verbesserungsvorschläge hast, immer her damit :-)

Viel Spaß,

Frank

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.