TAU писал(а):
Ну и надо, конечно, реализовывать иконы реального времени...
Степан Митькин писал(а):
Уже реализованы. Нет только проверки правильности и генерации кода по ним.
Нельзя так же просто генерить код по ним, как и по обычным иконам.
Таймеры, паузы и параллельные процессы должны быть реализованы в некой среде исполнения.
Эта среда должна быть плотно связана с операционной системой или средой исполнения языка.
А их миллион на каждый язык программирования. Как быть?
TAU писал(а):
Просто настроечные файлы. Банально.
Степан Борисович, два вопроса.
1. Чем дело кончилось? Решена ли проблема генерации кода по иконам реального времени?
2. Для «ИС Дракон» проблему реального времени помогли решить Сергей Дмитриевич Ефанов и Петр Приклонский
Степан Борисович, если проблема реального времени не решена, надо учесть рекомендации Сергея Ефанова в теме
Программируем с и.с. DrakonЧитайте с самого начала темы. Обратите внимание на
совет Петра Приклонского. Особенно интересна
реакция Ефанова, в частности
efanov писал(а):
Цитата:
Вообще-то Ваша Задача хорошо решается с использованием Кооперативной операционной системы, например ProtoThreads Адама Дункельса:
http://www.sics.se/~adam/pt/Советую посмотреть, интересно...
Более, чем интересно! Сразу - не понял, в чём туть суть (где библиотеки, где "порты" под целевые процессоры?), попробовал тупо скомпилировать для своего процессора - скомпилировалось. Удивился. Запустил в отладчике - РАБОТАЕТ! Обалдел!
Смотрю теперь на это чудо, вникаю. Просто switch и case с номером строки исходника, и... работает!
Спасибо! Кажется, это именно то, что мне нужно. Одна из причин, по которой не применяю RTOS в своих программах - они все (как выясняется - не все) построены на манипуляциях со стеком, из за чего плохо "дружат" с компиляторами, привязаны к конкретным их версиям, имеют кучу ограничений (типа - оптимизацию - не включать, printf - не использовать, и т.п).
Здесь этого ничего нет. Собственно, ОСи в привычном понимании тоже нет, но она то мне как раз и не нужна, нужен - единственный сервис: возврат управления из произвольной точки.
Сейчас попробую вставить это в ДРАКОН схему. Кажется, дело пойдёт!