Estou procurando um computador de placa única barato que eu possa programar em linguagem assembly, usando recursos limitados para carregar o código de objeto de um PC e periféricos de E / S simples.
Idealmente, eu gostaria de poder escrever em um tempo razoável todo o código da máquina. Não quero um sistema operacional no caminho, pois quero ter um programa que escreva na RAM algum código e depois se ramifique para executá-lo. O Arduino provavelmente seria minha melhor escolha, no que diz respeito à simplicidade do sistema adequada à programação de montagem, mas possui uma arquitetura de Harvard e não me permite executar a partir da RAM.
Anos atrás, eu estava usando uma CPU de 8 bits da arquitetura Von Neumann que poderia ramificar a execução em qualquer endereço, independentemente de ter sido mapeado para ROM, RAM ou qualquer outra coisa. É isso que eu gostaria de fazer agora.
Provavelmente eu poderia escrever e carregar na memória Flash um intérprete de códigos operacionais escritos na RAM, mas é uma solução muito complexa e demorada, a menos que já existam máquinas virtuais desse tipo.
Alguma sugestão sobre outras soluções alternativas com o Arduino ou com outros microcontroladores que eu possa usar?
Obrigado!
Pierre
fonte
Respostas:
Na minha opinião, a ideia do intérprete é muito mais viável. A noção de escrever, no assembler, o código que gera o código da máquina na RAM e depois o executa, é incrivelmente complexo.
Você não disse por que deseja fazer isso, portanto esse é um problema XY .
Os Arduinos normais não têm um sistema operacional no caminho - basicamente, o código que você escreve é o que é carregado no chip.
fonte