Arduino: kleiner Zeileneditor auf dem AVR selbst

Gast #4861492
Lesenswert?

Erinnert mich an gruslige EDLIN-Zeiten unter DOS vor
40 Jahren. Komfort = NULL, oder eher MINUS-MINUS-MINUS.
(Der Editor sollte ja nur wenige KB Speicher kosten!)

- Linuxer tun sich das aber auch heute noch gern an. ;-)
  Muss vielleicht eine seltsame Befriedigung liefern.

Mit RS-232-Terminal?
Nette Idee - besonders, weil du bei neueren PCs keine
Schnittstelle mehr dafür hast. Und bei WIN10 auch große
Schwierigkeiten hast, eine "anerkannte" Serial-Port-Karte
zu beschaffen UND mit Treiber einzubinden.

Naja - Vielleicht gehts über RS232-USB-Umsetzer!

Erzähl doch mal, was du bisher geschafft hast...
#4861508
Lesenswert?

Programmieren auf dem Arduino selbst ist schwierig. Der Arduino-Compiler 
läuft nicht auf einem Arduino. Ein reiner Texteditor ist ein bisschen 
Arbeit, aber kein Problem.

Wichtiger ist aber, wo der Editor seine Daten herholt und wo er sie 
hinschreibt. RAM ist einfach, aber witzlos. Der interne Flash ist 
deutlich schwieriger schreibend anzusteuern und eine externe SD-Karte 
braucht zusätzliche Hardware und Treiber.

Benedikt S. schrieb:
> Kann man den AVR Flash überhaupt währendes des Betriebs
> umschreiben?

Ja, das machen Bootloader auch, um z.B. Updates via UART zu ermöglichen.
Gast #4861603
Lesenswert?

Benedikt S. schrieb:

> Kann man den AVR Flash überhaupt währendes des Betriebs umschreiben?

Klar. Jedenfalls bei bei allen AT(X)megas und bei den allermeisten 
ATtinies auch.

Natürlich sind jeweils die relevanten Fuses entsprechend zu setzen und 
bei den AT(X)megas ist zumindest die entscheidende Instruktion ("spm") 
explizit im Bootloader-Bereich zu plazieren.

In einer vernünftigen Programmiersprache ist das alles überhaupt kein 
Problem und komplett und leicht nachvollziehbar direkt im Quelltext zu 
schreiben. In C allerdings muss man schwere Syntaxblähungen und 
Linker-Magie bemühen...

Ja, C ist ist schon sowas von geil und einfach...
Gast #4861656
Lesenswert?

Zunächst sei erwähnt, dass ich in der Überschrift nach einem 
Zeileneditor gefragt habe und nicht nach einer Programmiersprache.

Aber nichts desto trotz:

>Editor, Kompiler, usw...
>http://flashforth.com/

Mit Forth habe ich schon einiges gemacht.
Meistens wird heutzutage auf Mikrocontrollern in C programmiert und es 
gibt sehr viel Software und Bibliotheken. Deshalb macht Forth für mich 
nur dann Sinn, Wenn man den Forth Interpreter/Compiler in ein 
vorhandenes C-Programm einbinden kann. Dann kann man das Forth oder ein 
Subset davon für Debugging-Zwecke und schnelle Tests im C-Programm 
nutzen.
Damit das Ganze Sinn macht, soll der Speicherabdruck ziemlich klein 
sein. 4-5KByte würde ich dem System zugestehen.
Gast #4861664
Lesenswert?

Jacko schrieb:
> Nette Idee - besonders, weil du bei neueren PCs keine Schnittstelle mehr
> dafür hast. Und bei WIN10 auch große Schwierigkeiten hast, eine
> "anerkannte" Serial-Port-Karte zu beschaffen UND mit Treiber
> einzubinden.

Komisch, da habe ich das doch glatt falsch gemacht. Ich hatte einfach 
die erstbeste Karte beim Reichelt bestellt und in den Slot gestopft.

Lief ohne Probleme.
Gast #4861691
Lesenswert?

Benedikt S. schrieb:
> Kann man den AVR Flash überhaupt währendes des Betriebs
> umschreiben?

Wie macht der AVR aus Text dann Maschinencode?
Packst du den Compiler/Assembler mit auf den AVR?
Passt der denn ins Flash?

Fragen über Fragen ;-)

Falls gemeint sein sollte:
Einen Text sereiell empfangen und im Speicher des AVR bearbeiten, 
dagegen spricht gar nichts. C stellt viele Stringfunktionen zur 
Verfügung, mit denen das wunderbar geht.
Mein MP3-Player hat zum Beispiel ein DOS-Ähnliches Benutzerinterface 
über USB-CDC zum Testen von Funktionen. Mit Sachen wir "dir" "cd musik" 
"play test.mp3" "set volume 60" und ähnlichem.
Das geht sehr schön mit strstr(); atoi(); snprintf(); und ähnlichem.
Koppel das mit FATFS, und einem richtgem "edit" steht nichts im Wege.

Warnung: String-Funktionen sind NICHT billig, was Flash angeht.
#4861796
Lesenswert?

nicht“Gast“ schrieb:
> Jacko schrieb:
>> Nette Idee - besonders, weil du bei neueren PCs keine Schnittstelle mehr
>> dafür hast. Und bei WIN10 auch große Schwierigkeiten hast, eine
>> "anerkannte" Serial-Port-Karte zu beschaffen UND mit Treiber
>> einzubinden.
>
> Komisch, da habe ich das doch glatt falsch gemacht. Ich hatte einfach
> die erstbeste Karte beim Reichelt bestellt und in den Slot gestopft.
>
> Lief ohne Probleme.

Als wenn es heute noch Probleme damit gäbe. Entweder Karte oder USB-TTL 
Wandler (mit machgeschaltetem MAX232 wers braucht).
Diese Horrorgeschichten stammen aus der dunklen Übergangszeit, als die 
HW mäßigen seriellen Schnittstellen verschwunden sind, und die 
USB-Wandler der ersten Stunde noch ein paar Macken hatten.
Manche Zeitgenossen bleiben eben ewig auf einem Stand und erzählen noch 
ihren Urenkeln von Problemen die es schon lange nicht mehr gibt.
Gast #4862075
Lesenswert?

Irgendwie erschließt sich mir der Sinn des Ganzen nicht!

Um einen Editor zu betreiben braucht man das volle Programm der 
Eingabemöglichkeiten - sprich einen Tastenathur.

Aus meiner Sicht nicht sonderlich sinnvoll - es sei denn - der User soll 
seinen Namen, seine Adresse, und seine Schuhgröße eingeben.

Dazu ist aber wiederum eine Ausreichende Anzeige vonnöten.

Hoppla: Die Dinger nennen sich Terminal...
Gast #4862080
Lesenswert?

Die Frage ist wofuer man das braucht.
Wenn es fuer Debuggingzwecke sein soll, ich nehme dafuer flex.
Da kann ich mir einfach beliebige Testwoerte und Datenbereiche
definieren und der dazugehoerige Parser wird automatisch erzeugt
und ruft dann meine Testfunktionen mit den uebergebenen Parametern
auf. Erfordert am Anfang vielleicht 2-3h einarbeitung, aber die lohnen
sich.

Olaf
Gast #4862083
Lesenswert?

Jacko schrieb:
> Erinnert mich an gruslige EDLIN-Zeiten unter DOS vor
> 40 Jahren. Komfort = NULL, oder eher MINUS-MINUS-MINUS.
> (Der Editor sollte ja nur wenige KB Speicher kosten!)

mit kbytes kannste schon ein Textverarbeitung schreiben, für einen 
Zeileditor reichen ein paar Bytes. Was soll der denn auch mehr können 
als char einfügen und Cursor_pointer hochzählen???

frühe Homecomputer brauchtes dergleichen im BIOS-RAM mit und einen 
Basic-Interpreter oben drauf, plus Zeichensatz und hexmoni -> 20 kbyte.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren