реклама на сайте
подробности

 
 
> Как перевести AVREAL на работу с USB?, AVREAL работает через LPT, как заставить через USB?
Алекс-666
сообщение Feb 1 2008, 07:54
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 6-06-07
Пользователь №: 28 233



На фирме для прошивки AVR используется AVREAL. Порт LPT соединяется с платой простым шлейфом, все прибамбасы, обеспечивающие прошивку, собраны на плате. LPT явно уходит в небытие. Как с наименьшими потерями реализовать прошивку через USB, не меняя платы?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
bodja74
сообщение Feb 7 2008, 17:30
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 543
Регистрация: 22-10-05
Пользователь №: 9 984



ReAl
Если брать по большому счету ,то у вас проблема ,которой не существует smile.gif
Если ваш драйвер не поддерживает выражения типа :

Код
тыры-пыры_имя_драйвера.тыры-пыры_назначить_порт=1 или 2 или 3


а требует только базовый адресс ,то пошлите его лесом гулять,и подыщите нормальный.
Не нужно будет извращаться с копаниями в реестре вообще.
К примеру если для LPT нужно ,есть драйвер TVicPort ,ложится под любой язык ,начиная с Билдера кончая .NET .
Сам определяет какие есть порты ,сколько их,какие у них базовые адресса,дергает любой ногой,
есть даже дополнительные фичи - типа определить серийник винта или назначить лицензию на определенное количество дней .
Можно и другой подыскать на свой вкус.
Я с LPT редко работал ,поэтому коллекцию себе не собирал.
ИМХО если чтото новое мутить ,то лучше на LPT и не закладываться,но это дело хозяйское smile.gif

Насчет СОМ ,функции CreateFile, ReadFile, SetupComm, WriteFile и т.д. у меня в коде они есть,я выдернул с инета уже четыре варианта и у всех одна и таже проблема с пропуском байтов.
Если подкинете свой рабочий вариант ,с меня будет пиво и уважуха biggrin.gif
Go to the top of the page
 
+Quote Post
singlskv
сообщение Feb 7 2008, 18:00
Сообщение #3


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(bodja74 @ Feb 7 2008, 20:30) *
Насчет СОМ ,функции CreateFile, ReadFile, SetupComm, WriteFile и т.д. у меня в коде они есть,я выдернул с инета уже четыре варианта и у всех одна и таже проблема с пропуском байтов.
Если подкинете свой рабочий вариант ,с меня будет пиво и уважуха biggrin.gif
Пиво по интернету передавать умеете ? smile.gif

пользуетесь ли Вы таймаутами ком порта ? (в SetupComm)
пользуетесь ли Вы функцией Sleep(x) ?
Go to the top of the page
 
+Quote Post
bodja74
сообщение Feb 7 2008, 18:35
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 543
Регистрация: 22-10-05
Пользователь №: 9 984



Цитата(singlskv @ Feb 7 2008, 22:00) *
Пиво по интернету передавать умеете ? smile.gif

Конечно biggrin.gif
Цитата
пользуетесь ли Вы таймаутами ком порта ? (в SetupComm)

Нет
Цитата
пользуетесь ли Вы функцией Sleep(x) ?

Да ,в цикле 100мс ,если байтов нет ,выходим.
Go to the top of the page
 
+Quote Post
singlskv
сообщение Feb 7 2008, 18:46
Сообщение #5


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



А какая длина пакета на приеме
и сколько байт на прием передаете функции ReadFile ?

И скорость порта какая ?
Go to the top of the page
 
+Quote Post
bodja74
сообщение Feb 8 2008, 17:37
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 543
Регистрация: 22-10-05
Пользователь №: 9 984



Цитата(singlskv @ Feb 7 2008, 22:46) *
А какая длина пакета на приеме

От 256 байт до 256к ,короче бут в перемешку с прогером smile.gif
Цитата
и сколько байт на прием передаете функции ReadFile ?

От 64байт до 8К,по разному пробовал.
Цитата
И скорость порта какая ?

115200,
на каждых 4К ,теряется от 20 до 200 байт,по разному,
я тут думаю ,может буфер переполняется ,но вроде как в ReadFile больше нигде не указывается, laughing.gif

ReAl
Давайте не будем нашу дискуссию переводить в полемику.Хорошо?
Я догадывался ,что при желании вы этот драйвер раскритикуете от и до smile.gif ,поэтому предложил его в качестве примера ,не запрещая при этом найти себе более подходящий.
Go to the top of the page
 
+Quote Post
ReAl
сообщение Feb 8 2008, 20:18
Сообщение #7


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(bodja74 @ Feb 8 2008, 19:37) *
ReAl
Давайте не будем нашу дискуссию переводить в полемику.Хорошо?
Я догадывался ,что при желании вы этот драйвер раскритикуете от и до smile.gif ,поэтому предложил его в качестве примера ,не запрещая при этом найти себе более подходящий.
А давайте сначала Вы в качестве примера будете приводить драйвер, который действительно делает то, что Вы говорите о нём. А то "дискуссия" выглядит так
Цитата
- Винт тут у меня с очень хитрым шлицом, пробовал выточить отвёртку по нескольким разным чертежам - не лезет! Могу, конечно, прикинуть визуально и что-то слепить, но какой смысл, если попадётся другой, в который не полезет. Нужна информация по спецвинтам.
- Надо закрутить винт? Возьмите любой инструмент, которым нормальные люди закручивают винты, например, электроотвёртку с набором из плоской и крестовой вставок, сама лезет в любой винт, сама закручивает!
Ну или что-то другое по вкусу, я вообще мало винтов закручивал, поэтому инструментов много не собирал.
- Дык не лезут из этого набора в шлиц не массового винта!
- Не превращайте дискуссию в полемику, возьмите любой другой инструмент, я не запрещал искать по вкусу.

Ваши слова:
Цитата(bodja74 @ Feb 7 2008, 19:30) *
К примеру если для LPT нужно ,есть драйвер TVicPort ,ложится под любой язык ,начиная с Билдера кончая .NET .
Сам определяет какие есть порты ,сколько их, какие у них базовые адресса, дергает любой ногой, есть даже дополнительные фичи - типа определить серийник винта или назначить лицензию на определенное количество дней .
Можно и другой подыскать на свой вкус.
Я с LPT редко работал ,поэтому коллекцию себе не собирал.
Вы за них отвечаете или нет?
Я просто указал, что они не соответствуют действительности для тех портов, с которыми у меня "несуществующая проблема". Если так с Вами разговаривать нельзя - извините, не хотел обидеть.

Цитата(singlskv @ Feb 8 2008, 03:18) *
Попробуйте у себя такой метод через реестр:
идем HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Parport\Enum
...
в нем по смещению 0x18 должен сидеть адрес LPT
по смещению 0x20 сидит количество портов которые задействованны устройством
...
Это должно работать на 2000/XP
Хех... Кабы ж то всё так просто...
Вот с работы, W2000sp4, набортный LPT

Цитата
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Parport\Enum]
"0"="ACPI\\PNP0401\\4&2c575acb&0"
"Count"=dword:00000001
"NextInstance"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ACPI\PNP0401\4&2c575acb&0\Device Parameters]
"FirmwareIdentified"=dword:00000001
"PortName"="LPT1"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ACPI\PNP0401\4&2c575acb&0\LogConf]
"BootConfig"=hex(8):\
01,00,00,00, 0f,00,00,00, \
00,00,00,00, 01,00,01,00, \
04,00,00,00, 02,01,01,00, \
07,00,00,00, 07,00,00,00, \
ff,ff,ff,ff, 04,01,00,00, \
03,00,00,00, 00,00,00,00, \
00,00,00,00, 01,01,11,00, \
78,03,00,00, 00,00,00,00, \
08,00,00,00, 01,01,11,00, \
78,07,00,00, 00,00,00,00, \
08,00,00,00
Тут почти всё как Вы сказали - разница только в том, что по смещениям 0x18 и 0x20 "что-то не то" (возможно, некие флаговые значения, говорящие, чо надо идти дальше - но по крайней мере есть куда копать), а реальных два диапазона - по смещениям 0x38,0x40; 0x48,0x50.
Ну тут хоть наличие порта видно.

А вот дома, с PCI-платой...
Цитата
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Parport\Enum]
"Count"=dword:00000000
"NextInstance"=dword:00000000
"INITSTARTFAILED"=dword:00000001
Всё. Портов просто нет. Что означает INITSTARTFAILED - не знаю, но в свойствах - "устройство работает нормально", ради проверки даже достал из-под стола Epson LQ100+ (кстати, кому-то нужен? отдам бесплатно, самовывоз) проинсталлировал его драйвер на LPT1 и напечатал пробную страницу.

Кстати, в аналогичном HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Serial\Enum в наличии только один COM-порт, набортный COM1. А COM4 и COM5 от той же PCI-платы отсутствуют.
А живут они тут:
Цитата
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\MF\PCI#VEN_9710&DEV_9835&SUBSYS_00121000&REV_01\5&c47b19f&0&08F0#Child0002]
"DeviceDesc"="MosChip PCI Parallel Port"
"Capabilities"=dword:00000000
"UINumber"=dword:00000002
"HardwareID"=hex(7):4d,46,5c,50,43,49,39,37,31,30,5f,45,43,50,00,00
"ClassGUID"="{4D36E978-E325-11CE-BFC1-08002BE10318}"
"Class"="Ports"
"Driver"="{4D36E978-E325-11CE-BFC1-08002BE10318}\\0002"
"FriendlyName"="MosChip PCI Parallel Port (LPT1)"
"Mfg"="MosChip Technology"
"Service"="NmPar"
"ConfigFlags"=dword:00000000
"ParentIdPrefix"="6&19ad4653&0"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\MF\PCI#VEN_9710&DEV_9835&SUBSYS_00121000&REV_01\5&c47b19f&0&08F0#Child0002\Device Parameters]
"PortName"="LPT1"
"NationalChecked"=dword:00000001
"NationalChipFound"=dword:00000000
"FilterResourceMethod"=dword:00000001

Child0000 и Child0001 - это COM-порты от неё.
Я там дальше нашёл в данных адреса, могу их выковыривать, но когда и где вылезет очередная плата? Без нормального описания возможных ключей в этой части реестра можно всю жизнь экспериментировать и подбирать. Но в тех нескольких книгах по реестру, которые я видел - этого нет совсем. А примеры, включая и этот - я видел, но они далеко не всегда работают :-(


Цитата(VslavX @ Feb 8 2008, 09:56) *
Для определения базового адреса порта по его номеру в 2K/XP мне видится такой путь:
- определяем device object для нужного номера LPT. Можно просто разрешить Symbolic Links, или воспользоваться готовой информацией из документации на XP DDK - файл parallel.chm - "Parallel Device Interfaces, Internal Names, and Symbolic Links"
Вот в сторону DDK совсем не хотелось лезть.
Раз для "типовых" портов можно обойтись реестром, раз и на свою PCI-LPT я всё нужное глазами в реестре нашёл, значит где-то должно быть достаточно полное описание ключей реестра :-)

Самое смешное, что с моей точки зрения проблемы тоже не существет, только по другой причине. Потенциальные пользователи avreal, по идее, должны быть достаточно "образованы", чтобы найти на закладке "ресурсы" нужного порта его базовый адрес и вписать его куда надо.
Мне кажется, что на конкретном компьютере он меняется самовольно не так часто - у меня даже при некоторых изменениях конфигурации не менялся. В любом случае - по сравнению с уствновкой драйверов на что-то новое не так и много работы опять заглянуть на нужную страничку.
Тот же avrdude не заморачивается и под виндовс, по крайней мере судя по его документации, просто жёстко привязывает адреса к словам lpt1, lpt2, lpt3 никуда не заглядывая. Мой порт, естественно, не увидел. Я даже не поленился Pony скачать (avrdude-то идёт с WinAVR) - тоже все три дырочки "LPT" серые. На этом фоне -pE800 уже достижение :-)


Мда... Слишком старательно движок конфы сливает смежные посты в один. Хоть бы по размеру поста глянул, большие не сливал...


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Алекс-666   Как перевести AVREAL на работу с USB?   Feb 1 2008, 07:54
- - haker_fox   Цитата(Алекс-666 @ Feb 1 2008, 15:54...   Feb 1 2008, 08:08
- - ReAl   Выгнать автора AVREAL в отпуск на месяц с запретом...   Feb 1 2008, 08:15
|- - rx3apf   Цитата(ReAl @ Feb 1 2008, 11:15) Выгнать ...   Feb 2 2008, 11:47
|- - Сергей Борщ   Цитата(rx3apf @ Feb 2 2008, 13:47) Но есл...   Feb 2 2008, 13:03
- - hd44780   Переходите на что-то COM-порт ориентированное. У ...   Feb 1 2008, 08:24
|- - ReAl   Цитата(hd44780 @ Feb 1 2008, 10:24) У мен...   Feb 1 2008, 08:28
|- - zltigo   Цитата(ReAl @ Feb 1 2008, 11:28) Там указ...   Feb 1 2008, 09:28
- - hd44780   Да, адреса показывает, не вопрос, но, например, вс...   Feb 1 2008, 09:47
|- - Igor26   Цитата(hd44780 @ Feb 1 2008, 12:47) Да, а...   Feb 1 2008, 12:10
|- - vvs5   Цитата(hd44780 @ Feb 1 2008, 12:47) Да, а...   Feb 5 2008, 08:02
|- - ReAl   Цитата(hd44780 @ Feb 1 2008, 11:47) Да, а...   Feb 5 2008, 20:19
|- - zltigo   Цитата(ReAl @ Feb 5 2008, 23:19) Универса...   Feb 5 2008, 21:17
|- - rezident   Цитата(ReAl @ Feb 6 2008, 01:19) Универса...   Feb 5 2008, 22:39
|- - ReAl   Цитата(rezident @ Feb 6 2008, 00:39) В пр...   Feb 6 2008, 08:03
|- - bodja74   Цитата(ReAl @ Feb 6 2008, 12:03) Люди как...   Feb 6 2008, 10:42
|- - ReAl   Цитата(bodja74 @ Feb 6 2008, 12:42) Все д...   Feb 6 2008, 12:38
- - ReAl   На 245-ой я пробовал как только она у меня в руках...   Feb 3 2008, 07:07
- - Алекс-666   Господа, правильно ли я понял, что через USB я не ...   Feb 4 2008, 07:50
- - Lepeksiy   С помощью avreal через usb нельзя. Надеюсь только ...   Feb 4 2008, 07:58
- - GDI   ЦитатаКак с наименьшими потерями реализовать проши...   Feb 4 2008, 08:02
- - mdmitry   С USB и avrdude не все радужно, в ветке http://ele...   Feb 4 2008, 09:12
- - GDI   ЦитатаС USB и avrdude не все радужно, в ветке http...   Feb 4 2008, 09:21
- - vesago   Слепить на m8 клон аврисп.   Feb 6 2008, 07:02
- - forever failure   Тов. ReAl, а в *никсовых версиях Вашего программа...   Feb 6 2008, 08:34
|- - ReAl   Цитата(forever failure @ Feb 6 2008, 10:3...   Feb 6 2008, 09:20
- - bodja74   А зачем вам базовый адресс ? Я допустим по сей ден...   Feb 6 2008, 17:23
|- - ReAl   Цитата(bodja74 @ Feb 6 2008, 19:23) А зач...   Feb 6 2008, 20:55
|- - singlskv   Цитата(ReAl @ Feb 6 2008, 23:55) Винда ви...   Feb 8 2008, 01:18
|- - VslavX   Для определения базового адреса порта по его номер...   Feb 8 2008, 07:56
||- - singlskv   Цитата(bodja74 @ Feb 8 2008, 20:37) От 25...   Feb 8 2008, 17:52
|||- - bodja74   Цитата(singlskv @ Feb 8 2008, 21:52) Read...   Feb 9 2008, 20:51
|||- - singlskv   Цитата(bodja74 @ Feb 9 2008, 23:51) У мен...   Feb 9 2008, 21:41
|||- - bodja74   Цитата(singlskv @ Feb 10 2008, 01:41) Не,...   Feb 10 2008, 15:26
|||- - singlskv   Цитата(bodja74 @ Feb 10 2008, 18:26) Ок. ...   Feb 10 2008, 16:03
|||- - bodja74   Цитата(singlskv @ Feb 10 2008, 20:03) А R...   Feb 10 2008, 17:53
||- - singlskv   Цитата(ReAl @ Feb 8 2008, 23:18) Тут почт...   Feb 8 2008, 20:40
||- - ReAl   Цитата(singlskv @ Feb 8 2008, 22:40) А чт...   Feb 8 2008, 20:58
||- - singlskv   Цитата(ReAl @ Feb 8 2008, 23:58) Оно...   Feb 8 2008, 22:34
|- - ReAl   Цитата(bodja74 @ Feb 7 2008, 19:30) ReAl ...   Feb 7 2008, 21:14
|- - zltigo   Цитата(ReAl @ Feb 8 2008, 00:06) Вы одним...   Feb 7 2008, 21:19
- - gluckmaker   А удавалось ли кому-нибудь заставить AVReal работа...   Mar 29 2008, 23:28
- - gluckmaker   Посмотрел. Оказался дохлый сам байтбластер. Видимо...   Mar 30 2008, 16:08
- - Mik174   Такое ощущение, что нужно внести ясность, что собс...   Mar 30 2008, 19:51


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 07:52
Рейтинг@Mail.ru


Страница сгенерированна за 0.01501 секунд с 7
ELECTRONIX ©2004-2016