Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: снова про самбу
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Sergei_K
Доброго всем времени суток!
Ситуация следующая: собираюсь прошивать программу при помощи SAM-BA через USB, естественно поискал на данном ресурсе похожие темы, коих оказалось в большом количестве.. smile.gif

При этом скачал отсюда (http://atmel.com/dyn/products/tools_card.asp?tool_id=3883) саму прогу и даташитины, описывающие работу с самбой и сампрогой...
Однако не нашел ни в них, ни в даташитине самого микроконтроллера ничего о так называемых "танцах с бубном", которые, как понимаю, были изложены вот здесь (http://www.at91.com/Pages/gettingstarted/samba/sam_prog/first.html), ссылка к сожалению не работает sad.gif

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

P.S. А вообще говоря имхо по количеству постов про самбу подобную тему давно пора в FAQ кинуть.. smile.gif
P.P.S. Из того что понял:
- кварц нужен на 18.432 MHz
- USB DDP подтянуть 1,5 - 2 кОм резистором к +
- настроить PLL (правда в даташите как-то туманно сказанно о расчете значений фильтра.. smile.gif )
... эти вещи можно понять из даташита, а вот про "шаманство" хотелось бы узнать поподробней:
- PA0 и PA1 PA2 держать в high - это не понятно зачем, хотя встречал в паре постов
- ну и сответственно замыкать tst на 10 сек и что-то типа того... вот здесь последовательность действий хотелось бы узнать поподробней..
Сергей Борщ
Все эти танцы от невнимательности при чтении даташита.
Цитата(Sergei_K @ May 10 2007, 11:31) *
- PA0 и PA1 PA2 держать в high - это не понятно зачем, хотя встречал в паре постов - ну и сответственно замыкать tst на 10 сек и что-то типа того... вот здесь последовательность действий хотелось бы узнать поподробней..
Даташит, рев.G, стр. 14:
Цитата
6.2 Test Pin
The TST pin is used for manufacturing test, fast programming mode or SAM-BA Boot Recovery of the AT91SAM7S Series when asserted high. The TST pin integrates a permanent pull-down resistor of about 15 k to GND, so that it can be left unconnected for normal operations.
To enter fast programming mode, the TST pin and the PA0 and PA1 pins should be tied high and PA2 tied to low.
To enter SAM-BA Boot Recovery, the TST pin and the PA0, PA1 and PA2 pins should be tied high.
Там же, стр. 25:
Цитата
The SAM-BA Boot Recovery restores the SAM-BA Boot in the first two sectors of the on-chip Flash memory. The SAM-BA Boot recovery is performed when the TST pin and the PA0, PA1and PA2 pins are all tied high.
• Communication through the USB Device Port is limited to an 18.432 MHz crystal.
Про 10 сек - похоже на сказки, никакого упоминания об этом в даташите нет. Есть только
Цитата
It is important to note that the assertion of the ERASE pin should always be longer than 50 ms.
vmp
Цитата(Сергей Борщ @ May 10 2007, 15:36) *
Все эти танцы от невнимательности при чтении даташита.

И темы. wink.gif Вопрос про SAM7X, ответ про SAM7S.

Чуть подробнее отвечу про реализацию самбы в SAM7S.
Запускается в несколько этапов:
1. Зажимаем TEST, PA0-2 и включаем питание. При этом активизируется масочное ПЗУ внутри кристалла, которое переписывает код самбы во флеш-память. На эту операцию и требуется 10 секунд.
2. Выключаем питание, отпускаем TEST и снова включаем питание. Теперь процессор стартует из флеш-памяти, в которой уже сидит самба.
3. Далее командами самбы (описаны в даташите) в ОЗУ кристалла заливается некий загрузчик и запускается.
4. И уже этот загрузчик принимает снаружи программу и зашивает ее во флеш.

Как это сделано в SAM7X - не знаю, не работал.
Сергей Борщ
Цитата(vmp @ May 10 2007, 15:05) *
И темы. wink.gif Вопрос про SAM7X, ответ про SAM7S.
Да уж... виноват. С sam7X веселее:
Цитата
To enter fast programming mode, the TST pin and the PA0 and PA1 pins should be tied high and PA2 tied to low.
Driving the TST pin at a high level while PA0 or PA1 is driven at 0 leads to unpredictable results.
Что происходит в остальных случаях "догадайся, мол, сама". Но механизм тут у них сделан более грамотно:
Цитата
The SAM-BA Boot is in ROM and is mapped at address 0x0 when the GPNVM Bit 2 is set to 0.
When GPNVM bit 2 is set to 1, the device boots from the Flash.
When GPNVM bit 2 is set to 0, the device boots from ROM (SAM-BA).
То есть зажал Erase, GPNVM стерся, получай самбу. и никакого копирования.
Получается что автор исходного вопроса тоже надергал информации из обсуждения SAM7S не обратив внимания на разницу.
Цитата(vmp @ May 10 2007, 15:05) *
На эту операцию и требуется 10 секунд.
ссылку, сестра, ссылку! Я умом понимаю, что это не происходит мгновенно, но и упоминания 10 сек. не нашел, хотя искал долго.
vmp
Цитата(Сергей Борщ @ May 10 2007, 17:12) *
Я умом понимаю, что это не происходит мгновенно, но и упоминания 10 сек. не нашел, хотя искал долго.

Присутствует в хелпе на AT91SAM-PROG.
Многократно упоминалось в форуме на AT91.COM
defunct
Цитата
1. Зажимаем TEST, PA0-2 и включаем питание. При этом активизируется масочное ПЗУ внутри кристалла, которое переписывает код самбы во флеш-память. На эту операцию и требуется 10 секунд.

В SAM7X есть комбинация TST, PA0, PA1 = High; PA2 = Low для входа в режим быстрого программирования. При этом ничего там никуда не переписывается.
Другие комбинации недоступны.

Цитата
То есть зажал Erase, GPNVM стерся, получай самбу. и никакого копирования.

Ждать >220ms.
Sergei_K
Цитата(Сергей Борщ @ May 11 2007, 00:12) *
Получается что автор исходного вопроса тоже надергал информации из обсуждения SAM7S не обратив внимания на разницу.


категорически не согласен с подобной критикой smile.gif , в том-то и дело, что надергал (я этого в своем посте и не скрывал..), обратил внимание на разницу, но в даташите ничего подобного не нашел и соответственно спросил, указав в теме, что вожусь с SAM7X... На самом же деле, думал, что ничего сильно принципиального по сравнению с серией SAM7S не произошло, но ошибся..

Всем спасибо за ответы! smile.gif
pan_oleg
День добрый.
Прошу помощи.
Имеется J-LINK V7 вот такой
http://www.kosmodrom.com.ua/el.php?name=J-LINK-V7
сегодня с утра пришол на работу, а он не определяется.
Подключаю, в результате Устройство не определено.
Предположил что слетела прошивка.
Скачал sam-ba_2.11.
Вот тут http://starterkit.ru/html/index.php?name=f...ew&id=11569 нашел как востановить MT-Link.
Если я правельно понял (нарыл в инете и доке на проц), то при вкл. питание там коротится ERASE, а потом при выключеном TEST, и так включается.
Делаю так, но потом при подключение так и остается устройство не определено.
Подскажите советом как ожевить отладчик.
Что не так делаю?
Aaron
Проверьте с каким-нибудь другим устройством целостность USB-кабеля на своей же машине, или отладчик - на другой машине. Как правило ошибка распознавания устройства появляется, когда контакты барахлят или провод перебит.
Lotor
Цитата(Aaron @ May 21 2012, 09:54) *
Как правило ошибка распознавания устройства появляется, когда контакты барахлят или провод перебит.

Только 99% у pan_oleg именно слетела прошивка. У меня c j-link такое раза 3 было, пришлось восстанавливать по стандартному алгоритму.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.