Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вопросы по SAM-BA и SAM-PROG
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
sgrig
Имеется:
1) отлаженная плата на SAM7S64 + плата из IAR KIT;
2) программа размером 45К, отлаженная с помощью J-Link и IAR 4.40a.

Пытаюсь залить программу через USB, для этого:
1) Компилю программу в raw-binary и результату присваиваю расширение bin.
2) Выполняю танцы с бубном (ERASE, TST на 10 секунд и пр.). Судя по сигналу на кварце,
загрузчик успешно переписывается во FLASH.
3) При первом подключение обтанцованной платы инсталлируется драйвер atm6124.sys.
4) Запускаю SAM-BA, затем коннект через USB. На попытку записи файла пишет:
«-E- Can't send data, error in connection».
5) Запускаю SAM-PROG. Если это сделать с воткнутым в плату USB-кабелем, то дает
Application error. Если сначала запустить программу, а потом воткнуть кабель, то все
нормально, кнопка «Write» становится активной. При нажатии на нее программа повисает
в глушняк.
6) После такого подвиса на этом разъеме USB проинициализированная заново плата уже не
обнаруживается. Перехожу на следующий - история повторяется, и так, пока не кончатся
не загаженные разъемы USB.

Вопрос:
Что творится с USB и как с этим бороться? Кому-нибудь удалось воспользоваться
SAM-PROGом?
DASM
Пользую исключительно SAM-Prog. Тчк
Edmundo
Цитата(sgrig @ Aug 8 2006, 16:07) *
Имеется:
1) отлаженная плата на SAM7S64 + плата из IAR KIT;
2) программа размером 45К, отлаженная с помощью J-Link и IAR 4.40a.

Пытаюсь залить программу через USB, для этого:
1) Компилю программу в raw-binary и результату присваиваю расширение bin.
2) Выполняю танцы с бубном (ERASE, TST на 10 секунд и пр.). Судя по сигналу на кварце,
загрузчик успешно переписывается во FLASH.
3) При первом подключение обтанцованной платы инсталлируется драйвер atm6124.sys.
4) Запускаю SAM-BA, затем коннект через USB. На попытку записи файла пишет:
«-E- Can't send data, error in connection».
5) Запускаю SAM-PROG. Если это сделать с воткнутым в плату USB-кабелем, то дает
Application error. Если сначала запустить программу, а потом воткнуть кабель, то все
нормально, кнопка «Write» становится активной. При нажатии на нее программа повисает
в глушняк.
6) После такого подвиса на этом разъеме USB проинициализированная заново плата уже не
обнаруживается. Перехожу на следующий - история повторяется, и так, пока не кончатся
не загаженные разъемы USB.

Вопрос:
Что творится с USB и как с этим бороться? Кому-нибудь удалось воспользоваться
SAM-PROGом?

У меня SAM-PROG тоже добросовестно вылетает, если девайс подключен до запуска проги. Проверял на 4-х машинах. Но если порядок соблюсти -- шьет нормально. Однако SAM-BA нравится больше, так как после SAM-PROG при восстановлении загрузчика девайс по новой требует установить дрова (atm6124.sys), почему-то.
Может у вас дрова как-то кривовато встали? Надо пробовать на другой машине, имхо.
aaarrr
А ERASE точно делали? Несколько раз была такая ситуация, что загрузчик не работает, и по TST не восстанавливается. Помогает только ERASE+TST.
Master
По идее надо бы создать новую тему с названием "SAM-PROG: танцы с бубном".

Господа из Atmel вероятно решили не афишировать выпуск новых версий SAM-PROG. Иначе чем объяснить нахождение версии 2.3 исключительно в пакете AT91-ISP v1.7 ?..
Тем не менее, проблемы с подключением (и дальнейшим программированием) в новой версии не исчезли.
Удалось обнаружить ещё одину багофичу: для активизации кнопки Write нужно два раза отметить пункт Auto-Mode.
Решил вот сделать описание по программированию прибора клиентом и столкнулся с проблемой, собственно, безошибочного запуска программы и старта процесса программирования в SAM-PROG.
Для этого поставил виртуальную машину XPSP2 (VMwareWSv5.5.2). Однако после однократного подключения прибора и установки дров, SAM-PROG вообще отказывается запускаться: выскакивают поочерёдно известные многим окна: Нажмите для просмотра прикрепленного файла и далее Нажмите для просмотра прикрепленного файла
Причём после перезагрузки системы, SAM-PROG продолжает вести себя аналогично.
Большая вероятность того, что у клиента ситуация в точности повторится.

ЧТО ДЕЛАТЬ?? КАК ЗАСТАВИТЬ ЕЁ ЗАРАБОТАТЬ??

Может у кого исходники SAM-PROG есть?

P.S. Кстати, если кто пожелает воспользоваться SAM-PROG v2.3, то она в пристыкованном архиве Нажмите для просмотра прикрепленного файла
Диm
у меня стоит сам-прог версии 2,0 и все работает на ура,кстати у меня тока он шьет сам7х256
megachip
Цитата(Edmundo @ Aug 9 2006, 08:34) *
Однако SAM-BA нравится больше, так как после SAM-PROG при восстановлении загрузчика девайс по новой требует установить дрова (atm6124.sys), почему-то.

Такая же ситуация но что SAM-BA что SAM-PROG требует все время дрова, поэтому шью через COM.
ЗЫ:Кстате должен ли SAM-PROG поддерживать загрузку через COM?
Master
Цитата(Диm @ Nov 13 2006, 15:35) *
у меня стоит сам-прог версии 2,0 и все работает на ура,кстати у меня тока он шьет сам7х256

Не уж-то ни разу не вис?? Как насчёт поделиться? И как поведёт себя v2.3?

Цитата(megachip @ Nov 13 2006, 17:35) *
ЗЫ:Кстате должен ли SAM-PROG поддерживать загрузку через COM?
Я к сожалению не в курсе долгов программы SAM-PROG, но берусь утверждать, что прога SAM-BA нужна для прошивки через COM-порт, а SAM-PROG - для прошивки через USB. Хотя в последних версиях этих утилит замечена попытка реализовать прошивку через JTAG.
vmp
Цитата(megachip @ Nov 13 2006, 16:35) *
Такая же ситуация но что SAM-BA что SAM-PROG требует все время дрова, поэтому шью через COM.

Аналогично. Только я пользуюсь собственным софтом.
У себя в ПО реализовал минимальное подмножество команд самбы (записать слово, запустить программу).
Дальше в писюковой программе открываю ком-порт, устанавливаю связь с устройством и прописываю в ОЗУ кристалла загрузчик (через это минимальное подмножество) и запускаю его. Дальше уже общаюсь с загрузчиком по собственному протоколу.
Достоинства - все под контролем и ничего лишнего. Шьется очень быстро, всего несколько секунд.
Одновременно писюковая программа занимается всякой ерундой типа контрольных сумм, серийных номеров, версий зашивки, протоколом работы.
Master
Цитата(vmp @ Nov 13 2006, 18:47) *
Аналогично. Только я пользуюсь собственным софтом.
У себя в ПО реализовал минимальное подмножество команд самбы (записать слово, запустить программу).
Дальше в писюковой программе открываю ком-порт...
Достоинства - все под контролем и ничего лишнего...

Недостатки - собственно com-port, так как есть не у всех (в том числе клиентов). В отличие от USB.
vmp
Цитата(Master @ Nov 13 2006, 18:07) *
Недостатки - собственно com-port, так как есть не у всех (в том числе клиентов). В отличие от USB.


У меня в устройстве нет USB. Эти выводы кристалла не задействованы. И частота тактового генератора другая, так что запустить USB просто не получится.
А шить можно и через переходник USB-COM.
Вдобавок _этот_ канал у меня предназначен не для обновления прошивки пользователем, а для начальной прошивки в процессе производства. Для обновления используется другой канал обмена.

Я не считаю свое решение единственно верным и подходящим на все случаи жизни. Просто как один из вариантов.
Master
Цитата(vmp @ Nov 13 2006, 19:21) *
Цитата(Master @ Nov 13 2006, 18:07) *
Недостатки - собственно com-port, так как есть не у всех (в том числе клиентов). В отличие от USB.
У меня в устройстве нет USB. Эти выводы кристалла не задействованы. И частота тактового генератора другая, так что запустить USB просто не получится.
Для начала предлагаю Вам прочесть (ещё раз или в первый? biggrin.gif ) вопрос в первом сообщении, в самом конце.
Цитата
А шить можно и через переходник USB-COM.
Который нужно ещё купить.
Цитата
Вдобавок _этот_ канал у меня предназначен не для обновления прошивки пользователем, а для начальной прошивки в процессе производства. Для обновления используется другой канал обмена.
_этот_ - это какой? USB или DBGU?...
Цитата
Я не считаю свое решение единственно верным и подходящим на все случаи жизни. Просто как один из вариантов.
Если Вы описываете некое решение, то лично мне интересна по-возможности объективная оценка данного решения, а для объективной оценки освещение достоинств недостаточно, необходимо также указать недостатки. Или Ваш вариант идеален? wink.gif Полагаю, только для Вас. И предлагаю закончить дискуссию не по теме.

Возвращаясь к теме обсуждения, возможно кто-либо пользуется "заменой" SAM-PROG. Не такой глючной, как последний. Поделитесь, если не жалко, исходниками проекта.
vmp
Цитата(Master @ Nov 13 2006, 22:08) *
Возвращаясь к теме обсуждения, возможно кто-либо пользуется "заменой" SAM-PROG. Не такой глючной, как последний. Поделитесь, если не жалко, исходниками проекта.


А исходники самой Самбы подойдут?
Их можно взять на этом фтп:
ftp://at91dist:distrib@81.80.104.162/
в каталоге SAM-BAGUI. Исходники той части, что лежит в чипе - SAM-BABoot.

Ссылка на этот фтп была взята с www.at91.com:
http://www.at91.com/www/phpBB2_mirror/viewtopic.php4?t=2228
Master
Цитата(vmp @ Nov 14 2006, 16:31) *
А исходники самой Самбы подойдут?
Их можно взять на этом фтп:
ftp://at91dist:distrib@81.80.104.162/
в каталоге SAM-BAGUI. Исходники той части, что лежит в чипе - SAM-BABoot.

Ссылка на этот фтп была взята с www.at91.com:
http://www.at91.com/www/phpBB2_mirror/viewtopic.php4?t=2228

Да, полезный форум у буржуев. Я как раз с этого ftp-ника брал пакет AT91-ISP v1.7.

В общем, решение найдено!
Помогло более детальное изуение документа AT91 In-system Programmer (ISP) User Guide. Раздел 1.3.2.
Короче говоря, для корректного пользования утилит пакета AT91-ISP (SAM-BA, SAM-PROG ) нужно установить и зарегистрировать библиотеку AT91Boot_DLL.dll.
Пользуюсь следующим батником:
Код
@copy AT91Boot_DLL.dll %windir%\System32
@regsvr32 /s /c %windir%\System32\AT91Boot_DLL.dll

Здесь он натурально: Нажмите для просмотра прикрепленного файла
На всякий случай выкладываю саму dll-ину: Нажмите для просмотра прикрепленного файла
После регистрации библиотеки SAM-PROG стал работать стабильнее. Иногда всё же вываливается по ошибке, но по крайней мере стартует без проблем и шьёт по USB - выполняет свою основную задачу.

Удачи в програмировании!
Waso
Вопрос - как сделать так чтобы клиент мог сам сменить прошивку через УСБ, не залазя внутрь и не замыкая ERASE? Подозреваю что самому надо писать лодыря. А нельзяли какнибудь применить встроенный??

Master, огромное спасибо! Наконецто sam-prog работает как полагается. Мне наконецто удалось запустить ARM без иаровских костылей. :D

Кстати, чтоб винда не ставила каждый раз при подключении шнура драйвер, нужно отключить в винде восстановление системы и автоматическое подключение к узлу windows-update.
alexander55
Цитата(Waso @ Sep 12 2007, 13:32) *
Вопрос - как сделать так чтобы клиент мог сам сменить прошивку через УСБ, не залазя внутрь и не замыкая ERASE?

Никак. Загрузчик уже снесен.
Master
Цитата(alexander55 @ Sep 12 2007, 14:12) *
Никак. Загрузчик уже снесен.

А на самом деле - можно! yeah.gif И буржуины этот момент просекли пару лет назад. К сожалению, точной ссылки не дам - давно SAM7 плотно не пользую, но помню, что метода для SAM7S64 работала, а для других камней давались адреса загрузчика и старта. Заключается она в том, что загрузчик лежит в общем адресном пространстве, и его надо переписать в ОЗУ и запустить.
Удачи в поиске!
alexander55
Цитата(Master @ Sep 13 2007, 13:56) *
А на самом деле - можно! yeah.gif И буржуины этот момент просекли пару лет назад. К сожалению, точной ссылки не дам - давно SAM7 плотно не пользую, но помню, что метода для SAM7S64 работала, а для других камней давались адреса загрузчика и старта. Заключается она в том, что загрузчик лежит в общем адресном пространстве, и его надо переписать в ОЗУ и запустить.
Удачи в поиске!

Это относится к отладке в ОЗУ.
klop
Цитата(vmp @ Nov 14 2006, 15:31) *
А исходники самой Самбы подойдут?
Их можно взять на этом фтп:
ftp://at91dist:distrib@81.80.104.162/
в каталоге SAM-BAGUI. Исходники той части, что лежит в чипе - SAM-BABoot.

Ссылка на этот фтп была взята с www.at91.com:
http://www.at91.com/www/phpBB2_mirror/viewtopic.php4?t=2228


А не оталось ли у кого исходников етой Самбы (то что в чипе особенно нужно) а то на указанном фтп соответсвующих директоий не наблюдается.

Спасибо.
klop
Неужели никто не скачивал
ftp://81.80.104.162/SAM-BABoot/AT91BootSAM7X.zip

Очень ищу.
TookeR
Что бы не создавать еще одну тему задам вопрос тут .... кто может скинуть драйвер для отладочной платы ... нужен atm6124.sys .... (а то попытки скачать не принесли успеха, или плохо искал ?sad.gif )

Р.S. можно сюда а можно и на мыло tooker@mail.ru
TookeR
Вообщем столкнулся с проблемой что при подключении ее к компу определяеться она как неизвестное устройство. Как застависть комп видеть ее как девборд ?

вообщем заставил комп видеть ее как дев борд но самба его не видет и все sad.gif
MTh
Проверьте подключение. 90% косяков по этой причине. И порядок...
Если конечно загрузчик не снесли.
yuragv
а чем компилить данный проект AT91BootSAM7X.zip подскажите плз
snowboy
Цитата(Waso @ Sep 12 2007, 13:32) *
Вопрос - как сделать так чтобы клиент мог сам сменить прошивку через УСБ, не залазя внутрь и не замыкая ERASE? Подозреваю что самому надо писать лодыря. А нельзяли какнибудь применить встроенный??

Я делаю это так:
void ReProgramm(void)
{
ClrScr();
GotoXY(0,0);
*AT91C_PMC_PCDR = 1 << AT91C_ID_UDP;
if (USBPower)
{
PrintS("Отключите от USB!\r");
while (USBPower);
PrintS("Отключено.\r");
}
PrintS("Подключите к USB.\r\r");
while (!inKey())
{
if (USBPower)
{
PrintS("Запустите SAM-PROG.\r\rПосле прошивки-\rотключите от USB.");
AT91C_BASE_WDTC->WDTC_WDMR = AT91C_WDTC_WDRSTEN | 200; // 0.8 sec, Watchdog Reset Enable
WDT;
EFC_PerformCommand(AT91C_BASE_EFC0,AT91C_MC_FCMD_CLR_GP_NVM,2);
PowerOff();
*AT91C_RSTC_RCR=0xA5000005; //Do reset
while(1); // Ждем WDT
}
}
}
Т.е. по команде пользователя запускается эта функция, далее он подключает прибор к компу, запускает SAM-Prog и заливает новую прошивку.
aaarrr
Только нужно заметить, что этот способ не подходит для SAM7S.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.