www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Einstiegs-Controller mit Code in RAM


Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Marius Wensing (mw1987)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau dir mal die 32-bitter an. ARM Cortex zum Beispiel. Damit sollte 
das was du vor hast möglich sein.

MfG
Marius

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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).

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter schrieb:

> Welchen Mikrocontroller, der seinen Code im RAM hat

Konkret weshalb soll der Code ins RAM?

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aber weshalb willst du ihn überhaupt ad hoc modifizieren?

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Rufus, ein MSP-430 USB Stick ist bei TI 20$ zu haben und sieht 
genau danach aus, was ich mir vorgestellt habe.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der mit dem F2013 drauf? Also 128 Bytes RAM für Code und Daten?

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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.

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.