Je recherche un ordinateur monocarte peu coûteux que je pourrais programmer en langage assembleur, en utilisant des fonctionnalités limitées pour charger le code objet à partir d'un PC et de simples périphériques d'E / S.
Idéalement, j'aimerais pouvoir écrire moi-même dans un délai raisonnable tout le code sur la machine. Je ne veux pas d'un système d'exploitation, car je veux avoir un programme qui écrit dans la RAM du code puis des branches pour l'exécuter. Arduino serait probablement mon meilleur choix, en ce qui concerne la simplicité du système adapté à la programmation d'assemblage, mais il a une architecture Harvard et il ne me permettra pas d'exécuter à partir de la RAM.
Il y a des années, j'utilisais un processeur 8 bits d'architecture Von Neumann qui pouvait brancher l'exécution à n'importe quelle adresse, qu'elle soit mappée sur ROM, RAM ou autre. C'est ce que j'aimerais faire maintenant.
Je pourrais probablement écrire et charger dans la mémoire Flash un interpréteur de codes op écrits en RAM, mais c'est une solution très complexe et longue, à moins que des machines virtuelles de ce type n'existent déjà.
Des suggestions sur d'autres solutions de contournement avec Arduino ou d'autres micro-contrôleurs que je pourrais utiliser?
Merci!
Pierre
la source
Réponses:
À mon avis, l'idée d'un interprète est beaucoup plus réalisable. La notion d'écrire, en assembleur, du code qui génère lui-même du code machine, en RAM, puis l'exécute, est elle-même incroyablement complexe.
Vous n'avez pas dit pourquoi vous voulez faire cela, c'est donc en quelque sorte un problème XY .
Les Arduinos normaux n'ont pas de système d'exploitation - fondamentalement, le code que vous écrivez est ce qui est chargé sur la puce.
la source