Я так себе все это представляю. Есть целевая Embeded OS. If есть ее порт для Win32 - хорошо (например, uCOS). If not - пишем обертки для Win32 API, которые будет эмулировать API ОСи (выбранное небольшое подмножество API).
Всем эмулируемым функциям присваиваем уникальные имена, и в макросы их. Чтобы в рельном коде заменить на обращения к реальной ОСи.
Препроцессора может и не хватить, тогда используем http://www.nedbatc …code/cog/index_ru.html
Далее пишем блоки целевой софтины. Блоки взаимодействуют друг с другом только через API нашей оси.
При "виртальной отладке" время тоже вируальное. Блок получил "сигнал" - обработал - "пнул" другой блок - так и до эмулятора драйвера дошло. Он провел файловый IO - и выдал сигнал далее.
Если дрова должны работать по прерыванию, заполняя/читая FIFO, то организуем эмуляцию вызова прерывания. В каком-то месте кода вставляем кусок (if def), который и эмулирует прерывание. Потом в реальном ПО этот кусок "убивается". Например, после каждого обращания к FIFO "с другой стороны" вызваем эмулятор прерывания.
Что касается среды разработки. Ch удобен скоростью отладки кусков. Продумывать, пространство имен создать, очепятки ловить - самое то.
По пере перехода к железу можно перейти на чистый C. Тут, IMHO, лучше всего воспользоваться GCC для Win32
http://www.mingw.org/
http://www.libsdl.org/
http://www.bloodshed.net/devcpp.html
http://www.codeblocks.org/
http://www.smorgasbordet.com/pellesc/ - Pelles C - это хорошо, но как-то стремно. GCC - оно ближе к делу будет...
-
- Лучше попробовать Vit(415 знак., 18.05.2006 00:56, )