Ich höre immer wieder von Leuten, welche selbstmodifizierenden Code schreiben wollen. Auf heutigen PCs ist das ja nicht mehr gut möglich. Welchen Mikrocontroller, der seinen Code im RAM hat, könnte ich denen zum Einstieg empfehlen? Damit es schön einfach bleibt, denke ich beispielsweise an USB-Sticks. Gibt es da was?
Schau dir mal die 32-bitter an. ARM Cortex zum Beispiel. Damit sollte das was du vor hast möglich sein. MfG Marius
MSP430 kann Code aus dem RAM ausführen, allerdings haben die meisten MSP430-Varianten recht wenig davon. Der "dickste" hat 16 kiB (und 256 kiB Flash-ROM).
Peter schrieb: > Ich höre immer wieder von Leuten, welche selbstmodifizierenden Code > schreiben wollen. Auf heutigen PCs ist das ja nicht mehr gut möglich. Es ist durchaus noch möglich, aber man muss die Sicherheitsmechanismen beachten und muss abhängig von diversen Faktoren mit Performanceeinbussen rechnen, insbesondere beim Pentium 4. JIT-Compiler für beispielsweise Java tun letztlich nichts anderes als innerhalb vom Prozesskontext ad hoc Code zu erzeugen, der zunächst per Datenzugriff erzeugt und anschliessend als Code ausgeführt wird. Das ist substantiell nicht viel anders als selbstmodifizierender Code.
Marius Wensing schrieb: > Schau dir mal die 32-bitter an. ARM Cortex zum Beispiel. Damit sollte > das was du vor hast möglich sein. Als "Einstiegs-Controller" sind die nicht vorbehaltlos zu empfehlen. Aufgrund der Komplexität.
Peter schrieb: > Welchen Mikrocontroller, der seinen Code im RAM hat Konkret weshalb soll der Code ins RAM?
> Konkret weshalb soll der Code ins RAM?
Der Code soll im RAM sein, damit die die Wartezeit zwischen der
Entscheidung Code zu modifizieren und ihn dann auszuführen gering ist.
Danke Rufus, ein MSP-430 USB Stick ist bei TI 20$ zu haben und sieht genau danach aus, was ich mir vorgestellt habe.
Der mit dem F2013 drauf? Also 128 Bytes RAM für Code und Daten?
> Aber weshalb willst du ihn überhaupt ad hoc modifizieren?
Ich selber will ihn gar nicht modifiziern. Ich suche nur eine Plattform,
die ich Leuten empfehlen kann, welche unbedingt mal
selbstmodifizierenden Code schreiben und erleben wollen. Da eine der
ersten Ideen, die man dabei bekommt, Schleifen sind, sollte möglichst
nicht für jede Iteration geflasht werden.
Dass man jedes konkrete Problem effizienter ohne selbstmodifizierenden
Code löst ist für mich selbstverständlich.
> Der mit dem F2013 drauf? Also 128 Bytes RAM für Code und Daten?
Ja, den hatte ich gesehen. Es geht ja nur ums Prinzip.
> Welchen Mikrocontroller, der seinen Code im RAM hat, könnte ich denen > zum Einstieg empfehlen? Microcontroller von Renesas koennen das. Also R8C/M16C. Ausserdem haben sie relativ viel Ram. So 8-40kByte. > Damit es schön einfach bleibt, denke ich > beispielsweise an USB-Sticks. Kann ich jetzt nicht beantworten. Das ist ja auch eine relativ neue Sau im Dorf. > Ich suche nur eine Plattform, > die ich Leuten empfehlen kann, welche unbedingt mal > selbstmodifizierenden Code schreiben und erleben wollen. Dann waere es vermutlich klueger einfach einen Emulator auf dem PC zu installieren und dort einen C64, Apple][, usw, laufen zu lassen. Olaf
> Dann waere es vermutlich klueger einfach einen Emulator auf dem PC zu > installieren und dort einen C64, Apple][, usw, laufen zu lassen. Das sollte ich auf jeden Fall als Tip aufnehmen. Wer damit leben kann, dass sein Code nur emuliert wird, kommt damit sehr gut zu Streich. Danke.
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.