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

Пробемы с прожигом AT91SAM7x128

Ситуация такая: собрали нам 10 плат с AT91SAM7x128 на борту. Платы уже отработанные, собираем не в первый раз.

Ровно половина прошилась без проблем и запустилась, вторая половина категорически отказывается программироваться. Из тулзов у нас JFlash и IAR, программатор Атмеловский Segger SAM-ICE. Версии самые последние или почти самые:-)

 

Происходит все следующим образом: JFlash c процом коннектится, сигнатуру читает, но при попытке прошить пишет - Can't halt Target

Читает и стирает без ошибок. В IAR вроде как даже загружается все через отладчик в проц, без ошибок, но в 3 раза дольше чем обычно и программа не выполняется.

При пристальном рассмотрении выяснилось что первая половина процов из партии 2011 года, а вторая из партии 2010года. Покупали в Терре..

 

Кто нибудь сталкивался с таким? Куда копать?

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


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

Читает и стирает без ошибок. В IAR вроде как даже загружается все через отладчик в проц, без ошибок, но в 3 раза дольше чем обычно и программа не выполняется.

Сталкивался в CW1.5 с процом Х512 - зашивает долго, проверяет, стартует ОЧЕНЬ долго, но при отладке все регистры по нулям. Добавил в скрипте Target.js запись в регистры FMR "правильные" wait-state

/* Reset and stop target */

TargetInterface.pokeWord(0xFFFFFD00, 0xA500000D); // RSTC_CR

TargetInterface.waitForDebugState(1000);

TargetInterface.pokeWord(0xFFFFFF60, 0x00320100); // FMR0

TargetInterface.pokeWord(0xFFFFFF70, 0x00320100); // FMR1

/* Configure Clock */

- и вуаля

CW зашивает быстро и не тормозит при старте, и регистры читаются правильно,

может в ИАРе тоже есть с этим вопрос?

P.S. Тема интересная, мне уже пожаловались, что отладчик говорит Nот enough internal breakpoint на новом 256 проце, неужели атмел что-то еще намудрил?

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


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

Есть некие уточнения:

IARом все таки проц хоть медленно, но программируется и даже стартует, но в 4 раза медленнее чем должен. Рабочая частота внутри множится на встроенном PLL, на вход такт подается с внешнего генератора (такт нормальный). Соответственно подозрение на него.

В рабочих платах на выводе PLL_RC стоит около 0,5В даже в стертом проце, в нерабочих - 0В как в стертом, так и в прошитом и запущенном.

Удвоенная частота для тактирования внеших чипов на вывод PCK не выводится, а на рабочих платах выводится сразу-же(в стартапе все конфигурации).

Платы абсолютно одинаковы и собраны правильно.

Все процы от 2011 года выпуска работают нормально, все процы 2010 года выпуска работают как описано выше.

Что это? Брак? Или мы что-то не так делаем?

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


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

Или мы что-то не так делаем?

ИМХО, ошибиться можно в двух местах:

- уровень сигнала генератора (должен быть 1.8В)

- настройка PLL (тут надо видеть код)

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


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

ИМХО, ошибиться можно в двух местах:

- уровень сигнала генератора (должен быть 1.8В)

- настройка PLL (тут надо видеть код)

Настройка PLL думаю тут непричем, тк этот код на множестве плат проверен и работает нормально, а вот с уровенем могут быть проблемы.

Генератор FXO- AH вроде 3,3В выдает через резистор на вход.

Сколько на самом входе не запомнил.

Завтра посмотрю.

Спасибо за наводку.

 

Правда непонятно как тогда оно на других платах с такими генераторами работает??

И на всех прежних платах у заказчика:-)))

Изменено пользователем Schtirlitz

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


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

Настройка PLL думаю тут непричем, тк этот код на множестве плат проверен и работает нормально, а вот с уровенем могут быть проблемы.

Очень даже может быть при чем, как Вы переключаете ядро на PLL? Одной командой сразу и PRES и CSS?

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


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

Очень даже может быть при чем, как Вы переключаете ядро на PLL? Одной командой сразу и PRES и CSS?

Там весь код по начальной инициализации был спёрт из атмеловского эвалюшена с минимальными доработками. И работает как часы.

 

Проблема решена, спасибо aaarrr за подсказку. на входе клока был слишком высокий уровень. уровень понизили и все заработало как и должно. Похоже в более новые процы атмеловцы что-то добавили и они с таким уровнем работают нормально, а старые отказываются. Это и ввело нас в заблуждение.

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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