реклама на сайте
подробности

 
 
> unable halt core, AT91SAM7X256-EK
rat
сообщение Aug 16 2007, 06:51
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 497
Регистрация: 9-06-05
Из: Новосибирск
Пользователь №: 5 852



Сегодня принесли МТ-линк, подключил, запустил пробную прогу в ИАРе с AT91SAM7X256-EK. ИАР пишет unable halt core. Как победить?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SpiritDance
сообщение Nov 3 2008, 06:07
Сообщение #2


Дух погибшего транзистора
****

Группа: Свой
Сообщений: 877
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 288



Это глюки атмела. У процессоров очень нестабильный jtag интерфейс. Раньше грешил на различные переходники, но без них( с отладочной 4-х слойной платой и стандартным 20-пиновым разъемом) картина та же самая.

Видимо когда в проц уже загружена программа вся прериферия и ядро не всегда могут остановиться. Полное стирание кристалла перед прошивкой помогает. Учтите однако что стирание через j-flash тоже проходит не с первого раза. Если ничего не помогает - последнее средство ножка Erase.

Так же учтите что у процов очень чувствительный к статике генератор - можете вывести проц из строя "ни с того ни с сего".

Удачи. biggrin.gif


--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
Go to the top of the page
 
+Quote Post
defunct
сообщение Nov 3 2008, 09:41
Сообщение #3


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(SpiritDance @ Nov 3 2008, 08:07) *
Это глюки атмела. У процессоров очень нестабильный jtag интерфейс.

Да что вы такое говорите? Уж с чем с чем, а со стабильностью JTAG интерфейса к Atmel'у нареканий нет. Много шустрее и прогнозируемее чем NXP..
Может быть вы просто не учитываете на какой частоте работает core?

Лекарство тут такое - в настройках RDI (если драйвер старый) обязательно точно указать тип процессора и точно указать частоту на котором работает ядро. Причем частота эта должна быть установлена не на глаз и не потому что у вас в программе устанавливается такая частота, а
по критерию реальной частоты проца, для ее определения можно воспользоваться утилитов J-Link Commander
> testcspeed 0x200000

Если драйвер новый (3.80 и выше) где автоопределение частоты ядра, там только играть со скоростью JTAG клока.

Надо помнить что от частоты ядра зависит:
1. Тайминги записи во флеш.
2. Максимальный битрейт JTAG интерфейса.

Цитата
Если ничего не помогает - последнее средство ножка Erase.

Такое впечатление что вы даже не пытались разобраться от чего у вас глюки.

Главное это помнить, что проц стартует на внутреннем RC - 32Khz. И если программа зашитая в чип не переключает или не может переключить клок на Crystal / PLL, то проц будет работать совсем не на ожидаемой частоте. Поэтому еще раз, когда ловите глюк в работе через JTAG делайте:
testcspeed 0x200000
И подправляйте настройки RDI под реальную частоту ядра.

Цитата
Так же учтите что у процов очень чувствительный к статике генератор - можете вывести проц из строя "ни с того ни с сего".

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


Автору - длина шлейфа между Link'ом и таргетом небезгранична, оптимально - 10-20см, иначе на больших скоростях могут быть проблемы.
Go to the top of the page
 
+Quote Post
SpiritDance
сообщение Nov 3 2008, 19:18
Сообщение #4


Дух погибшего транзистора
****

Группа: Свой
Сообщений: 877
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 288



07.gif defunct Вы дышать глубже не пробовали?


--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
Go to the top of the page
 
+Quote Post
defunct
сообщение Nov 3 2008, 22:23
Сообщение #5


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Проще всего списать все на нестабильность JTAG интерфейса и производителя чипов.
Сложнее разобраться в чем же на самом деле проблема и устранить ее раз и навсегда.

конкретно у этого процессора с JTAG'ом все ОК, как впрочем и у других SAM7.
Go to the top of the page
 
+Quote Post
SpiritDance
сообщение Nov 4 2008, 07:05
Сообщение #6


Дух погибшего транзистора
****

Группа: Свой
Сообщений: 877
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 288



Цитата(defunct @ Nov 4 2008, 01:23) *
Сложнее разобраться в чем же на самом деле проблема и устранить ее раз и навсегда.

Сложнее да. Тем более что в RDI (и в j-flash)пробовал и настраивать точно как Вы говорите ( кварц 18432000) и adaptive clocking включать. Проблем вобщем-то не было почти.
- jlink при любых настройках не может стереть кристалл с загруженной программой с первого раза.
- RDI работает стабильно при размере прошивки меньще 140кб. У меня сейчас около 170. При чистом процессоре все зашивается постоянно без проблем. При уже загруженном при прошивке страших секторов (>700) иногда (относительно редко) возникает ошибка unable to halt arm core. core does not stop. Естественно дальше сектора на котором "отвалилось" прошивка не идет. Вот и думай что хочешь. есть однако мнение что дело все же в шлейфике, надо бы его заэкранировать.

Если у Вы уверены что проблема в настройках я их еще поковыряю, однако просто нет времени разбиратся со всем этим - прыгать нужно, софт писать.


--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Nov 4 2008, 08:31
Сообщение #7


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(SpiritDance @ Nov 4 2008, 10:05) *
При уже загруженном при прошивке страших секторов (>700) иногда (относительно редко) возникает ошибка unable to halt arm core.
А не включает ли ваша программа собаку?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
SpiritDance
сообщение Nov 4 2008, 11:25
Сообщение #8


Дух погибшего транзистора
****

Группа: Свой
Сообщений: 877
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 288



Цитата(Сергей Борщ @ Nov 4 2008, 11:31) *
А не включает ли ваша программа собаку?


Кстати да! Включает. Вернее не выключает. Установлин лишь бит WDT_DEBUGHALT. И из-под отладчика он даже не всегда работает. Проц там в не которые моенты не презагружается по нему если я через отладчик проц запустил. Однако он вроде не должен включатся до сброса питания.
Надо попробывать установить битик Disable для отладки. Спасибо за догадку.


--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 15:33
Рейтинг@Mail.ru


Страница сгенерированна за 0.0143 секунд с 7
ELECTRONIX ©2004-2016