Перейти к содержанию
    

Вопросы по SAM-BA и SAM-PROG

Имеется:

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ом?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Имеется:

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), почему-то.

Может у вас дрова как-то кривовато встали? Надо пробовать на другой машине, имхо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А ERASE точно делали? Несколько раз была такая ситуация, что загрузчик не работает, и по TST не восстанавливается. Помогает только ERASE+TST.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По идее надо бы создать новую тему с названием "SAM-PROG: танцы с бубном".

 

Господа из Atmel вероятно решили не афишировать выпуск новых версий SAM-PROG. Иначе чем объяснить нахождение версии 2.3 исключительно в пакете AT91-ISP v1.7 ?..

Тем не менее, проблемы с подключением (и дальнейшим программированием) в новой версии не исчезли.

Удалось обнаружить ещё одину багофичу: для активизации кнопки Write нужно два раза отметить пункт Auto-Mode.

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

Для этого поставил виртуальную машину XPSP2 (VMwareWSv5.5.2). Однако после однократного подключения прибора и установки дров, SAM-PROG вообще отказывается запускаться: выскакивают поочерёдно известные многим окна: post-5405-1163414374_thumb.jpg и далее post-5405-1163414398_thumb.jpg

Причём после перезагрузки системы, SAM-PROG продолжает вести себя аналогично.

Большая вероятность того, что у клиента ситуация в точности повторится.

 

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

 

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

 

P.S. Кстати, если кто пожелает воспользоваться SAM-PROG v2.3, то она в пристыкованном архиве AT91SAMPROG.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

у меня стоит сам-прог версии 2,0 и все работает на ура,кстати у меня тока он шьет сам7х256

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Однако SAM-BA нравится больше, так как после SAM-PROG при восстановлении загрузчика девайс по новой требует установить дрова (atm6124.sys), почему-то.

Такая же ситуация но что SAM-BA что SAM-PROG требует все время дрова, поэтому шью через COM.

ЗЫ:Кстате должен ли SAM-PROG поддерживать загрузку через COM?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

у меня стоит сам-прог версии 2,0 и все работает на ура,кстати у меня тока он шьет сам7х256

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

 

ЗЫ:Кстате должен ли SAM-PROG поддерживать загрузку через COM?
Я к сожалению не в курсе долгов программы SAM-PROG, но берусь утверждать, что прога SAM-BA нужна для прошивки через COM-порт, а SAM-PROG - для прошивки через USB. Хотя в последних версиях этих утилит замечена попытка реализовать прошивку через JTAG.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Такая же ситуация но что SAM-BA что SAM-PROG требует все время дрова, поэтому шью через COM.

Аналогично. Только я пользуюсь собственным софтом.

У себя в ПО реализовал минимальное подмножество команд самбы (записать слово, запустить программу).

Дальше в писюковой программе открываю ком-порт, устанавливаю связь с устройством и прописываю в ОЗУ кристалла загрузчик (через это минимальное подмножество) и запускаю его. Дальше уже общаюсь с загрузчиком по собственному протоколу.

Достоинства - все под контролем и ничего лишнего. Шьется очень быстро, всего несколько секунд.

Одновременно писюковая программа занимается всякой ерундой типа контрольных сумм, серийных номеров, версий зашивки, протоколом работы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Аналогично. Только я пользуюсь собственным софтом.

У себя в ПО реализовал минимальное подмножество команд самбы (записать слово, запустить программу).

Дальше в писюковой программе открываю ком-порт...

Достоинства - все под контролем и ничего лишнего...

Недостатки - собственно com-port, так как есть не у всех (в том числе клиентов). В отличие от USB.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Недостатки - собственно com-port, так как есть не у всех (в том числе клиентов). В отличие от USB.

 

У меня в устройстве нет USB. Эти выводы кристалла не задействованы. И частота тактового генератора другая, так что запустить USB просто не получится.

А шить можно и через переходник USB-COM.

Вдобавок _этот_ канал у меня предназначен не для обновления прошивки пользователем, а для начальной прошивки в процессе производства. Для обновления используется другой канал обмена.

 

Я не считаю свое решение единственно верным и подходящим на все случаи жизни. Просто как один из вариантов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Недостатки - собственно com-port, так как есть не у всех (в том числе клиентов). В отличие от USB.
У меня в устройстве нет USB. Эти выводы кристалла не задействованы. И частота тактового генератора другая, так что запустить USB просто не получится.
Для начала предлагаю Вам прочесть (ещё раз или в первый? :biggrin: ) вопрос в первом сообщении, в самом конце.
А шить можно и через переходник USB-COM.
Который нужно ещё купить.
Вдобавок _этот_ канал у меня предназначен не для обновления прошивки пользователем, а для начальной прошивки в процессе производства. Для обновления используется другой канал обмена.
_этот_ - это какой? USB или DBGU?...
Я не считаю свое решение единственно верным и подходящим на все случаи жизни. Просто как один из вариантов.
Если Вы описываете некое решение, то лично мне интересна по-возможности объективная оценка данного решения, а для объективной оценки освещение достоинств недостаточно, необходимо также указать недостатки. Или Ваш вариант идеален? ;) Полагаю, только для Вас. И предлагаю закончить дискуссию не по теме.

 

Возвращаясь к теме обсуждения, возможно кто-либо пользуется "заменой" SAM-PROG. Не такой глючной, как последний. Поделитесь, если не жалко, исходниками проекта.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Возвращаясь к теме обсуждения, возможно кто-либо пользуется "заменой" SAM-PROG. Не такой глючной, как последний. Поделитесь, если не жалко, исходниками проекта.

 

А исходники самой Самбы подойдут?

Их можно взять на этом фтп:

ftp://at91dist:[email protected]/

в каталоге SAM-BAGUI. Исходники той части, что лежит в чипе - SAM-BABoot.

 

Ссылка на этот фтп была взята с www.at91.com:

http://www.at91.com/www/phpBB2_mirror/viewtopic.php4?t=2228

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А исходники самой Самбы подойдут?

Их можно взять на этом фтп:

ftp://at91dist:[email protected]/

в каталоге 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_Install.rar

На всякий случай выкладываю саму dll-ину: AT91Boot_DLL.rar

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

 

Удачи в програмировании!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

Кстати, чтоб винда не ставила каждый раз при подключении шнура драйвер, нужно отключить в винде восстановление системы и автоматическое подключение к узлу windows-update.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...