Модераторы: feodorv, GremlinProg, xvr, Fixin

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как писать и портировать драйвер на WindowsCE? 
:(
    Опции темы
sig70
Дата 3.6.2009, 17:43 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 3.6.2009

Репутация: нет
Всего: нет



Всем доброго время суток!
Люди добрые помоготи советами и ссылками как писать дрова для WinCE6.0?
У меня установлен Windows Embedded CE 6.0, Platform Builder и конечно же VS 2005. Что дальше? 
PM MAIL   Вверх
zim22
Дата 3.6.2009, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: нет
Всего: 69



Цитата(sig70 @  3.6.2009,  17:43 Найти цитируемый пост)
Люди добрые помоготи советами и ссылками как писать дрова для WinCE6.0?

http://lmgtfy.com/?q=how+to+write+drivers+wince


--------------------
PM MAIL   Вверх
sig70
Дата 3.6.2009, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 3.6.2009

Репутация: нет
Всего: нет



Спасибо за ссылку попробую разобраться хотя мой англиский так себеsmile
А может посоветуешь чего-нибудь по следующему поводу, я должен обьяснить WinCE что такое NTFS и с чем его едят...smile
PM MAIL   Вверх
sig70
Дата 28.7.2009, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 3.6.2009

Репутация: нет
Всего: нет



Народ горю!

Буду благодарен любому совету, как портировать драйвер ATADISK-а к WinCE?

PM MAIL   Вверх
Alexeis
Дата 28.7.2009, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 7
Всего: 459



Цитата(sig70 @  28.7.2009,  12:15 Найти цитируемый пост)
как портировать драйвер ATADISK-а к WinCE?

  У CE есть свой родной драйвер ATA нет необходимости писать свой. В PB можно посмотреть исходники драйвера ATA на CE и отредактировать его. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
sig70
Дата 28.7.2009, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 3.6.2009

Репутация: нет
Всего: нет



спасибо, тут вот в чем дело
Существует устройство на базе процессора PXA27X в который прошит WinCE 6.0, который связан с FPGA общей информационной шиной. К FPGA будут подключены разные винты которые в свою очередь должны быть видны и в WinCE со всеми своими разделами включая NTFS(помню, что все плохо).

Теперь о том что сделано. Взял пример PUBLIC\COMMON\OAK\DRIVERS\BLOCK\ATADISK и синтегрировал его как субпроект в созданной мной платформе, после не больших проблем проект начал билдиться и давать результат mudll .dll файл.

Теперь воросы. Что должен делать FPGA, чтобы PXA начал реагировать на подключенный винт? Что нужно сделать чтобы после этого мой .dll загружался автоматически? 


PM MAIL   Вверх
sig70
Дата 28.7.2009, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 3.6.2009

Репутация: нет
Всего: нет



Цитата

В PB можно посмотреть исходники драйвера ATA на CE и отредактировать его. 


что конкретно нужно отредактировать?
PM MAIL   Вверх
Alexeis
Дата 29.7.2009, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 7
Всего: 459



Цитата(sig70 @  28.7.2009,  16:07 Найти цитируемый пост)
Теперь воросы. Что должен делать FPGA, чтобы PXA начал реагировать на подключенный винт? Что нужно сделать чтобы после этого мой .dll загружался автоматически? 

  А причем тут FPGA? Винт что через нее подключен? Обычно с драйвером идет REG файлик который прописывает драйвер в реестр. Этого должно хватить.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
sig70
Дата 29.7.2009, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 3.6.2009

Репутация: нет
Всего: нет



вот именно, винт подключен только к FPGA с ним работает софт прописанный в FPGA и СЕ сейчас абсолютно на него не реагирует.
к РХА подключен только флэш карта. теперь возникло желание чтобы винт был виден и наверху в СЕ...
PM MAIL   Вверх
xvr
Дата 29.7.2009, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 40
Всего: 223



FPGA должен прикидываться для PXA ATA контролером (если у PXA есть PCI шина, то соотвествующим устройством на PCI).
Если FPGA подключена подругому, то ATADISK надо переписать, что бы он смотрел туда, куда подключена FPGA.
Для начала советую посмотреть описание собственно ATA интерфейса

PM MAIL   Вверх
sig70
Дата 29.7.2009, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 3.6.2009

Репутация: нет
Всего: нет



рассматривая пример ATADISK-а в РВ такое ощущение что между FPGA и PXA нужно реализовать PCMCIA интерфейс...
или я чего то не так понимаю?

Добавлено через 32 секунды
рассматривая пример ATADISK-а в РВ такое ощущение что между FPGA и PXA нужно реализовать PCMCIA интерфейс...
или я чего то не так понимаю?

Добавлено через 54 секунды
рассматривая пример ATADISK-а в РВ такое ощущение что между FPGA и PXA нужно реализовать PCMCIA интерфейс...
или я чего то не так понимаю?

Добавлено через 1 минуту и 31 секунду
рассматривая пример ATADISK-а в РВ такое ощущение что между FPGA и PXA нужно реализовать PCMCIA интерфейс...
или я чего то не так понимаю?

Добавлено через 1 минуту и 40 секунд
рассматривая пример ATADISK-а в РВ такое ощущение что между FPGA и PXA нужно реализовать PCMCIA интерфейс...
или я чего то не так понимаю?

Добавлено через 2 минуты и 22 секунды
рассматривая пример ATADISK-а в РВ такое ощущение что между FPGA и PXA нужно реализовать PCMCIA интерфейс...
или я чего то не так понимаю?

Добавлено через 2 минуты и 31 секунду
рассматривая пример ATADISK-а в РВ такое ощущение что между FPGA и PXA нужно реализовать PCMCIA интерфейс...
или я чего то не так понимаю?

Добавлено через 2 минуты и 41 секунду
рассматривая пример ATADISK-а в РВ такое ощущение что между FPGA и PXA нужно реализовать PCMCIA интерфейс...
или я чего то не так понимаю?

Добавлено через 8 минут и 41 секунду
рассматривая пример ATADISK-а в РВ такое ощущение что между FPGA и PXA нужно реализовать PCMCIA интерфейс...
или я чего то не так понимаю?

Добавлено через 10 минут и 8 секунд
простите за повторения инет глючилоsmile
PM MAIL   Вверх
sig70
Дата 29.7.2009, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 3.6.2009

Репутация: нет
Всего: нет



PCI шины у РХА вроде нет
PM MAIL   Вверх
Alexeis
Дата 29.7.2009, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 7
Всего: 459



Значит нужно изучать стандарт ATA, изучать структуру драйвера жесткого диска. Какие входные точки он должен иметь, что должен отвечать на стандартные запросы и уже перерисовывать эти запросы в операции чтения и записи в регистры FPGA отображенные на память.

Добавлено через 4 минуты и 4 секунды
Цитата(xvr @  29.7.2009,  10:57 Найти цитируемый пост)
Если FPGA подключена подругому, то ATADISK надо переписать, что бы он смотрел туда, куда подключена FPGA.

  Ну я не уверен что девайс имеет шину PCI, но какой-то Plug n Play должен быть. FPGA скорее всего включено как внешняя память...


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
xvr
Дата 29.7.2009, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 40
Всего: 223



Цитата(sig70 @ 29.7.2009,  12:56)
рассматривая пример ATADISK-а в РВ такое ощущение что между FPGA и PXA нужно реализовать PCMCIA интерфейс...
или я чего то не так понимаю?

Ага, видимо вместо PCI используется PCMCIA. Реализовывать его конечно не надо, а надо:
  •  Определится, как к PXA будет подключена FPGA
  •  Определится, как к FPGA будут подключены диски (я надеюсь, они не SATA случайно  smile )
  •  Переписать часть драйвера, отвечающую за общение с PCMCIA.

PM MAIL   Вверх
sig70
Дата 29.7.2009, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 3.6.2009

Репутация: нет
Всего: нет



Винты разные, могут быть и SATA и SCSI и USB, но на сколько я понял общение с ними это проблема FPGA и она уже решена.  
FPGA в свою очередь связан одной информационной шиной с РХА, вот тут пока не решена проблема как ему(FPGA) нужно себя вести?
PM MAIL   Вверх
Alexeis
Дата 29.7.2009, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 7
Всего: 459



Устройства типа PnP опознаются на лету и винда сама находит для них драйвер по дескриптору, но для этого устройство должно быть на одной из шин PCI/PCI-E/USB. ATA контроллер по-моему тоже работает на шине PCI. 

  А собственно зачем ему прикидываться драйвером ATA ? Может проще создать драйвер виртуального устройства?

Добавлено @ 16:50
  Скажем виртуальный жесткий диск.

http://msdn.microsoft.com/en-us/library/ms885334.aspx
http://msdn.microsoft.com/en-us/library/ms885494.aspx
http://msdn.microsoft.com/en-us/library/ms885839.aspx


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
xvr
Дата 29.7.2009, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 40
Всего: 223



Цитата(sig70 @ 29.7.2009,  14:25)
Винты разные, могут быть и SATA и SCSI и USB, но на сколько я понял общение с ними это проблема FPGA и она уже решена.  

Нифига себе  smile. А вы в курсе, что все эти интерфейсы СОВЕРШЕННО разные, и ни один из них не является ATA интерфейсом ?
И что драйвера под них на WinCE тоже будут разные, и точно не ATADISK
Цитата

FPGA в свою очередь связан одной информационной шиной с РХА, вот тут пока не решена проблема как ему(FPGA) нужно себя вести?

Сдается мне, что проблема лежит не там. Скажите нам, что залито в FPGA?
Что ходит по 'информационной шине' ?

PM MAIL   Вверх
sig70
Дата 30.7.2009, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 3.6.2009

Репутация: нет
Всего: нет



тут выяснилось, что на выходе FPGA представляется как АТА диск...

Добавлено через 4 минуты и 47 секунд
в FPGA залита программка, которая работает со всеми этими интерфейсами в СЕ есть соответствующий софт
теперь появилось желание, чтобы СЕ тоже видел эти винты
PM MAIL   Вверх
xvr
Дата 30.7.2009, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 40
Всего: 223



Цитата(sig70 @ 30.7.2009,  10:17)
тут выяснилось, что на выходе FPGA представляется как АТА диск...

Так, давайте разберемся, что такое ATA  smile Это 2 набора по 8 регистров (8/16 битных) со стробами R/W  + DMA интерфейс (работает в 2х разных режимах).
Как это все хозяйство заходит в PXA? Вот там и надо ловить.

Цитата

Добавлено @ 10:21
в FPGA залита программка, которая работает со всеми этими интерфейсами в СЕ есть соответствующий софт
Ой  smile 'Программки' в FPGA для этого будет маловато - для этого там должен быть как минимум процессор (можно софтовый) с нехилым стеком (по крайней мере для преобразования USB->ATA)
Цитата

теперь появилось желание, чтобы СЕ тоже видел эти винты
А сейчас это как видится в CE? (если там есть 'соответствующий софт') Т.е. какой то интерфейс УЖЕ есть, надо к нему и подключаться

PM MAIL   Вверх
sig70
Дата 30.7.2009, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 3.6.2009

Репутация: нет
Всего: нет



на выходе FPGA представляется АТА диском, простите я не очень знаком с интерфейсом.
FPGA действительно делает все это, незнаю как, это уже труд программистов низшего уровня, разве я говорил что это не серьезная игрушка?smile
софт просто посылает и принимает пакет информации в FPGA, а он там уже сам "общается" с винтами, сейчас на верху ни черта не происходит когда к устройству подключаешь винт, а должно происходить... простите если не очень понятно обьяснил может вашими вопросами попытаемся понять ситуацию?

Добавлено через 2 минуты и 4 секунды
на выходе FPGA представляется АТА диском, простите я не очень знаком с интерфейсом.
FPGA действительно делает все это, незнаю как, это уже труд программистов низшего уровня, разве я говорил что это не серьезная игрушка?smile
софт просто посылает и принимает пакет информации в FPGA, а он там уже сам "общается" с винтами, сейчас на верху ни черта не происходит когда к устройству подключаешь винт, а должно происходить... простите если не очень понятно обьяснил может вашими вопросами попытаемся понять ситуацию?
PM MAIL   Вверх
sig70
Дата 30.7.2009, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 3.6.2009

Репутация: нет
Всего: нет



вот такой еще вопрос, а могу я как то дебагить свой проект, чтобы посмотреть с какими адресами вообще апперируют функции?
PM MAIL   Вверх
xvr
Дата 30.7.2009, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 40
Всего: 223



Непонятно КАК ИМЕННО (на физическом уровне) подключена FPGA к PXA. Понятно только, что НЕ как стандартный диск, иначе бы CE его нашла сама. 
Цитата

на выходе FPGA представляется АТА диском, простите я не очень знаком с интерфейсом.
Извините, а как вы собрались писать драйвер, если не знаете как работает железка, которую он должен обслуживать?  smile 
Цитата

софт просто посылает и принимает пакет информации в FPGA,
Какие именно пакеты и как именно он их посылает?

Добавлено через 2 минуты и 55 секунд
Цитата(sig70 @ 30.7.2009,  17:10)
вот такой еще вопрос, а могу я как то дебагить свой проект, чтобы посмотреть с какими адресами вообще апперируют функции?

В тулзах должен быть remote debugger, читайте доки и пользуйте  smile 
PM MAIL   Вверх
sig70
Дата 30.7.2009, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 3.6.2009

Репутация: нет
Всего: нет



понимаю что я уже вас задолбал, а кому сейчас легкоsmile
ответы на ваши вопросы я попытаюсь выяснить и как только так сразу... smile 
а у меня новый вопросsmile могу ли я из своего .dll создавать и редактировать текстовые файлы?
возникла идея таким образом посмотреть, моя дллка хоть запускается?
в проекте есть mydll.reg файл в который я прописал вот это

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\MyDriver]
    "Dll"="mydll.dll"
    "Order"=dword:4
    "Prefix"="DSK"
    "DeviceArrayIndex"=dword:1
    "IClass"="{A32942B7-920C-486b-B0E6-92A702A99B35}"

когда и как создаться этот рег?
PM MAIL   Вверх
xvr
Дата 30.7.2009, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 40
Всего: 223



Цитата(sig70 @ 30.7.2009,  18:08)
а у меня новый вопросsmile могу ли я из своего .dll создавать и редактировать текстовые файлы?

Хз. С CE не работал, а уж тем более с ее драйверами. В обычной Win из драйвера можно создавать и писать файлы, но это весьма геморойно - проще прицепить отладчик

Цитата

в проекте есть mydll.reg файл в который я прописал вот это
когда и как создаться этот рег?
Этим должен заниматься инсталлятор. Где и когда надо смотреть в MSDN  smile 

PM MAIL   Вверх
Alexeis
Дата 30.7.2009, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 7
Всего: 459



Цитата(sig70 @  30.7.2009,  17:08 Найти цитируемый пост)
когда и как создаться этот рег? 

  По идее при компиляции ядра оно должно попасть в реестр.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0713 ]   [ Использовано запросов: 23 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.