Estoy buscando una computadora económica de placa única que pueda programar en lenguaje ensamblador, utilizando recursos limitados para cargar el código objeto desde una PC y periféricos de E / S simples.
Idealmente, me gustaría poder escribir en un tiempo razonable todo el código en la máquina yo mismo. No quiero un sistema operativo en el camino, ya que quiero tener un programa que escriba en la RAM algún código y luego se bifurque para ejecutarlo. Arduino probablemente sería mi mejor opción, en lo que respecta a la simplicidad del sistema adecuada para la programación de ensamblaje, pero tiene una arquitectura de Harvard y no me permite ejecutar desde RAM.
Hace años estaba usando una CPU de 8 bits con arquitectura Von Neumann que podía ramificar la ejecución a cualquier dirección, sin importar si estaba asignada a ROM, RAM o lo que sea. Esto es lo que me gustaría hacer ahora.
Probablemente podría escribir y cargar en la memoria Flash un intérprete de códigos operativos escritos en RAM, pero es una solución muy compleja y lenta, a menos que ya existan máquinas virtuales de este tipo.
¿Alguna sugerencia sobre otras soluciones con Arduino o de otros microcontroladores que podría usar?
¡Gracias!
Pierre
fuente
Respuestas:
En mi opinión, la idea del intérprete es mucho más factible. La noción de escribir, en ensamblador, código que genera código de máquina, en RAM, y luego lo ejecuta, es increíblemente complejo.
No ha dicho por qué quiere hacer esto, por lo que este es un problema XY .
Los Arduinos normales no tienen un sistema operativo en el camino, básicamente el código que escribes es el que se carga en el chip.
fuente