Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите Разобраться С Usb Bootloader_Ом
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Sev80
Здравствуйте я собрал устройство на ATmega32 и хотел использовать USB бутлоадер с USB интерфейсом реализованым програмно.. За основу взял вот этот проект.
Это схемка с моими изменениями

Вроде как всё понятно и доступно... но не тут то было... собрал, отредактировал под мою конфигурацию ног, откомпилировал и прошил...
Результат - устройство не определяется

я что только не пробовал... и фьюзы по разному перешивал и лок биты... всё равно... устройство вроде работает (загорается светодиод) а комп говорит что не удаётся определить устройство (PID 000 и VID 000 )


Кто сталкивался с этим бутлоадером подскажите что не так?

заранее сапсибо тем кто откликнется...
hd44780
Насколько я понимаю USB там ObDev-овский..
Если так, то в схеме ошибки (я заметил 2, есть ли ещё - не знаю):
1. USB-шные ноги D+/D- обязательно цеплять на крайние ноги порта. Например, D- на PD0, D+ на PD1. Это связано с особенностями программной части (оптимизация каких-то сдвигов регистров, что-ли).
2. D+ надо сажать на прерывание. Везде используют INT0, работае ли с другим - не знаю. Где-то читал, что это вроде необязательно, но настоятельно рекомендуется.

И вообще, сделайте классическую схему (заменив ТОЛЬКО проц и кварц), убедитесь в её работоспособности, а потом уж уродуйте её.
Светодиод Ваш показывает лишь, что проц стартует и всё. А раз не определяется - Вы нарушили что-то в работе эмулятора USB части. Поэтому и не определяется.

PS. Как вы рисунок вставляли, в экран не влезает ...

Цитата(Sev80 @ Mar 29 2012, 12:41) *
За основу взял вот этот проект.


Схемы там чего-то не нашёл wacko.gif .
Sev80


ноги подключены как они рекомендовали... D+ подключен к INT0.
Вы собирали подобное усторйство?


P.S. про рисунок - У меня разрешение экрана 1440Х900 поетому наверное у меня всё влазиет..

Это класическая схема таких устройств ( ATmega с програмным USB).. Если по сылкам полазить с той страницы то найдётся и схема sm.gif
hd44780
Я собирал, как тут - http://www.obdev.at/products/vusb/powerswitch.html

Но с отличиями:
1. Проц - Mega8, 12MHz
2. Питание проца как у вас - от +5в, USB и стабилитроны.
3. Подключение D+, D- 100% как у них.

Железяка завелась и опозналась с полпинка, правда бутлоадера у меня нету, обычное устройство.

Схема эта - http://microsin.ru/images/stories/hard/avr...-mega16-sch.jpg ?
Не могли сами ссылку кинуть .... Кто-то где-то здесь на форуме писал, что так делать нельзя. Но я лично не экспериментировал.

PS. У меня разрешение 1024х768. Какой монитор на работе дали, такой и есть sm.gif
Sev80
попробую на другие ноги подключиться.. но что то я сомневаюсь..

может из за кварца 16Мгц
hd44780
Цитата(Sev80 @ Mar 29 2012, 14:14) *
попробую на другие ноги подключиться.. но что то я сомневаюсь..

Попробуйте. И для начала без бутлоадера, а как обычную прошивку.
Если пойдёт, будете лоадер делать....

Цитата(Sev80 @ Mar 29 2012, 14:14) *
может из за кварца 16Мгц


Где-то читал, что можно любые, на 12 и больше. Я делал только с 12-ю.
Sev80
Там в проекте есть модули для разных частот контролера... и в теле программы я даже нашёл как происходит выбор нужного модуля...
но это всё в пустую...
hd44780
Проверьте ещё с кварцем на 12.
Бог её знает, эту эмуляцию...
Sev80
Ок.. как попробую отпишусь
hd44780
удачи ...
Sev80
Добрый Час, уважаемые форумчане... извините за задержку.. просто не было времени заняться этим девайсом..
Но руки всётаки дошли и вот кракий отчёт о том что получилось...

я используя прошивку из проекта bootloadHID.2010-07-29 под 16 Мгц а ноги процесора скомутировал как указано в проекте- ничего не завелось..
поменял кварц - поставил 12 Мгц.. перекомпилировал проект, зашил.. и опять всё не то... не работает...

Потом взял за основу проект Automator.2007-03-29 с того же сайта, вернул схему в ночальный вид (схема в начале топика) за исключением кварца... кварц оставил 12Мгц... сконфигурировал проект под мегу32 и нужные мне ноги для USB. скомпилировал, зашил и ЧУДО sm.gif устройство стало определяться как HID-совместимое...

я ещё глубоко не разбирался но на первый взгляд проекты которые были взяты за основу отличаются.. попробую разобраться чем именно.. может придётся написать бутлоадер на основе Automator.2007-03-29 выкинув всё не нужное и написав требуемый код... конечно чуствую нужно будет потрудиться...

вот отчитался вроде sm.gif
если у кого какие мысли по этому поводу или наработанная практика - буду рад вашей помоши...
arttab
не надежно это. с подобной схемотехникой пробовал, - на разных материнках результат такой: где на некоторых определяется, на других нет.
hd44780
arttab, так это общий недостаток схем с эмуляцией USB. Хоть бутлоадер делай, хоть что-то ещё.

Хотите надёжно - ставьте "железный" USB-контроллер. Либо МК с железным USB.
Marto
Цитата(arttab @ Apr 9 2012, 06:14) *
не надежно это. с подобной схемотехникой пробовал, - на разных материнках результат такой: где на некоторых определяется, на других нет.


Подтверждаю. Не хотелось бы быть одним из тех, кто убеждает ТС в том, что ему это и не нужно во все, НО
у меня было много проблем с эмуляцией USB (я даже не говорю о бутлоадере) - на работе 1 из 10 компов определял устройство; дома - 4 из 5.
и чаще всего проблема с конкретным компом (неизвестное устройство) заключалась в номиналах R1 и R2
Sev80
Дело в том что USB интерфейс мне нужен на период разработки устройства.. из-за бутлоадера, т.к. придётся много раз перешивать его.. чтобы не тыкать каждый раз в LPT... да и на радоте у меня нет Компа с LPT.

Думал сейчас быстренько решу вопрос с бутлоадером и спокойно буду писать прошивку основного усторйства... а не тут то было... ЗАТЫК... 05.gif
GDI
Так может просто завести один из множества USB программаторов? Тут их несколько есть и от Prottoss-a, и от Petka, и AVReal поддерживает адаптер на FTDI.
hd44780
Цитата(Sev80 @ Apr 10 2012, 11:38) *
на радоте у меня нет Компа с LPT.


COM-порт есть? Если да, берите PonyProg.

Я сам уже с 2008 года думаю, какой программатор на USB делать biggrin.gif .
Вариант от Protoss-а - тот же софтовый эмулятор со всеми вытекающими.
У Петьки FTDI - это уже получше, но FTDI - это SMD, а с ними у меня сложности sad.gif . И чего они не сделают её в DIP?

А пока думаю, шью процы PonyProg-oм на LPT, заходя на второй комп через Terminal Server...
Sev80
мне интересен вариант с бутлоадером
Marto
хм... FT232? UARTBOOT?
CP2102? UARTBOOT?
плюсом еще один компорт в системе будетsm.gif
vladisslav
Я использовал v-usb для того, чтобы сделать себе USB-программатор для всяких атмег, spi-флешек и тому подобного.
Необходимость возникла так как на новом компе нет LPT, да и скорость через LPT была весьма печальная.
Для оперативного обновления прошивки программатора использую avrusbboot немного доработанный для уменьшения размера кода и поддержки чтения FLASH и записи/чтения EEPROM.
В моем случае кварц 16MHz, питание 3.3v через 1117, вход в загрузчик по сбросу контроллера кнопкой RESET, подключена к соответствующей ноге.
Загрузчик работает идеально, программатор на работе на компе с чипсетом nVidia криво обрабатывает control in транзакции большой длины. Если ограничить 32 байтами - работает нормально. На других компьютерах с процессорами от Intel все в порядке.
Модифицированный avrusbboot во вложении.
Должно заработать без проблем и на 32 атмеге, только может потребоваться другой скрипт линковки (нужен для обрезания таблицы прерываний, чтобы уместиться в 2Кб).
Единственное, что не получилось сделать - обновление загрузчика по USB. Предполагал писать его из основной программы - не вышло sad.gif
Sev80
Здравствуйте Уважаемые форумчане!!!
Извините за длительное молчание... не было результата и не было смысла чтото писать...

Но вот я добился того что хотел от бутлоадера.. расскажу что я сделал..
И так sm.gif :

Я долго мучался с "bootloadHID". менял комуникацию ног. поменял кварц с 16Мгц на 12Мгц, с кодом прошивки колдовал sm.gif всё тщетно sm.gif.
Потом обратил Внимание что встроеный програматор в CodeVisionAVR V2.03.4 прошивку бутлоадера Меги32 начинает писать с адреса 3С00 вместо 7000 прописаных в Makfile. стал прошивать PonyProg-ом - тут с адресами всё нормально, но устройство не работает.

Потом я нашёл проект который находится во вложении... скомпилировал его под ту конфикурацию ног что на схеме и кварц 12Мгц прошил ПониПрогом и всё заработало...

Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.