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

 
 
 
Reply to this topicStart new topic
> 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
f-0-x
сообщение Aug 21 2007, 15:15
Сообщение #2





Группа: Новичок
Сообщений: 5
Регистрация: 24-07-07
Пользователь №: 29 331



Цитата(rat @ Aug 16 2007, 09:51) *
Сегодня принесли МТ-линк, подключил, запустил пробную прогу в ИАРе с AT91SAM7X256-EK. ИАР пишет unable halt core. Как победить?


Хм.
Перед тем как дать ответ , задам ряд вопросов :
1) чем шьетесь ? (программатор МТ-линк - если можно ссылочку)
2) правильно ли выбран программатор в самом ИАРе?
3) верный ли драйвер программатора (возможно нужен RDI драйвер)?
4) возможно глюканул иар ( у меня такое бывало, перезапуск ИАРа помогает )

Если для прошивки используется Segger AT91SAM-ICE, то возможно следующее :
1) непропай или микротрещина дорожки с разьема программатора.
2) повреждение самого шлейфа.
3) глюки самого программатора.
4) Глюки ПО.

Больше деталей - попробуем разобратся...
Go to the top of the page
 
+Quote Post
asket
сообщение Nov 2 2008, 20:14
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 91
Регистрация: 24-08-06
Из: Москва
Пользователь №: 19 809



Уважаемые коллеги! У меня такая же проблема, когда принесли свежую плату, сначало заработало на ура, прошло две недели, так компилятор ИАР стал ругаться на Unable halt ARM core, перепаяли проц, снова заработало опять на две недельки, хочу разобраться откуда и по возможным каким причинам возникают эти сообщения? Благодарен за любой ответ
Go to the top of the page
 
+Quote Post
SpiritDance
сообщение Nov 3 2008, 06:07
Сообщение #4


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

Группа: Свой
Сообщений: 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
Сообщение #5


кекс
******

Группа: Свой
Сообщений: 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
Сообщение #6


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

Группа: Свой
Сообщений: 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
Сообщение #7


кекс
******

Группа: Свой
Сообщений: 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
Сообщение #8


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

Группа: Свой
Сообщений: 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
Сообщение #9


Гуру
******

Группа: Модераторы
Сообщений: 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
Сообщение #10


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

Группа: Свой
Сообщений: 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
Сергей Борщ
сообщение Nov 4 2008, 13:41
Сообщение #11


Гуру
******

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



Цитата(SpiritDance @ Nov 4 2008, 14:25) *
Кстати да! Включает. Вернее не выключает. Установлин лишь бит WDT_DEBUGHALT.
А поскольку этот регистр можно прописать лишь один раз, то прошивальщик и не может заблокировать собаку перед прошивкой. Выглядит логично. Во всяком случае у меня похожие симптомы: во время прошивки приложения через MT-Link срабатывает собака, проц попадает в мой загрузчик и, обнаружив несовпадение CRC приложения начинает весело моргать светодиодом. При этом процесс заливки подвисает до выдергивания MT-Link. Поскольку загрузчик собаку не трогает, то повторная перепрошивка проходит без проблем.


--------------------
На любой вопрос даю любой ответ
"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 8 2008, 06:57
Сообщение #12


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

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



Действительно, дело было в сторожевом таймере, после отключения глючки исчезают, при включении появляются. Высыпаю себе на голову бочку пепла smile.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

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

 


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


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