Ich bin auf der Suche nach einem kostengünstigen Einplatinencomputer, den ich in Assemblersprache programmieren und mit begrenzten Möglichkeiten den Objektcode von einem PC und einfachen E / A-Peripheriegeräten laden kann.
Idealerweise möchte ich in angemessener Zeit den gesamten Code auf der Maschine selbst schreiben können. Ich möchte kein Betriebssystem im Weg haben, da ich ein Programm haben möchte, das Code in den RAM schreibt und dann verzweigt, um ihn auszuführen. Arduino wäre wahrscheinlich meine beste Wahl, was die für die Assembly-Programmierung geeignete Systemvereinfachung betrifft, aber es hat eine Harvard-Architektur und erlaubt mir nicht, aus dem RAM auszuführen.
Vor Jahren verwendete ich eine 8-Bit-CPU mit Von Neumann-Architektur, die die Ausführung an eine beliebige Adresse verzweigen konnte, unabhängig davon, ob sie ROM, RAM oder was auch immer zugeordnet war. Das möchte ich jetzt tun.
Ich könnte wahrscheinlich einen Interpreter von im RAM geschriebenen Operationscodes in den Flash-Speicher schreiben und laden, aber es ist eine sehr komplexe und zeitaufwändige Lösung, es sei denn, es gibt bereits virtuelle Maschinen dieser Art.
Irgendwelche Vorschläge zu anderen Problemumgehungen mit Arduino oder anderen Mikrocontrollern, die ich möglicherweise verwende?
Vielen Dank!
Pierre
quelle
Antworten:
Meiner Meinung nach ist die Idee des Dolmetschers viel praktikabler. Der Begriff, im Assembler Code zu schreiben, der selbst Maschinencode im RAM generiert und dann ausführt, ist selbst unglaublich komplex.
Sie haben nicht gesagt, warum Sie dies tun möchten, daher ist dies ein XY-Problem .
Die normalen Arduinos haben kein Betriebssystem im Weg - im Grunde wird der Code, den Sie schreiben, auf den Chip geladen.
quelle