|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 5:23 pm
J-Link - WARNING: CPU could not be halted
| Автор |
Съобщение |
|
paregov
Ранг: Ориентиран
Регистриран на: Сря Мар 01, 2006 2:21 pm Мнения: 267 Местоположение: Fort Lauderdale, FL
|
 Re: J-Link - WARNING: CPU could not be halted
Това добре ли е като хардуер за OCD? - https://www.sparkfun.com/products/7834
_________________ Всички обичаме да печелим, но колко от нас обичат да тренират!
|
| Пон Фев 23, 2015 7:44 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
 Re: J-Link - WARNING: CPU could not be halted
OCD да подкараш е ебати приключението.
Много по лесно е да изтриеш чипа, да набиеш един брекпоинт на ресет вектора (или малко след това) и да си трасираш стъпка по стъпка до момента в който стигнеш до паленето на кристала. И ще видиш той ли е виновен или нещо друго. Ако и след изтриване не можеш да се закачиш първия път - начи проблема не ти е в кристала.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Пон Фев 23, 2015 7:54 pm |
|
 |
|
4040
Ранг: Почетен член
Регистриран на: Сря Фев 04, 2015 8:11 pm Мнения: 610
|
 Re: J-Link - WARNING: CPU could not be halted
Бабешките лекове пробва ли? Резисторчета на VDDx, 1ком и надолу . Външно ресет чипче в няколко варианта: Като външен ресет. Като пускател на захранване. Като AC ритник - през 5-10пФ го връзваш към входа на кварца или към тези пинове, които пипаш. Също температурни, механични , магнитни и всякакви други въздействия, които се сетиш. Сега е момента да я сгащиш тая бубулечка. Такива редовно повтарящи се малфунции са направо мечта за ловеца на бъгове. Помисли и за екзорсист! 
|
| Пон Фев 23, 2015 8:33 pm |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
 Re: J-Link - WARNING: CPU could not be halted
То за лесното е лесно, ама човека дава лог в който се вижда че таргета конектва, опитва се да смени клока и губи връзка... Демек не стига изобщо до брейкпоинти и дебъгване  @paregov, абе ти ползваш сегерския gdb сервър бе човек... Не помня той имаше ли конзола? В краен случай от gdb конзолата monitor и после сегерските команди reset, четене/писане на памети и т.н. Въпросът е кой го кара да сменя клока на MHz? Разкарай ако можеш да не се сменя клока, само ресет и виж дали има някой....
|
| Пон Фев 23, 2015 8:56 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
 Re: J-Link - WARNING: CPU could not be halted
Клока се задава в двата варианта преди и след, ама аз досега желязо което да не тръгва от това не съм виждал. Даже ония кенефи старите им куртекси си отлепваха без проблем нa максималния клок след ресет ако е сетнат на вътрешния клок на ядрото. Затова му казах да го изтрие за да е сигурен че ще запали от RC и да се разбере дали кристала му е виновен. На мен отдалеч ми мяза все едно му пали самбата и от там му загива jtag a.
Сега на прясна глава се сещам, че подобно държане на желязото съм имал в три случая:
1. Ако пали бутлоадера от рома или се пуска с ремапнато адресно пространство и се опитваш едновременно да закачиш JTAG-a.
2. Ако съм омазал сетингите на кристала или PLL-a. J-Link по традиция не е особенно чевръст в ресета и честичко успява да изпусне ядрото да тръгне за малко (всъщност хич не е за малко) преди да го халтне. Ако през това време ядрото се обози, може да убие и JTAG-a.
3. Горното можеш да си самопричиниш и ако му разбъзикаш GPIO-тата на JTAG-а в началото на кода (я провери дали не правиш точно това!). Например да сетнеш SWDCLK на вход. Тогава желязото става абсолютно дебилно и единствения начин да се подкачиш е да го изтриеш тотално.
3. Ако имам външно куче, супервайзор или нещо дето да ми драйви допълнително ресета.
Това е. Според мен си някъде в тия хипотези. Или си нацелил някаква мноооооого глуха акула.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Вто Фев 24, 2015 12:20 am |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
 Re: J-Link - WARNING: CPU could not be halted
погледнах го тоя SAM4E... той тръгвал на бързо RC - 4МHz. Това значи че на 1MHz jtag клок трябва да работи. Аз си мислех, че тръгва с бавния клок като старите ~30kHz.
Освен ако джейлинка не прави някаква простотия и да сменя RC-то. Не знам... Цецо го познава по-добре. Аз знам как работи моя емулатор - мога да задам две честоти и инит скрипт. Емулатора прави ресет и с първия клок изпълнява инит скрипта, след което сменя на втория клок и подава топката на дебъгера. Инит скрипта обикновено прави софтуерна инициализация на проца, включая мога да си пусна PLL и да му вдигна клока. Но независимо от скриптовете имам и конзола и от там мога да избича нов хардуерен ресет и да почна начисто.
В случая възможните проблеми са 3: 1. Проблем със захранването, фронтове на захранване или кофти ресет - съотвено ядрото изобщо не тръгва. 2. Проблем с кварца 3. Проблем с PLL.
Възможно е както казва Цецо да хуква буутлоадер или друг софт и той да омазва нещата. Но не би трябвало... По принцип емулатора трябва да има опции за няколко вида ресет. Стандартният (АРМ) е хардуерен ресет и докато в ядрото е в ресет се вдига един бит така че след излизането от ресет ядрото не тръгва. Някои чепове (Луминари имаха такива) вътрешно бяха окъсили ресета на ядрото с ресета на jtag-a. При което докато ядрото е в ресет няма как да се сетват никакви битове по тап-контролера. Съответно след ресет емулатора не трябва да чака ядрото да спре, а да се опита максимално бързо да го стопира. Та затова трябва да има опции, би трябвало да ги има и в джейлинка... но не знам. Лошото е, че не знам и тоя новия SAM как точно се държи... При старите си спираше на първата инструкция (ако му кажеш). А пък ако го заключиш изобщо няма връзка нито преди първата, нито след първата...
|
| Вто Фев 24, 2015 10:50 am |
|
 |
|
paregov
Ранг: Ориентиран
Регистриран на: Сря Мар 01, 2006 2:21 pm Мнения: 267 Местоположение: Fort Lauderdale, FL
|
 Re: J-Link - WARNING: CPU could not be halted
Сегер имат и тулче което директно те вързва към JTAG-a без GDB сървър - J-Link Commander. Вчера малко се заиграх с него да го поразуча, че не ми се беше налагало да го ползвам до сега. Можеш да си му триеш паметта, да си качваш нови .hex файлове и какво ли не. Честно казано не се заиграх много с регистрите да сменям през него клока както Миро предложи. Нямах много време, но ще пробвам тези дни.
От това което Цецо каза остава да пали бутлоадера, но не виждам как ще стане. Нямам ремапване. Сетингите на кристала са си наред. Ползвам NuttX и от него си идват (проверил съм все пак). GPIO на JTAG-a не ги пипам, прегледах инициализацията пак. А и все пак си мисля, че е хардуерно защото същият софт тръгва на друга платка от същият модел. Нямам нищо външно на ресета освен 10к резистор.
Миро, остават за мен проблем с кварца или PLL. Но си мисля, че ако е кварца той няма да зацепи изобщо. Пробвал съм с няколко модела в този корпус и няма разлика.
Засега поръчах нова платка с променено захранване с филтрация на VDDPLL за да изключа и това като вариант, а и така е по-добре да си остане в крайният продукт. Ако и това не помогне пак ще продължа борбата, но засега ще гледам да отделя малко време и на софтуера на някоя от работещите платки.
Кварца през кое захранване е VDDPLL или някое друго?
_________________ Всички обичаме да печелим, но колко от нас обичат да тренират!
|
| Вто Фев 24, 2015 8:41 pm |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
 Re: J-Link - WARNING: CPU could not be halted
Все още не бих изключил и проблем със захранването и/или ресета. Действително в лога ти има че конектва в началото, обаче при първоначалното конектване често се чете само ID-регистъра, който е на TAP-а (jtag-a). Успешното четене значи че връзката по жиците е наред, обаче не е гаранция че ядрото е живо... Аз затова казвам, че след конектване трябва да се пробва четене на регистри и/или памет, преди да са сменяни клоци. Така ще разбереш дали е от проблем с клоци или по-сериозен проблем.
|
| Сря Фев 25, 2015 10:21 am |
|
 |
|
paregov
Ранг: Ориентиран
Регистриран на: Сря Мар 01, 2006 2:21 pm Мнения: 267 Местоположение: Fort Lauderdale, FL
|
 Re: J-Link - WARNING: CPU could not be halted
Изглежда JTAG интерфейса е наред. Това е от J-Link Commander:  |  |  |  | Цитат: Hardware: V9.30 S/N: 269300864 OEM: SEGGER-EDU Feature(s): FlashBP, GDB VTarget = 3.298V Info: TotalIRLen = 4, IRPrint = 0x01 Info: Found Cortex-M4 r0p1, Little endian. Info: FPUnit: 6 code (BP) slots and 2 literal slots Info: TPIU fitted. Found 1 JTAG device, Total IRLen = 4: #0 Id: 0x4BA00477, IRLen: 04, IRPrint: 0x1, CoreSight JTAG-DP (ARM) Cortex-M4 identified. Target interface speed: 100 kHz J-Link>regs CPU is not halted ! J-Link>h PC = 004003A4, CycleCnt = 00DD4236 R0 = 20000524, R1 = 00000000, R2 = 0115F135, R3 = 0115F135 R4 = 00000000, R5 = 00000000, R6 = 00000000, R7 = 00000000 R8 = 00000000, R9 = 00000000, R10= 00000000, R11= 00000000 R12= 00000000 SP(R13)= 20001E64, MSP= 20001E64, PSP= 00000000, R14(LR) = 00400315 XPSR = 01000000: APSR = nzcvq, EPSR = 01000000, IPSR = 000 (NoException) CFBP = 00000000, CONTROL = 00, FAULTMASK = 00, BASEPRI = 00, PRIMASK = 00 FPU regs: FPU not enabled / not implemented on connected CPU. J-Link>mem 0x00400000 32 00400000 = 74 1E 00 20 E9 02 40 00 05 01 40 00 0D 01 40 00 00400010 = 15 01 40 00 1D 01 40 00 25 01 40 00 FD 00 40 00 00400020 = FD 00 40 00 FD 00 40 00 FD 00 40 00 2D 01 40 00 00400030 = 35 01 J-Link>regs PC = 004003A4, CycleCnt = 00DD4236 R0 = 20000524, R1 = 00000000, R2 = 0115F135, R3 = 0115F135 R4 = 00000000, R5 = 00000000, R6 = 00000000, R7 = 00000000 R8 = 00000000, R9 = 00000000, R10= 00000000, R11= 00000000 R12= 00000000 SP(R13)= 20001E64, MSP= 20001E64, PSP= 00000000, R14(LR) = 00400315 XPSR = 01000000: APSR = nzcvq, EPSR = 01000000, IPSR = 000 (NoException) CFBP = 00000000, CONTROL = 00, FAULTMASK = 00, BASEPRI = 00, PRIMASK = 00 FPU regs: FPU not enabled / not implemented on connected CPU. J-Link>g J-Link>
|  |  |  |  |
Чете всичко, но все пак кристала не зацепва.
_________________ Всички обичаме да печелим, но колко от нас обичат да тренират!
|
| Сря Фев 25, 2015 10:16 pm |
|
 |
|
Zdrav
Ранг: Форумен бог
Регистриран на: Сря Яну 26, 2005 2:01 pm Мнения: 1952 Местоположение: Варна
|
 Re: J-Link - WARNING: CPU could not be halted
На платката ти не се виждат decoupling кондензатори близо до захранващите пинове. Освен това някъде в близост до процесора е добре да имаш и по-голям електролитен или танталов кондензатор - примерно 10-20 uF.
_________________ Най-опасният враг на истината и свободата е мнозинството.
|
| Пет Фев 27, 2015 12:39 am |
|
 |
|
paregov
Ранг: Ориентиран
Регистриран на: Сря Мар 01, 2006 2:21 pm Мнения: 267 Местоположение: Fort Lauderdale, FL
|
 Re: J-Link - WARNING: CPU could not be halted
Имам на другият слой. В следващата ревизия, която чакам от платкаджийницата имам дори повече.
_________________ Всички обичаме да печелим, но колко от нас обичат да тренират!
|
| Пет Фев 27, 2015 8:51 pm |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
 Re: J-Link - WARNING: CPU could not be halted
След като вече имаш козола защо не провериш дали е осцилатора или pll? Осцилатора се пуска само с вдигане само на един бит... не ми казвай, че те мързи да отвориш чаршафа и да видиш на кой адрес и какво трябва да запишеш 
|
| Пет Фев 27, 2015 9:02 pm |
|
 |
|
Zdrav
Ранг: Форумен бог
Регистриран на: Сря Яну 26, 2005 2:01 pm Мнения: 1952 Местоположение: Варна
|
 Re: J-Link - WARNING: CPU could not be halted
Тази платка ми прилича на опроводена с ауторутер. В горния слой пътечките предимно вертикални, в долния предимно хоризонтални. Вярно е че има кондензатори, но дали са разположени и опроводени като развързващи(decoupling)? Връзката с JTAG-a явно работи на 100 kHz, но в началото май се опитваше да се вържеш на 1 MHz и... греда. Провери си опроводяването на платката. Това че една от две платки работи, може би означава че е по-добре да си зададеш въпроса защо другата работи, а не защо тази се дъни.
_________________ Най-опасният враг на истината и свободата е мнозинството.
|
| Съб Фев 28, 2015 9:42 am |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
 Re: J-Link - WARNING: CPU could not be halted
Едва ли е от рутване, симптомите не съвпадат.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Съб Фев 28, 2015 10:13 am |
|
 |
|
Zdrav
Ранг: Форумен бог
Регистриран на: Сря Яну 26, 2005 2:01 pm Мнения: 1952 Местоположение: Варна
|
 Re: J-Link - WARNING: CPU could not be halted
Не знам Цецо, просто предположих че ако платката е опроводена от ауторутер, може някоя недомислица или грешка по захранванията да не е забелязана. При опроводяване на ръка няма как да ти убегне.
_________________ Най-опасният враг на истината и свободата е мнозинството.
|
| Съб Фев 28, 2015 10:55 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 6 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|