Важно! Postal2/3. Делаем свой софт для работы.Поддержка и сбор инфы

  • Автор темы Postal2
  • Дата начала
M

merkul

Участник
Регист
4 Сен 2009
Сообщения
33
Не слежу за вашей темой. Тем более не перечитываю, что там 5-6-7 страниц назад. Последние минимум две посвещены ЕММС и драйверам. Ну да ладно. Нашёл я о чем речь. Забавно будет посмотреть. Спасибо за внимание.
 
P

Postal2

Петербург
Регист
6 Май 2009
Сообщения
5.206
Чтобы на карте AMD-ATI работал OpenCL под Windows XP SP2 (у меня Redwood 5670), надо сделать следующее.
1. Поставить драйвер и поддержку OpenCL (иногда с драйвером, иногда - отдельная AMD_APP).
2. Найти файл atiocl.dll (для старых версий, в Program Files), либо amdocl.dll (для новых версий, в System32).
3. Открыть bin-редактором этот файл и найти GetLogicalProcessorInformation.
4. Заменить название функции на GetExpandedNameA, хвост забить нулями (в hex-режиме забить нулями буквы от старого имени функции).
5. Поставить отредактированную dll туда, где она стояла.
Программы начали видеть OpenCL.
Тут важно было найти виновника торжества. Даже понизив драйвер до версии 2010 года - atiocl.dll всё равно была непригодна. Далее нам нужно было, как наипростейший вариант, подобрать функцию с 2-мя параметрами, чтобы не рушился стек. Возможно, кто-то подберёт более подходящую функцию на замену (либо пропатчит dll поглубже), меня просто достало искать. Списки функций есть везде, а указывать число и размер параметров, видимо, у программистов считается дурным тоном.
Вот такая подстава как всегда от AMD, даже не удивляюсь.:pain25:
Подобным образом можно решить вопрос совместимости любой программы с GetLogicalProcessorInformation и Windows XP SP2, очень странно, но в интернете указаний на такое решение не нашлось. Вот этот гемор с AMD мне всегда портил настроение, какое-то сборище придурков, наняли одного всего умника (не помню фамилию - поищите), он моментально сделал Athlon - его уволили. Обгадились, наняли его же снова через 15 лет - и он сделал им Ryzen.
 
  • Like
Реакции: myth и lapot2
T

tdkc

Участник
Регист
8 Янв 2009
Сообщения
30
перешил atmega8 дампом postalavr_v4c под eMMC
работает, лампочка мигает , спасибо Володя за великий девайс !!!
пошел искать на майн платах eMMC для экспериментов ......
ааа еще же нужны 2 перемычки , пошел искать их на atmega8.
 
P

Postal2

Петербург
Регист
6 Май 2009
Сообщения
5.206
Чтобы использовать CUDA под Windows XP SP2 с картой GT710 (или подобными помощней), нужно сначала установить драйвер 368.81 (через setup не получится, ставится в режиме "обновить драйвер - покажу место"), потом скачать и установить cuda_6.5.14_winxp_general_32.exe. Установщик сам откажется от установки старого драйвера, однако, для предыдущих серий видеокарт, например GT610, установка CUDA одновременно может ставить драйвер 340.62 (если нужно). Всё работает "из коробки", OpenCL также присутствует.
А после установки запустить демо smokeParticles.exe :).
 
P

Postal2

Петербург
Регист
6 Май 2009
Сообщения
5.206
Не смог быстро разобраться, как отдельно компилировать бинарные файлы для GPU под CUDA, поэтому решил пойти стандартным предложенным путём (пригодным для Windows XP SP2). Для этого нужно скачать и установить VC2008 express (ISO-файл, образ для CD):
 ссылка скрыта от гостей 
Затем скачать и установить CUDA Toolkit 6.0 отсюда (Windows XP 32-bit):
 ссылка скрыта от гостей 
Однако тулкит почему-то сам не видит VC2008, после установки тулкита нужно будет скопировать из папки "...integration" в "VCprojectDefaults" все файлы.
После этого smokeParticles.exe успешно скомпилировался из исходника. Причём небыстро, около минуты. Но без ошибок.
 
L

lapot2

Участник
Регист
3 Янв 2011
Сообщения
55
вот об этом я тогда спрашивал.. как включается и шо делает каждый режим...
Screenshot_2.png

я не хочу полностью переписывать интерфейс, а только перенаправлять нужные его команды в том же виде в другую жестянку.
а дальше их будет обрабатывать софт жестянки, который будет отдельным куском закидываться в эту жестянку по юсб при выборе режима. а отдельно для каждого - это абы не грузить жестянку лишним кодом. потомушо там можно закидывать прошивку прямо по юсб в озу и запускать на исполнение... воооть..:shuffle:

а пришла мысля из проекта sigrok, где почти любую жестянку можно сделать лоХ.анализатором))

а кодить я не умею, а всё досконально изучать - 20 лет времени нету... :( зато можно прямо при работе местами выучить нужное в данный момент. гугл здорово помогает с этим
 
Последнее редактирование:
L

lapot2

Участник
Регист
3 Янв 2011
Сообщения
55
выглядит примерно так:

1. прокладка получает команду включить нужный протокол
2. прокладка отсылает в жестянку код реализации именно этого протокола
3. прокладка передаёт без переделок из проги команду (например читать) в жестянку
4. жестянка читает и отсылает большими пакетами прокладке (можно и каждый пакет с контрольной суммой, можно выборочно, например в размер буфера жестянки, я нинаю как оно работает и как должно работать)
5. прокладка это собирает и скармливает проге в потребном виде.
6. вроде всё..
7. передаваемые из проги в жестянку данные прокладка сама будет собирать в нужного размера пакеты (boss:gigi: )
8. точно всё...
 
P

Postal2

Петербург
Регист
6 Май 2009
Сообщения
5.206
lapot2 сказал(а):
местами выучить нужное
У CUDA Toolkit папка с pdf-файлами размером 99 мегабайт. Это несколько суток непрерывного чтения, не считая обязательного изучения всех хедеров. Насчёт "местами выучить" у меня большие сомнения. И, кстати, у GT710 не работает DXVA под XP SP2, там тоже надо как-то лечить совместимость. Но CUDA-программы работают, остальное не интересно.
kwwsoft, я рад, что тебе пригодилось.
 
L

lapot2

Участник
Регист
3 Янв 2011
Сообщения
55
Но мне нафиг не упали эти куды-паскуды
 
L

lapot2

Участник
Регист
3 Янв 2011
Сообщения
55
Ну ясн. Кина не будет
 
P

Postal2

Петербург
Регист
6 Май 2009
Сообщения
5.206
lapot2, у меня нету готовых описаний и желания их немедленно оформлять по твоему уважаемому запросу.
 
  • Like
Реакции: lapot2
L

lapot2

Участник
Регист
3 Янв 2011
Сообщения
55
Postal2 сказал(а):
lapot2, у меня нету готовых описаний и желания их немедленно оформлять по твоему уважаемому запросу.
вот спасибо! сразу можно было честно прямо и ответить, а не тянуть кота за резину 2 недели..это не так, да то не этак..
 
S

Spuller

Участник
Регист
9 Дек 2007
Сообщения
50
lapot2 сказал(а):
вот спасибо! сразу можно было честно прямо и ответить, а не тянуть кота за резину 2 недели..это не так, да то не этак..
Если это про протокол Postal3, то он уже публиковался в этой теме, правда не со всеми изменениями... Поможет USB шпионаж. Там все видно - запросы и ответы как на ладони - благо использованы латинские буквы, а не бинарные команды.

lapot2 сказал(а):
я не хочу полностью переписывать интерфейс, а только перенаправлять нужные его команды в том же виде в другую жестянку
Мои попытки сделать то же самое для CH341 - показали, что протокол оптимизирован для Меги, и для других систем подходит слабо - запросы для USB не оптимизированы, скорость того же CH341 при этом ухудшается, снижаясь существенно ниже потенциальной и становится медленнее оригинального девайса Postal3.
Тут автор прав - для нового железа необходим другой подход.

lapot2 сказал(а):
а пришла мысля из проекта sigrok
Проект хороший. Народ уже пробовал - максимально аппаратно было 3 МВайт по SPI (если задействовать встроенный микроконтроллер, то меньше).
Эта скорость существенно снизится из за издержек.
 

Вложения

Последнее редактирование:
  • Like
Реакции: lapot2
L

lapot2

Участник
Регист
3 Янв 2011
Сообщения
55
Спасибо. Я перерыл тему вдоль и поперек, но ничо не нашел, только упоминания. Я знаю что усб не оптимизирован, работает далеко не на полную. Моя задача это сделать в прокладке, если ума хватит канешн. Буду заходить плакаться, просить памагити))
В неищменном виде будут тольео команды, а полещные данные будут перестраиваться в блоки большего размера
 
M

myth

Участник
Регист
28 Июл 2006
Сообщения
5.889
Postal2 сказал(а):
XP SP2, там тоже надо как-то лечить совместимость.
зачем? Она давно официально похоронена. Как и SP3, впрочем
 
K

kwwsoft

Участник
Регист
6 Авг 2011
Сообщения
125
Postal2 сказал(а):
2 набора STM32F4-Discovery
а как идут работы на этой платформе?
 
K

kalala

Новичок
Регист
8 Янв 2020
Сообщения
6
Comment est-il programmé atmega8 atmega88 Fusibles
Utilisez un programme AVRdudessPROG_ch341a
 

Вложения

P

Postal2

Петербург
Регист
6 Май 2009
Сообщения
5.206
kalala, fuses for Mega8: High=CF, Low=AF;
fuses for Mega88-168-328: Ext=FD, High=DD, Low=E7.
kwwsoft, я сунулся было, но там оказалась такая разводка ножек... Я хотел вход камеры задействовать для аппаратной буферизации. Но даже для частот 20МГц (при заявленных 100) при такой разводке ножек это потребовало бы массу усилий по выравниванию длин и распределённой ёмкости опытным путём (потому что накладывается длина от ножки к кристаллу). У меня лежит куча дев-боардов, и про дискавери я тоже помню. И умная мысль, что с этим делать, обязательно придёт. Сделать-то можно много чего. Надо же чтобы польза была.
 
K

kalala

Новичок
Регист
8 Янв 2020
Сообщения
6
Thank you, the program has been successfully updated. We will try eMMC
 
L

lapot2

Участник
Регист
3 Янв 2011
Сообщения
55
Postal2,
как прога относится к различным задержкам usb-шины?
ещё я не могу определиться с типом пакетов, но это обкатаю на практике потом
например мы накопим в прокладке 256х48 исходящих данных, отправим это через bulk/isoch в буфер жестянки, и будем ждать пока они запишутся, чтобы очистить буфер и всё повторить.
не посчитает ли прога этот простой ошибкой шины?

Spuller, пасиба большая за протокол и исходники, и за коменты в них. на их основе можно писать? а протокол я искал по поиску, но не нашёл(
 
Последнее редактирование:
P

Postal2

Петербург
Регист
6 Май 2009
Сообщения
5.206
lapot2 сказал(а):
как прога относится к различным задержкам usb-шины?
Через USB2-HUB будет быстрее, есть такое свойство у Windows (укорачивает задержки, если подключено устройство Hi-Speed).
Если имеется в виду таймаут, то кусочек кода для usbXpress я выкладывал, там видно, что таймаут 500ms.
 
L

lapot2

Участник
Регист
3 Янв 2011
Сообщения
55
Postal2 сказал(а):
Через USB2-HUB будет быстрее, есть такое свойство у Windows (укорачивает задержки, если подключено устройство Hi-Speed).
Если имеется в виду таймаут, то кусочек кода для usbXpress я выкладывал, там видно, что таймаут 500ms.
думаю любая память сможет скушать 12кб за 500мс
в планах усб 2,0 и 3,0.
задержки между пакетами не страшны. гораздо интереснее задержка между группами пакетов, когда буфер жестянки будет переписываться в микросхему.
я так понял, что в каждом пакете передаются 256 байт, записываются в микросхему. и процесс повторяется. и это есть слабой стороной, верно?
 
S

Spuller

Участник
Регист
9 Дек 2007
Сообщения
50
lapot2 сказал(а):
каждом пакете передаются 256 байт
Запись идет SPI пакетами 64 байт, что бы все влезло в буфер 256 байт, а чтение max 256 байт.

Текст скрыт от гостей. Для просмотра войдите в свой аккаунт.
 
  • Like
Реакции: lapot2
L

lapot2

Участник
Регист
3 Янв 2011
Сообщения
55
Spuller сказал(а):
Запись идет пакетами 64 байт, что бы все влезло в буфер 256 байт, а чтение max 256 байт.

Текст скрыт от гостей. Для просмотра войдите в свой аккаунт.
Ну это уже не так важно) у нас будет 8-14кб буфера(в 56лапом корпусе 16 всего + в нем кусок прошивки для каждого режима работы, для больших корпусов выведена шина наружу, память расширяется, но на руках такой нет, может потом закажу), который будем забивать полными пакетами по усб, а потом переписывать в целевую микросхему. Пакеты будет формировать прокладка. Так же она будет нарезать их обратно при чтении.. воть) а для фх3 так вообще огромный буфер+ можно прикрутить внешнюю статическую озу. У мну на отладочной плате стоит уже, там толи 16мбит, толи мбайт, не помню

Добавлено:

С точки зрения большего опыта - идея насколько жизнеспособна? Чисто интересно мнение, а то я с таким ниразу не работал, и особо не изучал
 
Последнее редактирование:
Верх