Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: EVK1100 подключение по USB
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > AVR32
Зайцев Иван
При первом подключение EVK1100 к компу, винда начинает искать дрова но не находит.
В диспетчере устройств видится ка запоминаюшее устройство для USB[u].
Кто- нибуть сталкивался с подобным ?
Прошу совета
Принтскрин прилагаю
Нажмите для просмотра прикрепленного файла
gormih
Цитата(Зайцев Иван @ Oct 15 2008, 11:20) *
При первом подключение EVK1100 к компу, винда начинает искать дрова но не находит.
В диспетчере устройств видится ка запоминаюшее устройство для USB[u].
Кто- нибуть сталкивался с подобным ?
Прошу совета
Принтскрин прилагаю
Нажмите для просмотра прикрепленного файла

Не забывайте, что на той стороне у Вас Linux. Возможно, там не совсем корректно собран драйвер mass storage.

Цитата(gormih @ Dec 29 2008, 17:41) *
Не забывайте, что на той стороне у Вас Linux. Возможно, там не совсем корректно собран драйвер mass storage. Плюс к тому - на флэшке файловая система ext2 , это тоже может отложиться на определяемости (хотя, конечно, вряд ли)
Зайцев Иван
Давно не захаживал сюда...
Проблему решил.
Дело в том в у меня первый вариант в котором не прошит загрузчик.
После его загрузки и установки FLIP все дрова ставяться нормально.
Тему можно закрыть.

А линукс стоит на NGW100( сней кстатит проблем нет) , а я указал что плата EVK1100
altlogic
Столкнулся с подобной проблемой. Драйвер ФЛИП не устанавливается. Плата очевидно старая, документация аж 2007 года. Как вы установили что на плате нет загрузчика? Какими средствами вы прошивали загрузчик и где его брали?
Зайцев Иван
Давайте по порядку .
Загрузчик ч снес когда баловался с платой "Chip Erace"
Поставив последнюю AVR32 Studio увидел новую опцию JTAGICE mkII - "Program Bootloader"
После перезапуска контролера и поключения его по усби видна видит новое устройство.
Дрова указать папку где установлен FLIp
altlogic
Последовательность моих действий была такова:
Установил avr32-gnu-toolchain-2.1.4
Установил AVRStudio32 2.1.0
Установил FLIP 3.2.2
Подключил EVK1100 кабелем USB к ПК

В результате - картина описаная вами в первом посте. Видимо в первых версиях чипа UC3 не прошит загрузчик. И по всей видимости у меня именно этот чип, так как в прилагаемом комплекте документации на стенд не было описания USB DFU.
Зайцев Иван
JTAGICE mkII имеется?
Если да то востановишь все
altlogic
Цитата(Зайцев Иван @ Jan 22 2009, 13:26) *
JTAGICE mkII имеется?
Если да то востановишь все

Имеется только дракон. В последней студии он поддерживается. Сможет ли он прошить загрузчик - вопрос. У меги он шил только 32 кб. А тут ещё какое-то конфигурационное слово в конце памяти. А всё-таки есть способ выяснения наличия загрузчика в контроллере?
altlogic
При попытке записать драконом из авр-студии загрузчик(там есть такое меню оказывавется) произошло следущее:
содержимое чипа было стёрто
а вот записать ничего не удаётся - No USB programmers found
Как так?...
Зайцев Иван
260394959 стучи в аську - постараюсь помочь
altlogic
К сожалению у меня аська не работает. Первый проект я уже прошил драконом. Вывод приветствия через COM-порт. Загрузчик не прошивается, так как файл который распространяет атмел имеет формат hex, а Dragon шьёт только elf и bin. Исходных текстов загрузчика не нашёл, пришлось выдрать их из хелпа к студии. Сейчас пробую их самостоятельно скомпилировать, надеюсь пока выдирал исходники с html-страничек, где каждая строка пронумерована ничего лишнего не затёр.
Зайцев Иван
AVR32Studio выдает elf файл.
А для конвертации hex в bin есть утилитка hex2bin
altlogic
Цитата(Зайцев Иван @ Jan 23 2009, 13:31) *
А для конвертации hex в bin есть утилитка hex2bin

Спасибо, я об этом даже как-то и не задумывался.
Проблему решил с третьего захода.
Первый - был очень сложным и я понимал, что должен быть путь легче. Я выдрал исходники из доксиген документации на USB DFU... Остановился...
Второй заход. Нашёл в AVR32 Studio визард, который предложил создать проект USB DFU. Создал, "построил" проект, а прошить всё равно не смог.
Третий шаг был последним. Взял файлы прошивки AVR32Studio20-BachISP-V10 вместе с батниками. Причина того, что дракон не шил по батникам была банальна - он не успевал обработать команды. Я добавил паузы после выполнения каждой команды прошивки, и как только дракон моргал светодиодами о том, что он готов переваривать следующую команду давал ему её.

Таким образом при помощи AVR DRAGON я прошил AVR32UC3A0512!

Теперь осталось разобраться с этим USB DFU. Как только я прошиваю при его помощи контроллер, сам бутлоудер тут же слетает...
Зайцев Иван
Задай в опция компилятора адреса 0х80002000
1. В Меню File>Import выбираешь General>File system, давишь Next
2. В строке From Directory добавляй путь \SoftwareFramework\SERVICES\USB\CLASS\DFU\EXAMPLES\ISP
3. выделяешь файлы conf_isp.h и BOOT\trampoline.S
4. Tool setting -> AVR32/GNU Assembler avr32-as замени ша avr32-gcc
5. В поле Assembler Flags добавь -x assembler-witch-cpp-c
6. В Include Patch - ..\UTILS , ..\UTILS\PREPROCESSOR
7. переходи в AVR32/GNU C Linker , выбираешь miscellaneous и вс троке Linker Flags пишешь -Wl,-e,_trampoline

И вуаля
altlogic
Видимо версия AVR Studio у меня другая(v. 2.1.0 Build id: R200812171028). Запнулся на некоторых пунктах. Поэтому бы хотел попросить вас прокоментировать некоторые пункты, их назначение.

0) Где задавать адрес 0х80002000? Я думал это значение смещения при прошивке кристалла.
6) UTILS надо брать из AVR32-SoftwareFramework-AT32UC3A-1.4.0\AT32UC3A-1.4.0\UTILS?
7) у меня там помимо указанных вами флагов ещё какие-то были. Я их вытерsmile.gif

Естественно после прошивки с такими настройками через USB DFU вуаля... и из диспетчера оборудования пропадает UC3:)))
bigarmer
Maybe the board did not program any usb firmware.
Maximm
Цитата(Зайцев Иван @ Jan 23 2009, 10:50) *
Задай в опция компилятора адреса 0х80002000
1. В Меню File>Import выбираешь General>File system, давишь Next
2. В строке From Directory добавляй путь \SoftwareFramework\SERVICES\USB\CLASS\DFU\EXAMPLES\ISP
3. выделяешь файлы conf_isp.h и BOOT\trampoline.S
4. Tool setting -> AVR32/GNU Assembler avr32-as замени ша avr32-gcc
5. В поле Assembler Flags добавь -x assembler-witch-cpp-c
6. В Include Patch - ..\UTILS , ..\UTILS\PREPROCESSOR
7. переходи в AVR32/GNU C Linker , выбираешь miscellaneous и вс троке Linker Flags пишешь -Wl,-e,_trampoline


Сделал все также, прошивка не затирает бутлоадер, только не понял где нужно задавать в опциях компилятора адрес 0x80002000???
теперь не могу прошить контроллер через Dragon или ICE mkII - пишет, что сегменты флеш заблокированы, что и логично, теперь шьется только через UDF.

Как можно теперь заставить шить флеш через JTAG, но чтобы бутлоадер остался? Может как раз загвоздка в адресе?
Dopler
Цитата(Maximm @ Mar 31 2011, 15:56) *
Сделал все также, прошивка не затирает бутлоадер, только не понял где нужно задавать в опциях компилятора адрес 0x80002000???
теперь не могу прошить контроллер через Dragon или ICE mkII - пишет, что сегменты флеш заблокированы, что и логично, теперь шьется только через UDF.

Как можно теперь заставить шить флеш через JTAG, но чтобы бутлоадер остался? Может как раз загвоздка в адресе?


В памяти программу размещает на компилятор, а компоновщик. Соответственно и адреса, куда прошивается и откуда выполняется программа задаются в скрипте компоновщика (файле .lds). При программировании через JTAG стираются только те страницы, в которые реально загружается программа. Т.е. если программа написана корректно и лежит в нужных адресах, то она будет загружаться и загрузчик останется целым.

У вас ошибка возникает скорее всего из-за того, что в программу включен файл перехода к приложению trampoline.x, во всяком случае он включен во всех примерах от Atmel. Именно он пытается записаться на место загрузчика. Если через UDF программа загружается и нормально работает, то на сообщение от JTAG о заблокированном сегменте можно наплевать, так как в этом случае он не перешивает только защищенную область загрузчика, а сама программа в незащищенную область должна загружается корректно.
Maximm
Цитата(Dopler @ Apr 1 2011, 15:06) *
В памяти программу размещает на компилятор, а компоновщик. Соответственно и адреса, куда прошивается и откуда выполняется программа задаются в скрипте компоновщика (файле .lds). При программировании через JTAG стираются только те страницы, в которые реально загружается программа. Т.е. если программа написана корректно и лежит в нужных адресах, то она будет загружаться и загрузчик останется целым.

У вас ошибка возникает скорее всего из-за того, что в программу включен файл перехода к приложению trampoline.x, во всяком случае он включен во всех примерах от Atmel. Именно он пытается записаться на место загрузчика. Если через UDF программа загружается и нормально работает, то на сообщение от JTAG о заблокированном сегменте можно наплевать, так как в этом случае он не перешивает только защищенную область загрузчика, а сама программа в незащищенную область должна загружается корректно.


Да я вот сам уже выкинул файл перехода trampoline.x и подправил скрипт компоновщика, всё конечно же работает и шьется без предупреждений, и такой способ гораздо проще предлагаемого Atmel, но зачем тогда весь этот геморрой бы сделан trampoline в своих исходниках?

По поводу того, что можно не обращать внимание на предупреждения от прошивальщика по JTAG, то я тоже так сначала подумал, но программ залитая через JTAG работает не корректно, как-то кусками....вот этот момент мне не понятен....

А предупреждение возникает при записи как раз в ячейку 0x80000000 команды на прыжок на адрес 0x80002000, но сегмент первый то заблокирован как раз, а вот почему дальше не пишется корректно не понятно....
Dopler
Цитата(Maximm @ Apr 1 2011, 16:54) *
Да я вот сам уже выкинул файл перехода trampoline.x и подправил скрипт компоновщика, всё конечно же работает и шьется без предупреждений, и такой способ гораздо проще предлагаемого Atmel, но зачем тогда весь этот геморрой бы сделан trampoline в своих исходниках?

По поводу того, что можно не обращать внимание на предупреждения от прошивальщика по JTAG, то я тоже так сначала подумал, но программ залитая через JTAG работает не корректно, как-то кусками....вот этот момент мне не понятен....

А предупреждение возникает при записи как раз в ячейку 0x80000000 команды на прыжок на адрес 0x80002000, но сегмент первый то заблокирован как раз, а вот почему дальше не пишется корректно не понятно....

Думаю, что Atmel сделал так для универсальности - чтобы сохранить возможность загрузки проекта и через загрузчик и через JTAG (который стоит дорого). При этом, если в проект включен trampoline.x, то проект будет работать корректно и в том кристалле, где загрузчик стерт.

По поводу прошивки через JTAG, ошибка должна выскакивать только на адрес 0x80000000, все остальное должно прошиваться нормально и работать корректно, во всяком случае у меня писалось. Зачем вообще вам нужен этот загрузчик? Сотрите его, при необходимости он легко восстанавливается.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.