Я ищу недорогой одноплатный компьютер, который я мог бы программировать на ассемблере, используя ограниченные возможности для загрузки объектного кода с ПК и простых периферийных устройств ввода / вывода.
В идеале я хотел бы иметь возможность написать за разумное время весь код на машине сам. Мне не нужна ОС, потому что я хочу иметь программу, которая записывает в ОЗУ некоторый код, а затем разветвляет его для выполнения. Arduino, вероятно, был бы моим лучшим выбором, насколько проста система, подходящая для программирования на ассемблере, но она имеет архитектуру Гарварда и не позволяет мне выполнять из ОЗУ.
Несколько лет назад я использовал 8-разрядный процессор с архитектурой фон Неймана, который мог выполнять выполнение по любому адресу, независимо от того, был ли он сопоставлен с ПЗУ, ОЗУ или чем-то еще. Это то, что я хотел бы сделать сейчас.
Я, вероятно, мог бы написать и загрузить во флэш-память интерпретатор кодов операций, написанных в ОЗУ, но это очень сложное и трудоемкое решение, если виртуальные машины такого типа уже не существуют.
Какие-нибудь предложения относительно других обходных путей с Arduino или другими микроконтроллерами, которые я мог бы использовать?
Спасибо!
пьер
источник
Ответы:
На мой взгляд, идея интерпретатора гораздо более осуществима. Понятие написания на ассемблере кода, который сам генерирует машинный код в ОЗУ, а затем выполняет его, сам по себе невероятно сложен.
Вы не сказали, почему вы хотите это сделать, так что это отчасти проблема XY .
Обычные Arduinos не имеют операционной системы - в основном код, который вы пишете, загружается в чип.
источник