Легально ли использовать код микроконтроллера в качестве байт-кода виртуальной машины?
Я хочу сделать виртуальную машину на основе симулятора AVR ядра. Программу, которая превратит ПК в ардуинку. Это удобно тем, что под AVR уже есть готовые компиляторы. Впрочем, не важно какой микроконтроллер я буду использовать и как это будет реализовано. Вкратце: мы пишем программу в AVR Studio, например, для Atmega2561, с использованием специальной библиотеки для вызова функций виртуальной машины. Компилируем программу и получаем HEX-прошивку, которую скармливаем нашей виртуальной машине. Она запускает симулятор ядра AVR, и выполняет код. Если встречается специальная комбинация инструкций, вызываются специальные команды виртуальной машины (например, вывод текста в виртуальный дисплей, запись в файл, получение данных из COM-порта компьютера и т. д.). Так можно создавать простые приложения для Windows в среде AVR Studio или Arduino. Только получается, что данная виртуальная машина будет использовать инструкции AVR, а ведь ядро AVR лицензионное. Хотя само ядро я ведь не использую, а только симулирую его работу. Конечно, есть бесплатные ядра, есть готовые виртуальные машины, но я хочу именно AVR и не важно почему. Как думаете, можно ли свободно использовать симуляцию лицензионного ядра для коммерческих программ? И кстати, симулятор уже готов, я даже выбрал название и осталось добавить побольше специальных функций работы с Windows.