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

 
 
> Как перевести 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 6 2008, 17:23
Сообщение #2


Знающий
****

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



А зачем вам базовый адресс ?
Я допустим по сей день не знаю какие у меня адресса smile.gif
Обратиться можно по имени или по номеру.
Вот например для АПИ.
Код
    ' Initialize Communications
    lngStatus = CommOpen(1, "COM1" , _
        "baud=9600 parity=N data=8 stop=1")
    
    If lngStatus <> 0 Then
    ' Handle error.
        lngStatus = CommGetError(strError)
    MsgBox "COM Error: " & strError
    End If


Вот для драйвера

Код
MSComm.CommPort=1


Порты могут не увидиться в случаях если заняты под принтер,мышку,другим приложением или вообще винда не видит оборудования .У меня дополнительные платы под порты тоже стоят ,уже нераз палил LPT biggrin.gif
Go to the top of the page
 
+Quote Post
ReAl
сообщение Feb 6 2008, 20:55
Сообщение #3


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

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



Цитата(bodja74 @ Feb 6 2008, 19:23) *
А зачем вам базовый адресс ?
А чтобы значение ножки BUSY узнать, прочитав регистр статуса, или там на ножку STROBE выдать "0", потом пощёлкать на данных, потом на STROBE выдать "1". Вот такие извращения.

Цитата(bodja74 @ Feb 6 2008, 19:23) *
Я допустим по сей день не знаю какие у меня адресса smile.gif
Обратиться можно по имени или по номеру.
Вот например для АПИ.
Код
    ' Initialize Communications
    lngStatus = CommOpen(1, "COM1" , "baud=9600 parity=N data=8 stop=1")
А, COM-порт...
Под win32 предпочитаю так:
Код
void eunit_interface_rs232::open_com_port(const char *portstr, uint32_t baud)
{
    hcom = CreateFile(portstr, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL);
    if (hcom == INVALID_HANDLE_VALUE)
        throw eunit_error(EU_CMD_NOCOMM,
...
    EscapeCommFunction(hcom, SETDTR);
    EscapeCommFunction(hcom, SETRTS);
На 115200 байтики не теряются, быстрее не пробовал.
Но это не решает проблемы, связанные с "ногодрыжеством" на LPT.

Цитата(bodja74 @ Feb 6 2008, 19:23) *
Порты могут не увидиться в случаях если заняты под принтер,мышку,другим приложением или вообще винда не видит оборудования .У меня дополнительные платы под порты тоже стоят ,уже нераз палил LPT biggrin.gif
Винда видит (раз через свойства/оборудование/... и так далее для LPT1 на закладке "ресурсы" базовый адрес показывает), принтера на ней нет и не ставился. Не винда не видит, а применяемый в стандартных примерах код поиска базового адреса по реестру, я же писал уже. А вручную подбирать для имеющейся платы и потом нарываться на то, что на другом производителе может и не пойти - вломно как-то. Поэтому предпочитаю указывать вручную, как и у упоминавшегося выше чьего-то программатора для MSP430.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
singlskv
сообщение Feb 8 2008, 01:18
Сообщение #4


дятел
*****

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



Цитата(ReAl @ Feb 6 2008, 23:55) *
Винда видит (раз через свойства/оборудование/... и так далее для LPT1 на закладке "ресурсы" базовый адрес показывает), принтера на ней нет и не ставился. Не винда не видит, а применяемый в стандартных примерах код поиска базового адреса по реестру, я же писал уже.


Попробуйте у себя такой метод через реестр:
идем HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Parport\Enum
видим типа ключ '0' ACPI\PNP0400\4&2a083901&0
если несколько LPT то ключей будет несколько '1','2',....
идем
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ACPI\PNP0400\4&2a083901&0\Device Parameters
и убеждаемся по ключу PortName что это нужный нам LPT, например LPT1
идем
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ACPI\PNP0400\4&2a083901&0\LogConf
читаем ключ BootConfig
в нем по смещению 0x18 должен сидеть адрес LPT
по смещению 0x20 сидит количество портов которые задействованны устройством, например
для стандартного LPT по адресу 0x20 находится 8
Эти 2 числа и используются для вывода диапазона адресов устройства
в панели управления , например 0x378-0x37f

Аналогично ищутся адреса любых устройств.
Например для COM:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Serial\Enum
'0' = ACPI\PNP0501\1
'1' = ACPI\PNP0502\2
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ACPI\PNP0501\1\Device Parameters
PortName = COM1
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ACPI\PNP0501\2\Device Parameters
PortName = COM2
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ACPI\PNP0501\1\LogConf
BootConfig 0x18=0x3F8 0x20=8 итого 0x3f8-0x3ff
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ACPI\PNP0501\1\LogConf
BootConfig 0x18=0x3F8 0x20=8 итого 0x2f8-0x2ff

Это должно работать на 2000/XP
про более ранние и более позднии версии не знаю

Да, небольшое уточнение, структурка которая сидит в BootConfig одинаковая только
для однотипных(по задействованным ресурсам) устройств, те для портов она всегда такая, а например для
PCI-PCI bridge она другая
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
|- - VslavX   Для определения базового адреса порта по его номер...   Feb 8 2008, 07:56
- - bodja74   ReAl Если брать по большому счету ,то у вас пробле...   Feb 7 2008, 17:30
|- - singlskv   Цитата(bodja74 @ Feb 7 2008, 20:30) Насче...   Feb 7 2008, 18:00
||- - bodja74   Цитата(singlskv @ Feb 7 2008, 22:00) Пиво...   Feb 7 2008, 18:35
||- - singlskv   А какая длина пакета на приеме и сколько байт на ...   Feb 7 2008, 18:46
||- - bodja74   Цитата(singlskv @ Feb 7 2008, 22:46) А ка...   Feb 8 2008, 17:37
||- - 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
||- - ReAl   Цитата(bodja74 @ Feb 8 2008, 19:37) ReAl ...   Feb 8 2008, 20:18
||- - 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 Текстовая версия Сейчас: 21st July 2025 - 15:34
Рейтинг@Mail.ru


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