| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| J-Link - WARNING: CPU could not be halted http://mcu-bg.com/mcu_site/viewtopic.php?f=2&t=13540 |
Страница 1 от 3 |
| Автор: | paregov [ Пон Яну 26, 2015 7:26 pm ] | ||
| Заглавие: | 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 Добавям пълният трейс в прикачен файл. Също така на платката осцилатора не тръгва. Не знам дали той е причината да не може да се халтне процесора или е обратното. Конфигурацията на дебъгера е наред. Същият процесор на друг модел платка си го дебъгва без проблем. Пробвах две платки от този модел (толкова имам наситени) и двете се държат по еднакъв начин. Навеждаме на мисълта, че най-вероятно е хардуерен проблем. Някакви идеи ?
|
|||
| Автор: | gicho [ Вто Яну 27, 2015 1:40 am ] |
| Заглавие: | Re: J-Link - WARNING: CPU could not be halted |
Пусни схемата на около микроконтролера да видим дали има нещо съмнително. Как са вързани ресетите и SWD? |
|
| Автор: | miro_atc [ Вто Яну 27, 2015 11:21 am ] |
| Заглавие: | Re: J-Link - WARNING: CPU could not be halted |
Според лог-а се конектва и веднага след като смени клока 1MHz връзката изчезва... Изглежда си точно като проблем с осцилатора... може да е хардуерен, може и софтуера да не го пуска като хората. Ако ограничиш клока на jlink-a би трябвало да може да конектнеш и през конзолата да си сетваш регистрите сам и да видиш дали ще запали осцилатор, pll и т.н. |
|
| Автор: | paregov [ Пон Фев 23, 2015 2:34 am ] | ||
| Заглавие: | Re: J-Link - WARNING: CPU could not be halted | ||
Определено проблема се оказа хардуерен, но още не е ясно защо точно се проявява. Един от вариантите е, защото нямам филтрация на PLL захранването. Прикачам какво препоръчват от Атмел в Atmel-42231-SAM4E-Schematic-Checklist_AP-Note_AT06068.pdf Това не съм го спазил и имам само кондензатори на VDD_OUT. Този проблем го наблюдавам вече на повече платки, не само на тази която имах проблем в началото. На нея й пуснах втора ревизия и там една от две тръгна и другата има същият проблем. Също така пуснах една платка с ATSAM4E16E и пак така. Едната тръгна от раз и няма проблеми, а другата не пожела. След известна борба се установи, че ако докосна с пръст платката на определено място кристала тръгва. Странното е, че където докосвам са само GPIO конфигурирани като входове. Мислите ли, че може да е проблем с фитрацията или нещо друго?
|
|||
| Автор: | Nikola Kirov [ Пон Фев 23, 2015 11:15 am ] |
| Заглавие: | Re: J-Link - WARNING: CPU could not be halted |
Някои по стари армчета имаха претенции към минимална скорост на нарастване на захранването. Като е по малка и зависваха в разни неустановени състояния. От AT91SAM7S серията. В новите им ревизии го оправиха това. Провай да го захраниш външно и виж какво ще стане. |
|
| Автор: | ДедоБоре [ Пон Фев 23, 2015 11:28 am ] |
| Заглавие: | Re: J-Link - WARNING: CPU could not be halted |
по принцип много процесори са капризни на тема сикуенс и фронт на захранването, не знам как е в SAM, но щом Никола е настъпвал мотиката, вероятно важи и за тях. отделно, PLL също са чувствителни към захранвания. спазвай каквото пише в чаршафа и не би трябвало да има грижи. |
|
| Автор: | miro_atc [ Пон Фев 23, 2015 12:29 pm ] |
| Заглавие: | Re: J-Link - WARNING: CPU could not be halted |
Това с фронтовете беше каприз на първите ревизии на SAM7... което не значи, че го изключвам като възможност, но по наличните данни повече мирише на проблем с клоците. Както казва Дедо слон са ядял на порции (аз не съм ял, ама така разправя). Та в началото бих ограничил клока на емулатура. Мисля че джейлинка трябва да има такава възможност, ако не намери едно просто оцд. Да си стои на 1-5kHz и пускаш да дебъгваш. Ако си изпълнява инструкциите, ако четеше и пишеш паметта да знаеш че рИсета е минал благополучно и едва ли е фронта на захранването. Следващата стъпка е да пуснеш осцилатора, най-добре без да превключваш клока, просто пускаш и гледаш регистрите дали ще тръгне. Мисля че си имаше такива флагчета. Ако тръгне кристала, вече може да видиш дали проблема не е PLL-a. Напълно е възможно без филтрите да не тръгне. Иначе цялата тая гимнастика не е зле да си е заложиш в софтуера, щото при производство винаги се случва я фалшив кварц я нещо окъсено, незапоено и т.н. Затова софта е добре да си ги прави тия стъпки и да си рапортува къде закъсва ако нещо не тръгне. Аз го правя с трейс, ама с джейлинка не знам дали ще тръгне трейса без клок... Другия вариант ако имаш светодиотчета да мигаш проблемите както BIOS-те... |
|
| Автор: | 741 [ Пон Фев 23, 2015 12:40 pm ] | |||||||||
| Заглавие: | Re: J-Link - WARNING: CPU could not be halted | |||||||||
Опитай с по-малки кондензатори на осцилатора, примерно 10pF. Тези, дето си ги писал на схемата, изват възголемки и малко над позволеното. Брал съм ядове от това с други атмелски чипове и оттогава чета внимателно спецификацията в тая част. |
||||||||||
| Автор: | Nikola Kirov [ Пон Фев 23, 2015 12:42 pm ] |
| Заглавие: | Re: J-Link - WARNING: CPU could not be halted |
AT91SAM7S не им тръгваше също клока като изпаднеха в такова странно състояние. Затова ти обръщам внимание на тоз древен бъг. |
|
| Автор: | DanielDimov [ Пон Фев 23, 2015 3:20 pm ] |
| Заглавие: | Re: J-Link - WARNING: CPU could not be halted |
Процесора или J-link-а (или и двете) имат ли по спецификация минимална честота на която могат да работят заедно? На другата платка (на която работи) пак ли се превключва на същата честота? |
|
| Автор: | miro_atc [ Пон Фев 23, 2015 4:23 pm ] | |||||||||
| Заглавие: | Re: J-Link - WARNING: CPU could not be halted | |||||||||
Няма минимална, ех все пак честотите се свалят с хардуерни делители с определен брой стъпки... не става до безкрай да ги смъкваш Принципно JTAG клока трябва да е по-нисък от CPU клока. В случая не съм сигурен дали не трябва да е 2 пъти по-нисък. Не помня вече... И тъй като тоя, както и много други контролери след ресет тръгват на една честота, а софтуера след това може да я смени та затова JTAG/SWD емулаторите им се задават две честоти - за след ресет и за след ресет скрипта. Тук има и още една подробност, че ресет скрипта на емулатора може да сменя честотата на проца. Прави се тъй като обикновено емулатора трябва да префлашне проца, а както в случая с Атмел той тръгва на много ниска честота и флашването би отнело мнооого време. Но пък при проблем с осцилатор/PLL честотата няма да се смени и емулатора ще увисне... както и става... |
||||||||||
| Автор: | paregov [ Пон Фев 23, 2015 6:48 pm ] |
| Заглавие: | Re: J-Link - WARNING: CPU could not be halted |
@Никола, пробвах и с външно захранване и същата работа. На която платка си работи с нейното захранване си работи и с външно и където не работи с нейното не работи и с външно. @Дедо, сега промених захранването както са го направили в Evaluation Kit-a на този процесор (поне частта за PLL захранването). Това значи обаче чакане още седмица, две за новите платки. @Миро, това е добра идея, ще взема малко да барна инициализацията. Имам диоди и май ще е добре наистина на тях да показвам статуса. Закачам осцилоскопа на кристала и той не тръгва докато не барна с пръст пиновете на процесора от точно определена страна. Това се наблюдава със закачен дебъгер или без дебъгер. Без дебъгер като подам захранване и никаква промяна на осцилоскопа. Като барна процесора и всичко тръгва и вече работи без проблем до следващо спиране на процесора. @741, ще пробвам и с 10pF, само да пристигнат след няколко дена, че нямам в наличност. @Даниеле - да, на другата платка е на същата честота пак. Настройките на дебъгера са същите, само сменям платките. |
|
| Автор: | Цецо [ Пон Фев 23, 2015 7:10 pm ] |
| Заглавие: | Re: J-Link - WARNING: CPU could not be halted |
Да не би да пали бутлоадера по някаква причина. Повечето подобни железа като им тръгне бутлоадера и JTAG-а се насира. Пробвай да го изтриеш през пина и виж дали първия лог след това ще е по различен от сегашния. На изтрито желязо, трябва да запали през вътрешния осцилатор - не би трябвало да имаш проблем да се конектеш първия път, даже и без кристал (ако презумираме че проблема е около кристала, в което се съмнявам). |
|
| Автор: | miro_atc [ Пон Фев 23, 2015 7:21 pm ] | |||||||||
| Заглавие: | Re: J-Link - WARNING: CPU could not be halted | |||||||||
ми не помня вече как им бяха клоковете... Но помня че бяха Ентелигенти, демек ако накараш да се клоква от PLL а той не бачка по някаква причина изревава и си се връща на вътрешното RC. Ta това което не помня е дали при тая ситуация ще изгаси кристала... Така че не мога да кажа дали това което наблюдаваш е заради лош кристал или проблем с PLL. Изобщо това с барането не ме кефи, остана и боб да му хвърлиш Аз затова мразя джейлинковете и тем подобните. Вземи едно ocd, вържи го и през конзолата си има командички - сетваш си клок да кажем 5kHZ, ресетваш таргета, пускаш тест на паметта. Дотук са само 3 команди и знаеш дали имаш чист рИсет или проца изобщо го няма. После вече може да видиш на кои адреси са ти регистрите за клоковете и ръчно да ги програмираш така че да се пусне осцилатора. Резултатът трябва да е видим както с осцилоскоп, така и в регистрите... Просто едно по едно ги тествай нещата... |
||||||||||
| Страница 1 от 3 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|