| Автор |
Съобщение |
|
paregov
Ранг: Ориентиран
Регистриран на: Сря Мар 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
Добавям пълният трейс в прикачен файл.
Също така на платката осцилатора не тръгва. Не знам дали той е причината да не може да се халтне процесора или е обратното.
Конфигурацията на дебъгера е наред. Същият процесор на друг модел платка си го дебъгва без проблем. Пробвах две платки от този модел (толкова имам наситени) и двете се държат по еднакъв начин. Навеждаме на мисълта, че най-вероятно е хардуерен проблем.
Някакви идеи ?
_________________ Всички обичаме да печелим, но колко от нас обичат да тренират!
|
| Пон Яну 26, 2015 7:26 pm |
|
 |
|
gicho
Ранг: Форумен бог
Регистриран на: Пон Мар 13, 2006 1:59 pm Мнения: 3867 Местоположение: Габрово
|
 Re: J-Link - WARNING: CPU could not be halted
Пусни схемата на около микроконтролера да видим дали има нещо съмнително. Как са вързани ресетите и SWD?
|
| Вто Яну 27, 2015 1:40 am |
|
 |
|
paregov
Ранг: Ориентиран
Регистриран на: Сря Мар 01, 2006 2:21 pm Мнения: 267 Местоположение: Fort Lauderdale, FL
|
 Re: J-Link - WARNING: CPU could not be halted
Това са схемите около процесора и JTAG/SWD. Използвам преходна платка заради FCC конектора на основната платка. Просто нямам място за нещо по-голямо. Прикачих и част от самата платка със слоя където са процесора и кристала. Има няколко кофти проходни отвора около кристала, но няма късо при запояването.
Пиновете на двата FCC конектора са нарочно в обратна посока. Това ми позволява да свързвам лентовият кабел без да го усуквам.
_________________ Всички обичаме да печелим, но колко от нас обичат да тренират!
|
| Вто Яну 27, 2015 3:20 am |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
 Re: J-Link - WARNING: CPU could not be halted
Според лог-а се конектва и веднага след като смени клока 1MHz връзката изчезва...
Изглежда си точно като проблем с осцилатора... може да е хардуерен, може и софтуера да не го пуска като хората. Ако ограничиш клока на jlink-a би трябвало да може да конектнеш и през конзолата да си сетваш регистрите сам и да видиш дали ще запали осцилатор, pll и т.н.
|
| Вто Яну 27, 2015 11:21 am |
|
 |
|
paregov
Ранг: Ориентиран
Регистриран на: Сря Мар 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 конфигурирани като входове.
Мислите ли, че може да е проблем с фитрацията или нещо друго?
_________________ Всички обичаме да печелим, но колко от нас обичат да тренират!
|
| Пон Фев 23, 2015 2:34 am |
|
 |
|
Nikola Kirov
Ранг: Форумен бог
Регистриран на: Нед Окт 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 |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 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 |
|
 |
|
741
Ранг: Форумен бог
Регистриран на: Вто Сеп 15, 2009 10:44 am Мнения: 1034
|
 Re: J-Link - WARNING: CPU could not be halted
Опитай с по-малки кондензатори на осцилатора, примерно 10pF. Тези, дето си ги писал на схемата, изват възголемки и малко над позволеното. Брал съм ядове от това с други атмелски чипове и оттогава чета внимателно спецификацията в тая част.
Последна промяна 741 на Пон Фев 23, 2015 1:01 pm, променена общо 1 път
|
| Пон Фев 23, 2015 12:40 pm |
|
 |
|
Nikola Kirov
Ранг: Форумен бог
Регистриран на: Нед Окт 31, 2004 9:19 pm Мнения: 4464 Местоположение: Stara Zagora
|
 Re: J-Link - WARNING: CPU could not be halted
AT91SAM7S не им тръгваше също клока като изпаднеха в такова странно състояние. Затова ти обръщам внимание на тоз древен бъг.
|
| Пон Фев 23, 2015 12:42 pm |
|
 |
|
DanielDimov
Ранг: Почетен член
Регистриран на: Нед Фев 16, 2014 3:36 pm Мнения: 953
|
 Re: J-Link - WARNING: CPU could not be halted
Процесора или J-link-а (или и двете) имат ли по спецификация минимална честота на която могат да работят заедно? На другата платка (на която работи) пак ли се превключва на същата честота?
|
| Пон Фев 23, 2015 3:20 pm |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
 Re: J-Link - WARNING: CPU could not be halted
Няма минимална, ех все пак честотите се свалят с хардуерни делители с определен брой стъпки... не става до безкрай да ги смъкваш  Принципно JTAG клока трябва да е по-нисък от CPU клока. В случая не съм сигурен дали не трябва да е 2 пъти по-нисък. Не помня вече... И тъй като тоя, както и много други контролери след ресет тръгват на една честота, а софтуера след това може да я смени та затова JTAG/SWD емулаторите им се задават две честоти - за след ресет и за след ресет скрипта. Тук има и още една подробност, че ресет скрипта на емулатора може да сменя честотата на проца. Прави се тъй като обикновено емулатора трябва да префлашне проца, а както в случая с Атмел той тръгва на много ниска честота и флашването би отнело мнооого време. Но пък при проблем с осцилатор/PLL честотата няма да се смени и емулатора ще увисне... както и става...
|
| Пон Фев 23, 2015 4:23 pm |
|
 |
|
paregov
Ранг: Ориентиран
Регистриран на: Сря Мар 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 |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
 Re: J-Link - WARNING: CPU could not be halted
ми не помня вече как им бяха клоковете... Но помня че бяха Ентелигенти, демек ако накараш да се клоква от PLL а той не бачка по някаква причина изревава и си се връща на вътрешното RC. Ta това което не помня е дали при тая ситуация ще изгаси кристала... Така че не мога да кажа дали това което наблюдаваш е заради лош кристал или проблем с PLL. Изобщо това с барането не ме кефи, остана и боб да му хвърлиш  Аз затова мразя джейлинковете и тем подобните. Вземи едно ocd, вържи го и през конзолата си има командички - сетваш си клок да кажем 5kHZ, ресетваш таргета, пускаш тест на паметта. Дотук са само 3 команди и знаеш дали имаш чист рИсет или проца изобщо го няма. После вече може да видиш на кои адреси са ти регистрите за клоковете и ръчно да ги програмираш така че да се пусне осцилатора. Резултатът трябва да е видим както с осцилоскоп, така и в регистрите... Просто едно по едно ги тествай нещата...
|
| Пон Фев 23, 2015 7:21 pm |
|
|