Дополнение про Dream Platform II Написали дрова. Запускаем их либо под отладочным фреймфорком (startup + отладочный код), либо под пустой ОСью (дрова + тестовая задача.) Отладочная конфигцрация:
* железо
* дрова
* контроллер
* отладочный сокетный интерефейс
* пЫсюк
* test suite или синтетический порт ОСи
Начинаем замыкать контур ОС - выдаем данные в обратную сторону. Полный путь данных:
* железо
* дрова
* контроллер
* отладочный сокетный интерефейс
* пЫсюк
* синтетический порт ОСи
* отладочный сокетный интерефейс
* контроллер
* дрова
* железо
Длинновато, не на всех задачах RT получим.
Начинаем укорачивать "петлю ОС" - отлаженную часть обработки данных переносим на целевой контролер.
По скорости - при использовании контроллера на мамке с PCI интерфейсом (все современные тяжелые контроллеры умеют PCI 32 бит 66 Mhz) либо ставим Gigabit Ethernet, либо из мамки делам плату в PCI слот пЫсюка.
Унифицированный интерфейс между блоками (nanoPCI) позволит пилить большую задачу на много сблочков, каждый из которых прост и понятен.
Также возможен плавный переход к DSP и ASIC сопроцессорам:
* добились работоспособности целевой задачи при использование только процессора "мамки", пусть даже в нереальным времени 1:1000
* выбираем самый "напряжный" алгоритм и в DSP или (FPGA) его. Интерфейс тот же - nanoPCI.
* тестируем, снова добиваемся работосмособности.
* repeat until
За счет унифицированного сокетного отладочного интерфейса можно использовать симуляторы DSP и даже *HDL симуляторы!
В общем, TDD (test driven development) по полной программе :)
Как работать с файлами из *HDL кода отчасти понятно, например
Reading and writing files from Verilog models
http://www.chris.s …ear.net/pli/fileio.htm
Вопрос - а нечто похожее с сокетами можно сделать? Или нужно делать хак на уровне ОСи - создавать некий виртуальный файл, который в реальности на сокет отмаплен или memory mapped file (понятно, что делать это лучше под Linux :) )
По скрпитовому языку - да, это одна их моих основных целей.
К юзерам все написанное отношения не имеет - они не участвую в разработке. Только как тестеры :)