|
|
  |
Оживить AT91SAM7A3, Спасите-помогите! |
|
|
|
Jan 9 2008, 08:45
|
Участник

Группа: Участник
Сообщений: 47
Регистрация: 30-11-07
Пользователь №: 32 839

|
Хочу сделать простенький проект на AT91SAM7A3. Проблема - не заводится кварц. Кварц 18.432 МГц. Конденсаторы брал и по 10 пФ и по 15 - бестолку. От этого естественно не работает USB, соответственно, не могу воспользоваться самбой. Даташит на чип (rev.E) утверждает, что первое, что должна сделать программа - запустить Main Oscillator, установив MOSCEN бит в регистре CKGR_MOR. Соответственно, пока рабочая программа не разрешит этот бит, кварц и не заведётся. Следовательно, рабочая программа с правильным стартапом должна в чипе уже быть, прежде чем кварц заведётся, а в этом у меня сомнения - в даташите нет сведений о том, что в нём по-умолчанию SAM-BA записана. Включение на более чем 10 секунд с подтянутым к плюсу сигналом TST, последующим отключением питания, отсоединением TST и повторной подачей питания никак ситуацию не меняет. Поведение ноги TST в даташите не определено, просто сказано её оставить свободной, а там встроенный пуллдаун. Наивно ожидалось её поведение аналогичному в других AT91SAM7.... Изучение даташита на AT91SAM7A3-EK ничем не помогает - RST, питания, PLLRC и т.п. у меня сделаны точно так же. Даташит на чип утверждает, что единственный гарантированный способ общения с кристаллом - через JTAG. Однако и тут засада. Не могу даже бинарник самбы в него залить. С использованием H-JTAG через вигглер чип определяется как 3F0F0F0F, но ничего с ним сделать не могу - такое ощущение, что H-JTAG (V.0.6.0 BUILD 20071130) просто не умеет работать именно с AT91SAM7A3 - при попытке загрузить в него бинарник ругается, что не найден init script, хотя на предыдущем шаге кнопочки серые, что в соответствии с документацией означает, что ему скрипт и не нужен, якобы и так знает, как с ним общаться. Спасите-помогите!  Куда рыть? Чем пользоваться?
|
|
|
|
|
Jan 9 2008, 13:01
|
Частый гость
 
Группа: Свой
Сообщений: 99
Регистрация: 12-02-07
Из: Свердловск
Пользователь №: 25 269

|
Цитата(Vitaly_N @ Jan 9 2008, 11:45)  Хочу сделать простенький проект на AT91SAM7A3. Проблема - не заводится кварц. Кварц 18.432 МГц. Конденсаторы брал и по 10 пФ и по 15 - бестолку. От этого естественно не работает USB, соответственно, не могу воспользоваться самбой. Даташит на чип (rev.E) утверждает, что первое, что должна сделать программа - запустить Main Oscillator, установив MOSCEN бит в регистре CKGR_MOR. Соответственно, пока рабочая программа не разрешит этот бит, кварц и не заведётся. Следовательно, рабочая программа с правильным стартапом должна в чипе уже быть, прежде чем кварц заведётся, а в этом у меня сомнения - в даташите нет сведений о том, что в нём по-умолчанию SAM-BA записана. Включение на более чем 10 секунд с подтянутым к плюсу сигналом TST, последующим отключением питания, отсоединением TST и повторной подачей питания никак ситуацию не меняет. Поведение ноги TST в даташите не определено, просто сказано её оставить свободной, а там встроенный пуллдаун. Наивно ожидалось её поведение аналогичному в других AT91SAM7.... Изучение даташита на AT91SAM7A3-EK ничем не помогает - RST, питания, PLLRC и т.п. у меня сделаны точно так же. Даташит на чип утверждает, что единственный гарантированный способ общения с кристаллом - через JTAG. Однако и тут засада. Не могу даже бинарник самбы в него залить. С использованием H-JTAG через вигглер чип определяется как 3F0F0F0F, но ничего с ним сделать не могу - такое ощущение, что H-JTAG (V.0.6.0 BUILD 20071130) просто не умеет работать именно с AT91SAM7A3 - при попытке загрузить в него бинарник ругается, что не найден init script, хотя на предыдущем шаге кнопочки серые, что в соответствии с документацией означает, что ему скрипт и не нужен, якобы и так знает, как с ним общаться. Спасите-помогите!  Куда рыть? Чем пользоваться? Сам сталкивался с подобной проблемой Потом плюнул на эту самбу и пользуюсь загрузчиком IAR
|
|
|
|
|
Jan 11 2008, 20:59
|
Участник

Группа: Свой
Сообщений: 65
Регистрация: 15-11-07
Из: Taipei, TW
Пользователь №: 32 356

|
Цитата(Vitaly_N @ Jan 9 2008, 12:45)  С использованием H-JTAG через вигглер чип определяется как 3F0F0F0F Похоже у вас JTAGSEL выбран в режиме Boundary-scan. У меня плата с SAM7A3 точно также определяется тем же H-JTAG (к нему подключен STK200-клон на одной HC244) если в режиме BS. Перекиньте джампер  Сразу определяется как ARM7TDMI, и дальше можно работать. Использовал IAR 4.40 + RDI H-JTAG, все прошивалось и дебажилось на ура. Успехов.
|
|
|
|
|
Oct 8 2008, 14:04
|
Участник

Группа: Участник
Сообщений: 30
Регистрация: 29-02-08
Пользователь №: 35 500

|
Отлаживал макетку с AT91SAM7A3 и столкнулся с похожей ситуацией. Какое-то время девайс работал. Затем на ноге NRST процессора появился 0. Соответственно Flasher H-JTAG не мог прошить камень. Вылечиваться, похоже, удалением дефектного чипа с общей шины PA0-PA17 и кратковременной закороткой TST. В чем причина такого поведения и где об этом можно прочитать поподробнее, чтобы не наступать на грабли в дальнейшем?
|
|
|
|
|
Oct 9 2008, 14:31
|
Участник

Группа: Участник
Сообщений: 30
Регистрация: 29-02-08
Пользователь №: 35 500

|
похожая ситуация http://electronix.ru/forum/index.php?showt...&st=0&#то что вчера помогало сегодня уже не помогает, один раз удалось прошиться через Wiggler и далее nRST устанавливается в ноль, при подаче JTAGSEL = 1 чип читается H-JTAG как UNKNOWN 0x0091DFF0. При этом на другой такой же плате все нормально шьётся и определяется. +++++++++++ Позамыкал еще раз TST, понажимал на кнопку сброса, которая параллельно nRST, контроллер что-то выдал в DBGU на неизвестной скорости и заработал.
|
|
|
|
|
Oct 22 2008, 05:27
|
Частый гость
 
Группа: Участник
Сообщений: 104
Регистрация: 30-06-05
Из: С-Петербург
Пользователь №: 6 406

|
В AT91SAM7A3 нет вшитого в ПЗУ загрузчика САМБЫ, соответственно пытаться его восстановить делая что-либо с TST входом бесполезно. Единственный гарантированный способ залить, что либо в кристалл - использовать JTAG. При этом вход JTAGSEL к питанию подтягивать не надо.
--------------------
Hemos Pasado
|
|
|
|
|
Oct 27 2008, 13:30
|
Участник

Группа: Участник
Сообщений: 30
Регистрация: 29-02-08
Пользователь №: 35 500

|
Цитата Единственный гарантированный способ залить, что либо в кристалл - использовать JTAG Это понятно. Непонятно как и чем можно прошить JTAGом когда nRST держит в 0 сам контроллер . H-Flasher и Wiggler не работали .  Сейчас устройство работает, но хотелось бы подстраховаться от сюрпризов в будущем (или, в крайнем случае, предусмотреть похожий по параметрам чип с двумя аппаратными SSC).
|
|
|
|
|
Oct 28 2008, 16:57
|
Участник

Группа: Участник
Сообщений: 30
Регистрация: 29-02-08
Пользователь №: 35 500

|
Из трёх плат две рабочие, а у третьей nRST опять в 0. Пляски с TST уже не помогают. Цитата(BSVi) Было такое с 64 кристаллом. Дело оказалось в плохом кварце. После замены все заработало. H-Flasher без кварца не работает(проверил сейчас на второй плате)  , но nRST у него в 1. Похоже SAM7A3 rev.A не для экспериментов с компиляторами  . Из техподдержки ответили, что нужно брать ревизию B. В качестве запасной меры, если кто знает примерную замену ARM7. Критично только наличие двух портов SSC. Спасибо.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|