Avr jungo usb что это за программа
Avr jungo usb что это за программа
При проблеме с драйвером USB Jungo AVR Studio (и версии 4.19, и версии 5) не может подключиться через USB ни к AVR JTAGICE mkII [2], ни к AVRISP mkII [3]. Причем через COM-порт соединение с JTAGICE mkII работает нормально.
В среде AVR Studio 5 утилита программирования видит подключенный через USB программатор, но при попытке подключения к нему выдает ошибку:
При этом в окошко Output выводятся следующие сообщения:
Эта проблема связана с драйвером USB Jungo, когда он некорректно установлен. У меня такая ситуация с драйвером Jungo возникла после мягкой (поверх) переустановки Windows, когда менял материнскую плату [1]. Проблема решается полным удалением старой версии драйверов Jungo, чисткой реестра (удаление старых ссылок на определившиеся через USB программаторы) и полной переустановкой AVR Studio 4.19 и AVR Studio 5. Процесс по шагам (Windows XP SP3):
1. Отключите программатор (или JTAGICE mkII, или AVRISP mkII) от USB.
2. Запустите regedit, зайдите в раздел (ветвь, папка) реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB.
3. Удалите в этом разделе записи, относящиеся к Вашему программатору. Например, для JTAGICE mkII это может быть папка Vid_03eb&Pid_2103, а для AVRISP mkII папка Vid_03eb&Pid_2104. Удалите эти папки, остальные не трогайте.
4. При удалении папки (раздела) реестра может возникнуть ошибка типа «Не удается удалить Vid_03eb&Pid_2103. Ошибка при удалении раздела.». Это происходит из-за того, что в разрешениях на этот раздел реестра отсутствует право на удаление.
Для того, чтобы удалить раздел, сначала нажмите на нем правую кнопку мыши и выберите «Разрешения. «. В окне «Группы или пользователи» выберите Все, поставьте галочку Полный доступ, и нажмите кнопку OK. После этого раздел можно без проблем удалить.
5. Удалите все установленные у Вас версии AVR Studio. Это делается через инструмент Панели Управления «Установка и удаление программ». Не забудьте также удалить AVR Jungo USB.
6. Установите заново AVR Studio 4.19 и AVR Studio 5. Внимание, это важно: в процессе установки не должны быть подключены по USB ни JTAGICE mkII, ни AVRISP mkII! В процессе инсталляции в операционную систему будут скопированы и установлены драйвера USB Jungo.
7. После окончания установки подключите Ваш программатор по USB, система найдет новое устройство и Мастер установки драйвера запросит его местоположение. Выберите не искать драйвер в Интернете и далее автоматический поиск драйвера, после чего для Вашего программатора будет автоматически найден и установлен драйвер, и программатор появится в Диспетчере Устройств.
На этом процедура восстановления работоспособности драйвера USB Jungo завершена, и Ваши программаторы смогут без проблем работать с AVR Studio.
Что такое wdreg.exe? Это безопасно или вирус? Как удалить или исправить это
Что такое wdreg.exe?
wdreg.exe это исполняемый файл, который является частью AVR Jungo USB Программа, разработанная Atmel, Программное обеспечение обычно о 2.48 MB по размеру.
Wdreg.exe безопасный или это вирус или вредоносная программа?
Первое, что поможет вам определить, является ли тот или иной файл законным процессом Windows или вирусом, это местоположение самого исполняемого файла. Например, такой процесс, как wdreg.exe, должен запускаться из, а не из другого места.
Если статус процесса «Проверенная подписывающая сторона» указан как «Невозможно проверить», вам следует взглянуть на процесс. Не все хорошие процессы Windows имеют метку проверенной подписи, но ни один из плохих.
Наиболее важные факты о wdreg.exe:
Если у вас возникли какие-либо трудности с этим исполняемым файлом, перед удалением wdreg.exe вы должны определить, заслуживает ли он доверия. Для этого найдите этот процесс в диспетчере задач.
Найдите его местоположение (оно должно быть в C: \ Program Files \ Atmel \ AVR Jungo USB) и сравните размер и т. Д. С приведенными выше фактами.
Если вы подозреваете, что можете быть заражены вирусом, вы должны немедленно попытаться это исправить. Чтобы удалить вирус wdreg.exe, вам необходимо Загрузите и установите приложение полной безопасности, например Malwarebytes., Обратите внимание, что не все инструменты могут обнаружить все типы вредоносных программ, поэтому вам может потребоваться попробовать несколько вариантов, прежде чем вы добьетесь успеха.
Могу ли я удалить или удалить wdreg.exe?
Не следует удалять безопасный исполняемый файл без уважительной причины, так как это может повлиять на производительность любых связанных программ, использующих этот файл. Не забывайте регулярно обновлять программное обеспечение и программы, чтобы избежать будущих проблем, вызванных поврежденными файлами. Что касается проблем с функциональностью программного обеспечения, проверяйте обновления драйверов и программного обеспечения чаще, чтобы избежать или вообще не возникало таких проблем.
Распространенные сообщения об ошибках в wdreg.exe
Наиболее распространенные ошибки wdreg.exe, которые могут возникнуть:
• «Ошибка приложения wdreg.exe».
• «Ошибка wdreg.exe».
• «Возникла ошибка в приложении wdreg.exe. Приложение будет закрыто. Приносим извинения за неудобства».
• «wdreg.exe не является допустимым приложением Win32».
• «wdreg.exe не запущен».
• «wdreg.exe не найден».
• «Не удается найти wdreg.exe».
• «Ошибка запуска программы: wdreg.exe».
• «Неверный путь к приложению: wdreg.exe.»
Как исправить wdreg.exe
Если у вас возникла более серьезная проблема, постарайтесь запомнить последнее, что вы сделали, или последнее, что вы установили перед проблемой. Использовать resmon Команда для определения процессов, вызывающих вашу проблему. Даже в случае серьезных проблем вместо переустановки Windows вы должны попытаться восстановить вашу установку или, в случае Windows 8, выполнив команду DISM.exe / Online / Очистка-изображение / Восстановить здоровье, Это позволяет восстановить операционную систему без потери данных.
Чтобы помочь вам проанализировать процесс wdreg.exe на вашем компьютере, вам могут пригодиться следующие программы: Менеджер задач безопасности отображает все запущенные задачи Windows, включая встроенные скрытые процессы, такие как мониторинг клавиатуры и браузера или записи автозапуска. Единый рейтинг риска безопасности указывает на вероятность того, что это шпионское ПО, вредоносное ПО или потенциальный троянский конь. Это антивирус обнаруживает и удаляет со своего жесткого диска шпионское и рекламное ПО, трояны, кейлоггеры, вредоносное ПО и трекеры.
Обновлен декабрь 2021:
Мы рекомендуем вам попробовать это новое программное обеспечение, которое исправляет компьютерные ошибки, защищает их от вредоносных программ и оптимизирует производительность вашего ПК. Этот новый инструмент исправляет широкий спектр компьютерных ошибок, защищает от таких вещей, как потеря файлов, вредоносное ПО и сбои оборудования.
Загрузите или переустановите wdreg.exe
Вход в музей Мадам Тюссо не рекомендуется загружать заменяемые exe-файлы с любых сайтов загрузки, так как они могут содержать вирусы и т. д. Если вам нужно скачать или переустановить wdreg.exe, мы рекомендуем переустановить основное приложение, связанное с ним AVR Jungo USB.
Информация об операционной системе
Ошибки wdreg.exe могут появляться в любых из нижеперечисленных операционных систем Microsoft Windows:
Микроконтроллеры
В данной статье речь пойдет о таком довольно популярном интерфейсе как USB, точнее как использовать этот интерфейс USB на микроконтроллерах семейства AVR. В интернете на данную тему много информации но большинство из нее представлено отдельными фрагментами и не дает полную картину о то как использовать этот интерфейс на микроконтроллерах AVR.
Такие интерфейсы как COM, MIDI, LPT широко использовались в свое время, но сейчас они морально устарели и все реже и реже встречаются в современных компьютерах в основном в компьютерах для промышленного и узкоспециализированного оборудования. Для связи собранного устройства с компьютером можно использовать всевозможные переходники конвертеры и эмуляторы, но как показывает практика они порождают множество проблем.
Для того чтобы использовать подружить USB и AVR можно пойти 3-мя путями:
Использовать аппаратную поддрежку USB интерфейса, к примеру микроконтроллера AT90USB*. Для того чтобы его использовать нужно написать для него особую прошивку. И если вашу собраное устройство не стандартного класса USB то придется для компьютера писать драйвер, который объяснит ПК с каким устройством имеем дело.
Использовать конверторы USB в какой нибудь другой интерфейст (к примеру USB-UART на микросхеме FTDI FT232RL). В качествое других интерфейсов может выступать RS232, I2C или другие. При таком подходе нам не нужно замарачиваться и знать как работает интерфейс USB, также нужда в драйвере для компьютера тоже отпадает, так как драйвера для таких конверторов уже написаны производителем.
Igor Cesko первый кто сделал такой проект, он был написан на языке assembler.
После появился проект V-USB который написан на языке C с использованием ассемблерного кода Используя V-USB был сделан проект ИК приемника для компьютера.
USBtiny в свою очередь является произволным от ранней версии проекта V-USB. По возможности он уступает V-USB но зато гараздо проще теоретически и относительно легок в освоении.
Мы будем использовать проект V-USB
В своих USB экспериментах, прошивку для микроконтроллера писал на языке C в среде AVR-Studio 4 + WinAVR, программа для ПК была разработана при помощи среды Borland C++ Builder как самый простенький и хустрый вариант. Поэтому все следующие примеры будут такими же. От правильного выбора инструментов зависит количество головной боли на последующих шагах. По поводу того что лучше C или Assembler можно говорить много. Как по мне то нужно владеть всеми инструментами, каким-то в большей степени каким-то в меньшей и использовать тот или другой в зависимости от конкретной поставленной задачи.
Считаю важным сказать пару слов про идентификаторы VID и PID которые представляют 16-битные числа. Эти числа использует операционная система и определяет какой подгрузить драйвер. Стоимость Vendor-ID на usb.org составляет 2000$. По поводу легальности использования VID/PID можно прочитать на станчике эмбеддера BSVi. V-SUB предоставлят свободную пару VID/PID. У вас наверное возникнет вопрос «Как подключить сразу несколько устройст с однинаковыми значениями VID/PID». Подключить несколько устройств с одниковами значениями вы можете, ничего страшного в этом нет так как каждое устройство USB имеет также свой VENDOR_NAME и DEVICE_NAME идентификаторы.
Давайте попробуем собрать свое первое USB HID устройство на микроконтроллере Atmega8 и научим его общаться с компьютером при помощи интерфейса USB. Может возникнуть вопрос «почему именно HID устройство». Ответ самый простой- потому что мы не хотим замарачиваться,выносить себе мозг и писать всякие там драйвера под Windows. А когда мы подключаетм HID устройство то операционная система сама выбирает и включает необходимый драйвер. Наша программа под компьютер не будет нуждаться в установки и настройки чего либо она сразу будет использовать готовый алгоритм для работы с HID устройством.
Схема подключения AVR к USB
Ассесмблерная часть V-USB написана с поддержкой следующего ряда частот: 12 МГц, 12,8 МГц,15 МГц,16 МГц,16.5 МГц, 18 МГц, 20 МГц. Другие частоты не поддерживаются. Данная частота вручную нигде не прописывается, она определяется в конфигурации проект AVR Studio. Proget>Configuration Options>General(вкладка)> Frequency (поле). Частота указывается в Герцах, если не правильно выставить частоту то при компиляции всплывет куча предупреждений и программа так и не будет скомпелированна. В студии сществует переменная F_CPU которую использует компилятор и она доступна всему проекту, V-USB также использует его. Для правильной работы кварца необходимо правильно выставить FUSE биты микроконтроллера.
Создание проекта в среде AVR Studio
Создаем проект AVR GCC, назовем его например Hid_example_firmware. И начнем писать нашу прошивку.
Для того чтобы добавить файла нужно выбрать в контекстном меню «Add existing Source File(s)»
Далее нам необходимо корректно настроить файл usbconfig.h и также его поместить в папку с проектом. Inline комментарии usbconfig.h была переведена на русский язык. Код приведен ниже.
Теперь правильно настроим usbconfig.h и также поместим в каталог с проектом (ссылка рабочего проекта-примера в конце статьи). Inline документацию usbconfig.h я перевел на русский (использовал перевод от microsin.ru + дополнял сам). Там очень много опций, в статье опишу самые необходимые для быстрого старта (подробности смотрим внутри файла).
Алгоритм работы
Линия данных D+ подключается к прерыванию INT0 так как это прерывание с наивысшим приоритетом. В процессе обмена данных по USB, микроконтроллер постоянно уходит на обработку INT0, на котором как раз и подключен V-USB. И только после этого управление будет передано основной программе. Если вам в вашем устройстве нужно еще и обрабатывать свои прерывания, то нужно выставить глобальный флаг прерывания используя команду sei(), для того чтобы смогло сработать INT0 с целью правильной работы V-USB.
Такая функция как usbPoll() сообщает хосту что подключенное устройство еще находится в живом состоянии и готово к работе, эту функцию нужно вызвать не реже чем 50 ms. Если не выполнять это условие то операционная система Windows напишет следующее » Подключено неизвестное устройство»
Функция usbFunctionSetup() занимается setup сообщениями, здесь происходит обработка управляющих команд USB, далее происходит запуск функции usbFunctionRead() или функции usbFunctionWrite().
USB HID report description
Объясняя более понятными словами то это константы собранные в массив и зашитые в Flash память устройства, которые необходимы и описывают структуру пакетов данных (HID репортов). В нем содержится инфорамация о количестве пакетов которое поддерживает устройство. Каждый бит и каждый байт в пакете имеет свое назначение. После того как устройство подключается к компьютеру, дескриптор сообщает все свои параметры, в свое очередь операционная система компьютера поймет как следует общаться с таким устройством, к примеру будет знать какие биты ответсвенны за нажатие тех или иных кнопок джостика.
У нас будет «HID совместимое устройство» которое будет передавать разные данные определенного размера (это не мышь и не дждостик). В нашем примере дескриптор предаставляет собой некоторого рода набор произвольных чисел с комментариями. Полезная информация про дескрипторуUSnooBie’s USB HID Report Descriptor TutorialиHID Related Specifications.
Меняя дескриптор можно представиться конкретным HID устройством, к примеру клавиатурой или чем либо еще. Интересные примеры на эту тему:Маленькая USB пакостьиThe Haunted USB Cable!. Много интресных примеров находится на сайте V-USB.
Как происходит процесс передачи данных
Для простоты структура данных заполняется внтури этих функций, но так делать не обязательно, заполнить их можно в других участках кода, в этом случае их необходимо объявить как volatile.
Такой парамет как *data представляет собой указатель на буфер V-USB где происхоид чтение и запись данных которые имеют размер len. Такой буффер данных имеет максимальный размер в 1 байт типа uchar и данное значение равняется размеру нашего репорта. А размер нашей структуры имее рамер больше чем 1 байт, именно по этой причине процесс передачи данных происходит по частям. Для этого существуют переменные currentAddress и bytesRemaining в которых хранится информация про текущую передачу.
Получается что мы объявили указатель с именем uchar *buffer на определенное место в памяти где находится(хранится) наша структура. Передача осуществляется кусками uchar.
Программа для микроконтроллера
Далее нам необходимо откомпилировать программу и записать ее в микроконтроллер. Если все настроено и сделано правильно то после подключения микроконтроллера к USB, компьютер должен определить ваше устройстов как HID.
Написание программы для компьютера
Программы писали в среде C++ Builder 6, интерфейс программы создавался в визуальном редакторе. В форму добавил 3 чекбокса и две кнопки.
Предоставляется удобный и простой интерфейс для работы с HID. Полезая стать «общение с контроллером по USB». На настройку проекта и передачу данных ушло довольно много времени, пока не наткнулся на эту библиотеку.
В коде ничего сложного нет, есть функция connect() она необходима для подключения устройства, также обработчики событий для отправки данных и для принятия данных. Используя эти кнопочки можно теперь мигать светодиодами, включать и выключать нагрузки. Данные передаются при помощи структуры dataexchange_t, для микроконтроллера описана точно такая же структура.
Для того чтобы написанная нами прогрмма работа и на других компбютерах где не установлена программа Borland C++, нам нужно перейти настройки проекта и там выключить использование динамических библиотек. Для этого нужно выполнить следующее: Project>Options. Во вкладках Linker и Packages снять галочки напротив «Use dynamic RTL» и «Build with runtime packages.
ПРОГРАММАТОР AVR ЧЕРЕЗ USB
Недавно собрал первый программатор в своей жизни. Решил поделится своей поделкой с вами, уважаемые посетители сайта ELWO.RU, так как результат работы устройства порадовал. Программатор работает через USB – это будет удобно тем, у кого на компьютере отсутствуют порты RS-232 и LPT, либо по другой причине. Он собран на микроконтроллере at90usb162 и буфере 74HC245, можно заменить практически на любой другой, с поддержкой переключения выходов в третье состояние. Есть возможность переключения между 3.3 в и 5 в за счет стабилизатора на 3.3 в, его можно не устанавливать, но если будете прошивать контроллеры требующие питания 3.3 в, то его нужно установить. Печатную плату можно переделать под не обходимые размеры и компоненты.
При правильной сборке и исправных компонентах проблем с программатором быть не должно. Если же вы собираетесь прошивать контроллер для этого программатора прямо через USB при помощи утилиты FLIP, то скорее всего загрузчик прошитый в контроллер будет адекватно работать только на частоте 8 мгц. Для этого выкладываю две прошивки для кварца 16 мгц и для кварца 8 мгц (в архиве).
Теперь перейдем непосредственно к прошивке контроллера и установки драйвера. Весь процесс был проделан на операционной системе windows XP, пройдет ли успешно процесс прошивки и установки драйвера на windows 7 не знаю, так как у меня установленная XP, но вы можете проверить и сообщить на форуме о результате.
После того, как вы собрали программатор и проверили плату на наличие капель олова, обрывов дорожек и верности установки компонентов делаем следующее: подключите его к разъему USB система распознает его как AT90USB162 и запросит драйвер устройства, драйвер необходимо поместить в корень диска С например в Program Files после установки драйвера для AT90USB162 его необходимо прошить, прошивок две на 8 и 16 мгц. с каким кварцем запустился программатор на ту частоту и нужно брать прошивку, у меня на частоте 8 МГц устройство распознавалось как не известное, после установки кварца на 16 МГц устройство распозналось как AT90USB162 и мне удалось установить драйвер. Прошивать нужно через программу Atmel Flip, программу прилагаю. Порядок операций:
1.) Запускаем программу FLIP, Нажимаем на кнопку с изображением микросхемы
2.) В открывшемся окне выбираем тип микроконтроллера (AT90USB162), Нажимаем ОК.
3.) Жмём кнопку с изображением USB разъёма, В открывшемся списке выбираем USB
4.) Жмём на верхнее меню File выбираем в списке Load HEX File
5.) В открывшемся окне выбираем файл прошивки его желательно так же поместить в корень диска С.
6.) Убеждаемся, что галочки в левом поле окна программы выставлены как на картинке:
Если и это не помогло, припаяйте конденсатор 0.1 мкф между землей и 24 ногой контроллера. Программатор использую в программе AVR Studio 4.19 с дрогой версией программы может работать не корректно. Плату поместил в старую мышь, на фотографии отсутствует буфер.
Уверен, что кому-нибудь будет полезна эта информация. В архиве на форуме прошивка, драйвер, печатная плата в формате lay и принципиальная схема программатора. Схему собрал и проверил: serh7000
Проблемы с программаторами Atmel AVR и их решение
Нежданно-негаданно в новом 2016 году, как минимум, на двух компьютерах с Win10 и Avr Studio 5.1 одинаковым образом перестали работать avr-программаторы от слова вообще. Клон avrispmkII и самый настоящий jtagice3.
Выглядит это так: программаторы видны в списке, но сделать с ними что-то не выходит. Появляется окошко «Unable to connect to JTAGICE3», а в логе появляются несколько строк об ошибке, самой информативной из коих является одна:
Код ошибки 0x20000009 означает «No valid license». Имеется в виду, как я понял, атмеловская лицензия на драйвер Jungo. Лицензия эта в виде строки забита намертво в файле com_atmel_hil_usb.dll (найти её можно по строке Atmel_Norway). То ли срок у неё вышел (офигеть теперь), то ли драйвера все испортились из-за очередного обновления винды — неясно, но работать ничего не хочет.
Полная переустановка делу не помогает. Я так и не понял, как можно починить текущую студию или как быть с лицензией на драйвер.
Пришлось обновлять студию до 7.0.634, где, по слухам, проблем с драйвером Jungo уже нет.
Не сразу, не без лагов, но JTAGICE3 после обновления своей прошивки завёлся. А вот клон, который у меня очень древней версии 1.11, и которым очень удобно шить, нет.
Информация по исправлению функциональности программатора взята из обсуждений гитхаба. В файле (папка студии)\atbackend\codeCache\com_atmel_hil_usb.dll надо пропатчить один условный переход:
— для AS 6.2: изменить байт 0x74 на 0xEB по смещению 0x35F11;
— для AS 7.0: изменить байт 0x74 на 0xEB по смещению 0x2F632;
— для AS 7.0.634: изменить байты 0x0F 0x84 на 0x90 0xE9 по смещению 0x2F74C.
Говорят, там есть какая-то проблема со сбросом частоты на стандартные 125кГц, но пока не заметил.
UPD: В версии студии 7.0.790 патчить файл не пришлось, всё заработало само.
Это исправление позволит студии работать с программатором, невзирая на его неоригинальность. Но если программатор выдаёт версию менее, чем 1.18, то студия не даст работать, требуя обновления.
Есть два варианта решения:
1. Прогрейдить программатор прошивкой с версией 1.18 или выше (если есть такая возможность);
2. Убрать файлик avrispmkii_fw.zip из папки (папка студии)\tools\AVRISPmkII или его переименовать. Требование об обновлении исчезнет.
Ещё одна засада, связанная с версией ПО, поджидает пользователей консольного интерфейса atprogram.exe:
Может, решение не идеальное, но мало ли кому срочно надо что-то прошить, а тут такие пироги.
Интересно, кого-нибудь ещё случилась такая оказия в последнее время?
UPD от 10.05.2016:
Вчера срочно потребовалось прошить пару десятков авр приборов, и вдруг выяснилось, что атмел студия сдохла. Выдавала какие-то ошибки типа
Пакет «ErrorListPackage» не был правильно загружен
(с десяток аналогичных). Помогла переустановка студии, но вот программаторы отказались работать (как минимум, клон авриспмк2). Все вышеперечисленные действия не помогли. В консоли он выдавал что-то вроде TCF Error code: 1, в студии при попытке подключиться к контроллеру, появлялась надпись у программатора «Disconnected». Что это было — непонятно.
Проблема решилась с помощью программы Zadig, драйвер с Jungo переставил на LibUsb 1.2.6.0, оказывается, студия нынче и так умеет. Надеюсь, хоть с этим драйвером проблем не будет.
Программаторы работают и из студии (потребовалось только перезапустить студию), и из консоли.
UPD от 14.04.2017:
Слетела неожиданно Visual Studio 2015 и Atmel Studio 7.0 всё с той же ошибкой насчёт «ErrorListPackage» и кучей подобных после установки обновлений. Переставил обе, при этом пришлось почистить все папки от старой студии:
AppData\Roaming\Microsoft\AppEnv\14.0
AppData\Roaming\Microsoft\VisualStudio\14.0
AppData\Roaming\Atmel\AtmelStudio\7.0
AppData\Local\Atmel\AtmelStudio\7.0
AppData\Local\Microsoft\VisualStudio\14.0
ProgramData\Atmel\AtmelStudio\7.0
ProgramData\Microsoft\VisualStudio\14.0
Program Files (x86)\Microsoft Visual Studio 14.0
После переустановки всё завелось (студия стала версией пожирнее и тоже с паками, как кейл 5: 7.0.1417), но клон перестал снова работать, уже с новой ошибкой:
Как обычно, переименовал файл avrispmkii_fw.zip (см. выше), хотя есть вариант отключить проверку версии ПО (в окне программирования у поля с напряжением есть кнопка настроек):
И надо ещё с помощью zadig сменить драйвер с теперь уже WinUSB (который тоже нифига не работает с клоном) на LibUsb 1.2.6.0. И всё снова заработает, как и должно.
UPD от 19.04.2017
Сегодня столкнулся с очередной странной проблемой: atprogram видела два одинаковых программатора, хотя включен был только один
Перетыкание программатора ничего не меняет. Помогло удаление устройства из диспетчера устройств и перетыкание (он поставил те же драйвера на libusb, но стал видеться только один программатор, как и надо).