Forum: Mikrocontroller und Digitale Elektronik Interpreter für AVR


von Markus (Gast)


Lesenswert?

Hi,
kennt eigentlich jemand ein Interpreter Projekt für die AVR Controller? 
Also sowas ähnliches wie bei der C-Control.

Gruß
Markus

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Wenn du möchtest kannst du den C-Control-Interpreter auf AVR portieren, 
der Source fliegt irgendwo rum. Dürfte nicht zu schwierig sein.

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Aber beachten, Conrad hat alle Rechte an dem Ding glaub ich, und die 
werden über eine Konkurrenz zur CC/CC2 auf Basis ihrer eigenen Arbeit 
nicht gerade erfreut sein.

von philip (Gast)


Lesenswert?

hmm ja...


aber wie sollen sie das überprüfen... ich denke zu eigenen zweken werden 
die das verkraften oder?

oder willste du das in serie verkaufen ?
ich denke dann währ das was anderes...

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Na zu eigenen Zwecken lohnt sich das wohl kaum, ich bin davon 
ausgegangen dass man es veröffentlichen/verkaufen will wenn man sowas 
macht.

von Ratber (Gast)


Lesenswert?

Warum denn Interpreter wenn man hervorragende Compiler hat ?

Is vieleicht ne dumme Frage aber ich sehe keinen Sinn darin.

Ich bin ja auch gerade nach nem 4 wöchigen Gastspiel von der C-Control 
weg weil mir der Interpreter zu lahm ist.

Oder solls ne eigene Sprache werden ?

von Markus (Gast)


Lesenswert?

es sollte nicht unbedingt Basic sein, und ich wollte es eigentlich auch 
nicht unbedingt so lösen wie bei der CC (also mit seriellem EEPROM). 
Desshalb kommen für mein Vorhaben eigentlich nur AVR mit externer 
Speicherschnittstelle in Frage.
Grund für so ein Projekt ist, das mich die umständliche Handhabung mit 
den ISP etwas nervt, die Programmierzeiten bei größeren Programmen recht 
lang ist und das dadurch der Flash Speicher geschont wird.
Mittlerweile hab ich sogar ein Interpreter Projekt gefunden, aber das 
ist kaum als ernsthaft zu bezeichnen
http://users.cableaz.com/~cappels/dproj/Home.htm

Naja, ich glaub ich begrab das ganze

von Eckhard (Gast)


Lesenswert?

Hallo Markus,

eventuell wirst du bei Forth etwas leichter fündig werden. Ich weiß nur 
nicht ob Du den Anfänger damit nicht eher abschreckst.


Eckhard

von Markus (Gast)


Lesenswert?

den Forth Interpreter hab ich mittlerweile auch schon gefunden. Ist aber 
auch nicht so das ware. Ich werd mir da mal noch Gedanken machen

Gruß
Markus

von Ratber (Gast)


Lesenswert?

Ach jetzt verstehe ich was du meinst.

du willst dir sozusagen nen kompletten Minirechner zusammenschustern.

als im Prinzip das gleiche wie die alten Homecomputer.

Einschalten und die Oberfläche steht.
Das Programm wird direkt am Terminal eingegeben und vom eigenen 
Interpreter abgearbeitet.

Kurzum ,du willst nen Betriebssystem schreiben.

Naja,ganz reizvoll aber den Zeitlichen Vorteil sehe ich nur bei 
Korrekturen da man da nicht jedesmal den ganzen Code übertragen muß.

von Ratber (Gast)


Lesenswert?

Sorry für den neuen Post aber mein Mozilla Spinnt etwas rum und hat mir 
die Mailaddy falsch eingetragen

von Markus (Gast)


Lesenswert?

Eigentlich wollte ich etwas nicht ganz so komplexes. Die ursprüngliche 
Idee war, einen Interpreter für den AVr zu proggen, der Bytecode 
verarbeiten kann. Der Bytecode wird am PC mit einem Compiler erstellt 
und auf den Controller geladen. Das mit der Monitorsoftware hab ich auch 
schonmal überlegt, aber ich sehe für beides eigentlich keine sinnvolle 
Anwendung

von Ratber (Gast)


Lesenswert?

Öhm,auch wenn ich da vieleicht schief liege aber ich sehe da keinen 
großen Unterschied ob du nach der herkömmlichen Methode Compilierst und 
dann überträgst oder stattdessen Token's überträgst.

Der Platzunterschied dürfte nur Marginal sein.

wenn ich dich richtig verstehe dann geht es dir ja um Zeit und da sehe 
ich allerhöchstens einige Sekunden.

von Markus (Gast)


Lesenswert?

In erster Linie geht es um die Schonung des Flash. Außerdem könnte man 
damit eher sowas zu realisieren wie einen Datenspeicher mit mehreren 
Programmen, die man nachladen kann.

von Matthias (Gast)


Lesenswert?

Hi

Schonung des Flash? Bei 10k garantierten Schreibvorgängen? AFAIK hat 
der Entwickler von AVRDUDE mal nen Test mit einem 90S1200 gemacht. Der 
hat erst nach 200k Schreibvorgängen die Grätsche gemacht. Das ist also 
IMHO kein Argument. Programmierzeit? Wenn dir das zu lange geht schreib 
einen Bootloader oder verwende einen fertigen. Ein Mega16 läßt sich so 
in etwa 6s programmieren ohne den Bootloader besonders zu optimieren. 
Been there, done that.

Wenn du wirklich mit ladbaren Programmen usw. experimentieren willst ist 
ein Rechner nach der Harvard-Architektur (wie es der AVR ist) wenig 
geeignet da Programm und Datenspeicher getrennt sind. Da nimmst du 
lieber einen Rechner der eine von-Neumann Architektur hat. Also jeder 
x86, oder aber, im µC Bereich, ein M16C.

Matthias

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Sehe ich genauso!

von Ratber (Gast)


Lesenswert?

@Markus

Ich sehe es ebenso.

Wenn dein Controller die >10K erreicht hat dann kann er auch verdient in 
den Ruhestand (Tonne) wandern.

Selbst beinem Mega128 für ca. 30€ sind das maximal 0.3 Cent pro 
Vorgang.

Da ich bei Flashspeichern jetzt schon öfters gehöhrt habe das die 10k 
mindestens um das Doppelte übertroffen wurden reduziert sich das auf 
0.15 Cent.

Oder mal was andersrum.

10k Voregänge bei durchschnittlich 1 Vorgang pro Stunde (Über die Woche 
gerechnet) kannste ein Jahr nonbstop damit Arbeiten und hast gerademal 
die 10K erreicht.

Also das der Controller irgendwann "ausgebrannt" ist is meine geringste 
Sorge.

Eher würde es mich ärgern wenn ich mir aus Unachtsamkeit nen Port 
abschieße.

von Markus (Gast)


Lesenswert?

Ok, dann hab ich zumindest mal vernünftige Meinungen zu dem Thema. THX 
Leute.

von Markus (Gast)


Lesenswert?

Ich hab mir gerade mal von www.microsyl.com das Programm MegaLoad 
runtergeladen und ausprobiert. Bin total begeistert. Fuses programmiert, 
Bootloader per ISP reingeschoben und gut.
Bin richtig aus dem Häuschen :)
Ist sogar gleich ein kleines Terminalprogramm dabei.
Die Software passt wunderbar zu meinen Modulen

Gruß
Markus
http://www.embedit.de

von Daniel Roth (Gast)


Lesenswert?

Hallo,

eine Interpreter/Compiler-Sprache wie Forth wäre schon sinnvoll. Zum
einen ist man nicht auf Flash-Speicher begrenzt, da der Bytecode aus
einem beliebigen (schnellen) Speicher gelesen werden kann.

Der größte Vorteil wäre wahrscheinlich, dass die Programme direkt im
System nicht nur programmiert, sondern auch getestet & debuggt werden
können (unter realen Bedingungen).. das alles sehr günstig, ohne teure
Zusatzhardware.

Daniel

von Markus (Gast)


Lesenswert?

Naja gut, wenn man's ganz ausdehen und gleich auf dem Controller neben
dem Editor auch einen preCompiler und Editor draufpacken. Dann könnte
man komplett ohne weitere Software einfach nur über ein
Terminalprogramm arbeiten. Der Komfort bleibt dabei auf der Strecke.
Bei den neuen Megas fällt das Argument "teure Hardware" eigentlich
weg dank des Bootloaders.
BTW, einen anderen Controller als einen der neuen Megas (M8-M128 und
M162) würde ich eh nicht mehr kaufen

von Daniel Roth (Gast)


Lesenswert?

Hallo,

na mit teurer Hardware meine ich z.B. JTAG-ICE, zu debuggen und dabei
die angeschlossenen Geräte mit einzubeziehen. Bei Forth wäre das schon
mit dabei. Der Programmier-Kompfort bleibt schon etwas auf der Strecke,
aber dafür hat man halt neue Möglichkeiten. Notfalls könnte der
Forth-Quelltext auch auf dem PC geschrieben werden, um kompfortable
Ediermöglichkeiten auszunutzen, und dann zum AVR übertragen werden. Für
mich ist jedenfalls Forth die ideale Programmiersprache für
Mikrocomputer (mal von der Möglichkeit, unterschiedliche Programme zu
laden ganz abgesehen). Forth ist für RISC-Prozessoren ideal, ist nur
ca. 4 Mal langsamer als Assembler, wobei allerdings optimale
Assembler-Programmierung nur Insider hinbekommen, so dass am Ende nicht
viel Unterschied bleibt. Werde mal einen extra Thread zum Thema
aufmachen..
bis dann..

Daniel

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.