ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
21 мая
58906 Топик полностью
Evgeny_CD (17.05.2006 22:42, просмотров: 1) ответил Vit на Хм... Не очень понимаю, о чем речь.
Я так себе все это представляю. Есть целевая 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 - оно ближе к делу будет...