Отговори на тема  [ 34 мнения ]  Отиди на страница 1, 2, 3  Следваща
J-Link - WARNING: CPU could not be halted 
Автор Съобщение
Ранг: Ориентиран
Ранг: Ориентиран
Аватар

Регистриран на: Сря Мар 01, 2006 2:21 pm
Мнения: 267
Местоположение: Fort Lauderdale, FL
Мнение J-Link - WARNING: CPU could not be halted
Имам някакъв странен проблем когато се опитвам да дебъгвам.

ERROR: Can not read register 16 (XPSR) while CPU is running
ERROR: Can not read register 20 (CFBP) while CPU is running
ERROR: Can not read register 0 (R0) while CPU is running
ERROR: Can not read register 1 (R1) while CPU is running
...
ERROR: Can not read register 18 (PSP) while CPU is running
WARNING: CPU could not be halted

Добавям пълният трейс в прикачен файл.

Също така на платката осцилатора не тръгва. Не знам дали той е причината да не може да се халтне процесора или е обратното.

Конфигурацията на дебъгера е наред. Същият процесор на друг модел платка си го дебъгва без проблем.
Пробвах две платки от този модел (толкова имам наситени) и двете се държат по еднакъв начин. Навеждаме на мисълта, че най-вероятно е хардуерен проблем.

Някакви идеи ?


Прикачени файлове:
jlink-trace.txt [8.86 KiB]
420 пъти

_________________
Всички обичаме да печелим, но колко от нас обичат да тренират!
Пон Яну 26, 2015 7:26 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Мар 13, 2006 1:59 pm
Мнения: 3867
Местоположение: Габрово
Мнение Re: J-Link - WARNING: CPU could not be halted
Пусни схемата на около микроконтролера да видим дали има нещо съмнително. Как са вързани ресетите и SWD?


Вто Яну 27, 2015 1:40 am
Профил
Ранг: Ориентиран
Ранг: Ориентиран
Аватар

Регистриран на: Сря Мар 01, 2006 2:21 pm
Мнения: 267
Местоположение: Fort Lauderdale, FL
Мнение Re: J-Link - WARNING: CPU could not be halted
Това са схемите около процесора и JTAG/SWD. Използвам преходна платка заради FCC конектора на основната платка. Просто нямам място за нещо по-голямо.
Прикачих и част от самата платка със слоя където са процесора и кристала. Има няколко кофти проходни отвора около кристала, но няма късо при запояването.

Пиновете на двата FCC конектора са нарочно в обратна посока. Това ми позволява да свързвам лентовият кабел без да го усуквам.


Прикачени файлове:
top-layer-part.png
top-layer-part.png [ 85.82 KiB | Прегледано 6887 пъти ]
Коментар на файл: JTAG адаптера.
jtag-adapter.jpg
jtag-adapter.jpg [ 71.5 KiB | Прегледано 6887 пъти ]
Коментар на файл: JTAG конектора на платката.
jtag-connector.jpg
jtag-connector.jpg [ 18.33 KiB | Прегледано 6887 пъти ]
Коментар на файл: Пиновете на процесора за кристала и JTAG.
mcu-jtag-crystal.jpg
mcu-jtag-crystal.jpg [ 45.92 KiB | Прегледано 6887 пъти ]

_________________
Всички обичаме да печелим, но колко от нас обичат да тренират!
Вто Яну 27, 2015 3:20 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11266
Местоположение: Добрич
Мнение Re: J-Link - WARNING: CPU could not be halted
Според лог-а се конектва и веднага след като смени клока 1MHz връзката изчезва...

Изглежда си точно като проблем с осцилатора... може да е хардуерен, може и софтуера да не го пуска като хората. Ако ограничиш клока на jlink-a би трябвало да може да конектнеш и през конзолата да си сетваш регистрите сам и да видиш дали ще запали осцилатор, pll и т.н.


Вто Яну 27, 2015 11:21 am
Профил
Ранг: Ориентиран
Ранг: Ориентиран
Аватар

Регистриран на: Сря Мар 01, 2006 2:21 pm
Мнения: 267
Местоположение: Fort Lauderdale, FL
Мнение Re: J-Link - WARNING: CPU could not be halted
Определено проблема се оказа хардуерен, но още не е ясно защо точно се проявява.
Един от вариантите е, защото нямам филтрация на PLL захранването.
Прикачам какво препоръчват от Атмел в Atmel-42231-SAM4E-Schematic-Checklist_AP-Note_AT06068.pdf
Това не съм го спазил и имам само кондензатори на VDD_OUT.

Този проблем го наблюдавам вече на повече платки, не само на тази която имах проблем в началото. На нея й пуснах втора ревизия и там една от две тръгна и другата има същият проблем.
Също така пуснах една платка с ATSAM4E16E и пак така. Едната тръгна от раз и няма проблеми, а другата не пожела. След известна борба се установи, че ако докосна с пръст платката на определено място кристала тръгва. Странното е, че където докосвам са само GPIO конфигурирани като входове.

Мислите ли, че може да е проблем с фитрацията или нещо друго?


Прикачени файлове:
pll_power_filter.jpg
pll_power_filter.jpg [ 26.52 KiB | Прегледано 6657 пъти ]

_________________
Всички обичаме да печелим, но колко от нас обичат да тренират!
Пон Фев 23, 2015 2:34 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение Re: J-Link - WARNING: CPU could not be halted
Някои по стари армчета имаха претенции към минимална скорост на нарастване на захранването. Като е по малка и зависваха в разни неустановени състояния. От AT91SAM7S серията. В новите им ревизии го оправиха това. Провай да го захраниш външно и виж какво ще стане.


Пон Фев 23, 2015 11:15 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 11:31 pm
Мнения: 10088
Мнение Re: J-Link - WARNING: CPU could not be halted
по принцип много процесори са капризни на тема сикуенс и фронт на захранването, не знам как е в SAM, но щом Никола е настъпвал мотиката, вероятно важи и за тях.

отделно, PLL също са чувствителни към захранвания. спазвай каквото пише в чаршафа и не би трябвало да има грижи.


Пон Фев 23, 2015 11:28 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11266
Местоположение: Добрич
Мнение Re: J-Link - WARNING: CPU could not be halted
Това с фронтовете беше каприз на първите ревизии на SAM7... което не значи, че го изключвам като възможност, но по наличните данни повече мирише на проблем с клоците.

Както казва Дедо слон са ядял на порции (аз не съм ял, ама така разправя). Та в началото бих ограничил клока на емулатура. Мисля че джейлинка трябва да има такава възможност, ако не намери едно просто оцд. Да си стои на 1-5kHz и пускаш да дебъгваш. Ако си изпълнява инструкциите, ако четеше и пишеш паметта да знаеш че рИсета е минал благополучно и едва ли е фронта на захранването.
Следващата стъпка е да пуснеш осцилатора, най-добре без да превключваш клока, просто пускаш и гледаш регистрите дали ще тръгне. Мисля че си имаше такива флагчета.
Ако тръгне кристала, вече може да видиш дали проблема не е PLL-a. Напълно е възможно без филтрите да не тръгне.

Иначе цялата тая гимнастика не е зле да си е заложиш в софтуера, щото при производство винаги се случва я фалшив кварц я нещо окъсено, незапоено и т.н. Затова софта е добре да си ги прави тия стъпки и да си рапортува къде закъсва ако нещо не тръгне. Аз го правя с трейс, ама с джейлинка не знам дали ще тръгне трейса без клок... Другия вариант ако имаш светодиотчета да мигаш проблемите както BIOS-те...


Пон Фев 23, 2015 12:29 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Сеп 15, 2009 10:44 am
Мнения: 1034
Мнение Re: J-Link - WARNING: CPU could not be halted
paregov написа:
...

Опитай с по-малки кондензатори на осцилатора, примерно 10pF. Тези, дето си ги писал на схемата, изват възголемки и малко над позволеното. Брал съм ядове от това с други атмелски чипове и оттогава чета внимателно спецификацията в тая част.


Последна промяна 741 на Пон Фев 23, 2015 1:01 pm, променена общо 1 път



Пон Фев 23, 2015 12:40 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение Re: J-Link - WARNING: CPU could not be halted
AT91SAM7S не им тръгваше също клока като изпаднеха в такова странно състояние. Затова ти обръщам внимание на тоз древен бъг.


Пон Фев 23, 2015 12:42 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Нед Фев 16, 2014 3:36 pm
Мнения: 953
Мнение Re: J-Link - WARNING: CPU could not be halted
Процесора или J-link-а (или и двете) имат ли по спецификация минимална честота на която могат да работят заедно? На другата платка (на която работи) пак ли се превключва на същата честота?


Пон Фев 23, 2015 3:20 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11266
Местоположение: Добрич
Мнение Re: J-Link - WARNING: CPU could not be halted
DanielDimov написа:
Процесора или J-link-а (или и двете) имат ли по спецификация минимална честота на която могат да работят заедно?


Няма минимална, ех все пак честотите се свалят с хардуерни делители с определен брой стъпки... не става до безкрай да ги смъкваш ;-)

Принципно JTAG клока трябва да е по-нисък от CPU клока. В случая не съм сигурен дали не трябва да е 2 пъти по-нисък. Не помня вече...
И тъй като тоя, както и много други контролери след ресет тръгват на една честота, а софтуера след това може да я смени та затова JTAG/SWD емулаторите им се задават две честоти - за след ресет и за след ресет скрипта. Тук има и още една подробност, че ресет скрипта на емулатора може да сменя честотата на проца. Прави се тъй като обикновено емулатора трябва да префлашне проца, а както в случая с Атмел той тръгва на много ниска честота и флашването би отнело мнооого време. Но пък при проблем с осцилатор/PLL честотата няма да се смени и емулатора ще увисне... както и става...


Пон Фев 23, 2015 4:23 pm
Профил
Ранг: Ориентиран
Ранг: Ориентиран
Аватар

Регистриран на: Сря Мар 01, 2006 2:21 pm
Мнения: 267
Местоположение: Fort Lauderdale, FL
Мнение Re: J-Link - WARNING: CPU could not be halted
@Никола, пробвах и с външно захранване и същата работа. На която платка си работи с нейното захранване си работи и с външно и където не работи с нейното не работи и с външно.

@Дедо, сега промених захранването както са го направили в Evaluation Kit-a на този процесор (поне частта за PLL захранването). Това значи обаче чакане още седмица, две за новите платки.

@Миро, това е добра идея, ще взема малко да барна инициализацията. Имам диоди и май ще е добре наистина на тях да показвам статуса. Закачам осцилоскопа на кристала и той не тръгва докато не барна с пръст пиновете на процесора от точно определена страна. Това се наблюдава със закачен дебъгер или без дебъгер. Без дебъгер като подам захранване и никаква промяна на осцилоскопа. Като барна процесора и всичко тръгва и вече работи без проблем до следващо спиране на процесора.

@741, ще пробвам и с 10pF, само да пристигнат след няколко дена, че нямам в наличност.

@Даниеле - да, на другата платка е на същата честота пак. Настройките на дебъгера са същите, само сменям платките.

_________________
Всички обичаме да печелим, но колко от нас обичат да тренират!


Пон Фев 23, 2015 6:48 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение Re: J-Link - WARNING: CPU could not be halted
Да не би да пали бутлоадера по някаква причина. Повечето подобни железа като им тръгне бутлоадера и JTAG-а се насира. Пробвай да го изтриеш през пина и виж дали първия лог след това ще е по различен от сегашния. На изтрито желязо, трябва да запали през вътрешния осцилатор - не би трябвало да имаш проблем да се конектеш първия път, даже и без кристал (ако презумираме че проблема е около кристала, в което се съмнявам).

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Пон Фев 23, 2015 7:10 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11266
Местоположение: Добрич
Мнение Re: J-Link - WARNING: CPU could not be halted
paregov написа:
@Миро, това е добра идея, ще взема малко да барна инициализацията. Имам диоди и май ще е добре наистина на тях да показвам статуса. Закачам осцилоскопа на кристала и той не тръгва докато не барна с пръст пиновете на процесора от точно определена страна. Това се наблюдава със закачен дебъгер или без дебъгер. Без дебъгер като подам захранване и никаква промяна на осцилоскопа. Като барна процесора и всичко тръгва и вече работи без проблем до следващо спиране на процесора.


ми не помня вече как им бяха клоковете... Но помня че бяха Ентелигенти, демек ако накараш да се клоква от PLL а той не бачка по някаква причина изревава и си се връща на вътрешното RC. Ta това което не помня е дали при тая ситуация ще изгаси кристала... Така че не мога да кажа дали това което наблюдаваш е заради лош кристал или проблем с PLL.

Изобщо това с барането не ме кефи, остана и боб да му хвърлиш ;-)
Аз затова мразя джейлинковете и тем подобните. Вземи едно ocd, вържи го и през конзолата си има командички - сетваш си клок да кажем 5kHZ, ресетваш таргета, пускаш тест на паметта. Дотук са само 3 команди и знаеш дали имаш чист рИсет или проца изобщо го няма. После вече може да видиш на кои адреси са ти регистрите за клоковете и ръчно да ги програмираш така че да се пусне осцилатора. Резултатът трябва да е видим както с осцилоскоп, така и в регистрите...
Просто едно по едно ги тествай нещата...


Пон Фев 23, 2015 7:21 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 34 мнения ]  Отиди на страница 1, 2, 3  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 7 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни