Hi, kennt eigentlich jemand ein Interpreter Projekt für die AVR Controller? Also sowas ähnliches wie bei der C-Control. Gruß Markus
Wenn du möchtest kannst du den C-Control-Interpreter auf AVR portieren, der Source fliegt irgendwo rum. Dürfte nicht zu schwierig sein.
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.
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...
Na zu eigenen Zwecken lohnt sich das wohl kaum, ich bin davon ausgegangen dass man es veröffentlichen/verkaufen will wenn man sowas macht.
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 ?
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
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
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
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ß.
Sorry für den neuen Post aber mein Mozilla Spinnt etwas rum und hat mir die Mailaddy falsch eingetragen
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
Ö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.
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.
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
@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.
Ok, dann hab ich zumindest mal vernünftige Meinungen zu dem Thema. THX Leute.
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
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.