Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: В примере от ИАР virtualcom для lpc2148 драйвер для XP не устанавливается.
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Jurdens
Скомпилировал пример VirtualCom подключил к USB винда опознала попросила драйвер я указал путь на файл iarvircomport.inf , пожужав комп сказал что драйвер не установлен.Кто нибуть использовал
USB как виртуальный ком ? и какой максимальной скорости можно достичь? Ну и как оживить промер от ИАРа?
Заранее благодарен.
Jurdens
Что никто не пробовал работать с USB в LPC 2148 как с виртуальным RS232 ? Ведь так заманчиво подключаешь устройство к компу оно от него запитывается и принимает информацию как от rs232 пишешь на билдере прогу используя компоненты последовательных портов , с которыми уже есть отработанные заготовки. Удобно. Или может лучше найти компоненты USB для билдера и попробовать принимать и передавать по USB? У кого ни будь есть примеры?
=F8=
Цитата(Jurdens @ Apr 21 2008, 06:48) *
Скомпилировал пример VirtualCom подключил к USB винда опознала попросила драйвер я указал путь на файл iarvircomport.inf , пожужав комп сказал что драйвер не установлен.


В версии 5.10(а возможно и в других) ИАРа PID в inf файле не совпадает с таковым в дескрипторе ус-ва(см файл usb_dev_desc.c)

В inf файле:

[IAR_Systems]
%IAR_CDC&PID_0008%=IarVirCOM,USB\VID_FFFF&PID_0008
%IAR_CDC&PID_000B%=IarVirCOM,USB\VID_FFFF&PID_000B
%IAR_CDC&PID_000F%=IarVirCOM,USB\VID_FFFF&PID_000F
%IAR_CDC&PID_0011%=IarVirCOM,USB\VID_FFFF&PID_0011

в usb_dev_desc:

const UsbStandardDeviceDescriptorStr_t UsbStandardDeviceDescriptorStr =
{
sizeof(UsbStandardDeviceDescriptorStr_t), // bLength
UsbDescriptorDevice, // bDescriptorType
0x110, // bcdUSB
UsbDeviceClassCommunications, // bDeviceClass
0, // bDeviceSubClass
0, // bDeviceProtocol
Ep0MaxSize, // bMaxPacketSize0
0xFFFF, // idVendor
0x0006, // idProduct !!!!!!!!!!!!!!!!
0x0000, // bcdDevice
iManufacturerStr, // iManufacturer
iProductStr, // iProduct
iSerialNumberStr, // iSerialNumber
1, // bNumConfigurations
};

надо либо изменить idProduct в дескрипторе у-ва либо добавить строку с PID 0x0006 в inf файл.

Цитата
Кто нибуть использовал USB как виртуальный ком ? и какой максимальной скорости можно достичь?


Использую, работает нормально но не особо шустро. В этом примере используется виндовый драйвер usbser.sys который славится своей тормознутостью, на скорость не тестировал, но врядли больше мегабита.
aaarrr
Цитата(=F8= @ Apr 22 2008, 23:12) *
В этом примере используется виндовый драйвер usbser.sys который славится своей тормознутостью, на скорость не тестировал, но врядли больше мегабита.

usbser.sys не такой уж и тормоз. Он позволяет передавать на хост (XP) со скоростью 125кБайт/с. На прием ограничений нет - получалось примерно 500-800кБайт/с, в зависимости от реализации. Скорость специально не выжимал, столько и не надо было smile.gif
Jurdens
Попробовал исправить
в iarvircomport.inf
[IAR_Systems]
%IAR_CDC&PID_0006%=IarVirCOM,USB\VID_FFFF&PID_0006
%IAR_CDC&PID_0008%=IarVirCOM,USB\VID_FFFF&PID_0008
%IAR_CDC&PID_000B%=IarVirCOM,USB\VID_FFFF&PID_000B
%IAR_CDC&PID_000F%=IarVirCOM,USB\VID_FFFF&PID_000F
%IAR_CDC&PID_0011%=IarVirCOM,USB\VID_FFFF&PID_0011

и ниже
IAR_CDC&PID_0006="IAR Virtual COM port, IAR LPC-2378-SKv2 board"// добавил
IAR_CDC&PID_0008="IAR Virtual COM port, IAR STR750-SK board"
IAR_CDC&PID_000B="IAR Virtual COM port, IAR STR912-SK board"
IAR_CDC&PID_000F="IAR Virtual COM port, IAR LPC-2378-SK board"
IAR_CDC&PID_0011="IAR Virtual COM port, IAR LPC-P2378-SK board"
IarVirCOM.SvcDesc="IAR Virtual COM port"

в usb_dev_desc.c

const UsbStandardDeviceDescriptorStr_t UsbStandardDeviceDescriptorStr =
{
sizeof(UsbStandardDeviceDescriptorStr_t), // bLength
UsbDescriptorDevice, // bDescriptorType
0x110, // bcdUSB
UsbDeviceClassCommunications, // bDeviceClass
0, // bDeviceSubClass
0, // bDeviceProtocol
Ep0MaxSize, // bMaxPacketSize0
0xFFFF, // idVendor
0x0006, // idProduct () //оставил
0x0000, // bcdDevice
iManufacturerStr, // iManufacturer
iProductStr, // iProduct
iSerialNumberStr, // iSerialNumber
1, // bNumConfigurations
};
Это оборудование установить неудалось

затем заменил 6 на 8 в usb_dev_desc.c
0x0008, // idProduct ()

и написал в inf файле
IAR_CDC&PID_0008="IAR Virtual COM port, IAR LPC-2368-SK board"
оно установилось с надписью
......IAR Virtual COM port, IAR IAR STR750-SK
как то запомнила что ли
Удалил драйвер установил заново указав \VirtualCom\iarvircomport.inf где
IAR_CDC&PID_0008="IAR Virtual COM port, IAR LPC-2368-SK board"
он установился с надписью
IAR Virtual COM port, IAR IAR STR750-SK
Откуда она (винда ) берет эту надпись
aaarrr
Цитата(Jurdens @ Apr 25 2008, 09:05) *
Откуда она (винда ) берет эту надпись

Из oemXX.inf
=F8=
Цитата(Jurdens @ Apr 25 2008, 08:05) *
Попробовал исправить
в iarvircomport.inf
Это оборудование установить неудалось


Незнаю почему не удалось у меня все работало. Попробуйте еще с этим инф файлом, простой как кирпич, мы его для своих железок используем, если не изменяет память то был почти строчка в строчку слизан с микрочиповского примера smile.gif
что поправить надо думаю догадаетесь.

[Version]
Signature="$Windows NT$"
Class=Ports
ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
Provider=%RCOM%
LayoutFile=layout.inf
DriverVer=03/26/2007,6.0.2600.1

[Manufacturer]
%MFGNAME%=VirComDevice,NT,NTamd64

[DestinationDirs]
DefaultDestDir = 12

[VirComDevice.NT]
%DESCRIPTION%=DriverInstall,USB\VID_FFFF&PID_1305

[VirComDevice.NTamd64]
%DESCRIPTION%=DriverInstall,USB\VID_FFFF&PID_1305

[DriverInstall.NT]
Include=mdmcpq.inf
CopyFiles=FakeModemCopyFileSection
AddReg=DriverInstall.NT.AddReg

[DriverInstall.NT.AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,usbser.sys
HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"

[DriverInstall.NT.Services]
AddService=usbser, 0x00000002, DriverServiceInst

[DriverServiceInst]
DisplayName=%SERVICE%
ServiceType=1
StartType=3
ErrorControl=1
ServiceBinary=%12%\usbser.sys

[Strings]
RCOM = "rcom.com.ua"
MFGNAME = "RCOM."
DESCRIPTION = "Sprut Universal"
SERVICE = "USB RS-232 Emulation Driver"
Jurdens
попробую но всеравно хорошо что заработало
Спасибо за помощь всем (=f8= , aaarrr)
WoLfhOUnD
Цитата(=F8= @ Apr 22 2008, 23:12) *
Использую, работает нормально но не особо шустро. В этом примере используется виндовый драйвер usbser.sys который славится своей тормознутостью, на скорость не тестировал, но врядли больше мегабита.


У меня вопрос уровня чайника. Можешь объяснить как в этом примере передавать нужные мне данные через этот виртуальный ком порт.(я не особо просто силен в программировании)

Просто у меня в задумках приделать термопару к LPC2148 и выводить температуру на экран компьютера.
prottoss
Привет всем. Извинения за то что вопрос немного не в тему. Как то встречал пример с драйверами для LPC, где получалось два виртуальных СОМ-порта на одном девайсе. Сейчас порылся и не смог найти. Мож кто ткнет носом? Или, может быть, есть свободный драйвер для составного устройства - два СОМ-порта. По собственному опыту знаю, что штатный usbser.sys не умеет работать с составными виртуальными СОМ-портами
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.