Jump to content

    
Sign in to follow this  
Oleg_IT

Cannot stop Arm device !

Recommended Posts

Keil V4.20.03.0, JTAG адаптер JetLinck8, драйвер JLinkARM_V476b, лицензии установил.

Отладочная плата SK-MLPC2478. В Options… Keil-а установлено J-LINK/J-TRACE.

При любой попытке обратится к процессору, появляется ошибка, картинка в приложении. Изменение скорости «JTAG Speed» не помогает. Keil в «Build Output» пишет

 

Load "E:\\ARM\\Test_2478\\Out\\Test_2478.AXF"

VTarget = 3.274V

Info: TotalIRLen = 4, IRPrint = 0x01

Info: Using DBGRQ to halt CPU

Info: Resetting TRST in order to halt CPU

***JLink Error: Unable to halt CPU core

 

Программой JLink.exe процессор не останавливается, «Reset target (RESET)» проходит.

Как преодолеть?

post-5709-1380618084.png

Share this post


Link to post
Share on other sites

С настройкой pll мк до этого не игрались?

Как преодолеть?

Как вариант - через заводской загрузчик по uart зашить исправную прогу. И продолжить свои опыты.

Share this post


Link to post
Share on other sites

Через Flash Magic работает, но мне отладчик нужен.

 

Может у меня не правильная настройка адаптера, скорость, ресет… Они у меня от второго, попроще, адаптера стоят, у того программа слетела, уже второй раз, на восстановление отдал.

 

 

Share this post


Link to post
Share on other sites

Уверены, что Ваша заливаемая программа не уходит в "астрал" до того, как jtag адаптер сможет подключиться к мк?

 

Если хотите понять причину "астрала" и точно знаете, что до main стартовый код отрабатывает без проблем, то как враиант - вставьте задержку в несколько секунд перед выполнением Вашешо кода.

 

PS: и да, в памяти всплывает - в опциях jlink не надо ставить адаптивные клоки. И способ сброса в Кейле можно выбрать специально для Lpc.

Share this post


Link to post
Share on other sites
Уверены, что Ваша заливаемая программа не уходит в "астрал" до того, как jtag адаптер сможет подключиться к мк?

 

Если хотите понять причину "астрала" и точно знаете, что до main стартовый код отрабатывает без проблем, то как враиант - вставьте задержку в несколько секунд перед выполнением Вашешо кода.

 

PS: и да, в памяти всплывает - в опциях jlink не надо ставить адаптивные клоки. И способ сброса в Кейле можно выбрать специально для Lpc.

Вполне возможен "астрал", потому и нужен отладчик. Странно, что JTAG не пожет "победить" не правильную программу.

 

Неоднократно видел такое сообщение при банальном непропае на вновь собранных платах.

МК: LPC2378

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

Share this post


Link to post
Share on other sites
Странно, что JTAG не пожет "победить" не правильную программу.

Когда Ваш lpc2478 сброшен, то модуль jtag, как и любая периферия, тоже сброшен. После выхода из состояния сброса Ваш отладчик должен восстановить контроль над мк. Это занимает определенное количество тактов. И пока эти такты тикуют, выполняется программа, зашитая в кристалл. Как-то так.

Share this post


Link to post
Share on other sites
Нет, это тоже не мой случай, один раз вся связка сработала.

Значит чтото с clock/PLL.

Загнано высоко.

Чето в подкорке вспоминается подобное..

Share this post


Link to post
Share on other sites
Значит чтото с clock/PLL.

Загнано высоко.

Чето в подкорке вспоминается подобное..

подобное было, но не с 7, а с 9 ядром. JLink ни в какую не хотел связываться. В результате через JFlashARM и руками выставленный клок в 5 КГц (!!!) удалось связаться и стереть кристалл

Проблема действительно, после анализа кода, была в настройках PLL - банально одна цифра нажата была два раза, в результате чего множитель взлетел в космос

Share this post


Link to post
Share on other sites

В моём случае "виноват" сам код, поставил задержку при старте и 500 кГц в JTAG-е и всё заработало.

 

Вопрос теперь в другом, не ясно откуда "астрал" берётся. Мучаю код с EMAC, раз повиснет на MAC1 = 0;, другой раз на чтении регистра PHY.

Share this post


Link to post
Share on other sites
раз повиснет на MAC1 = 0;, другой раз на чтении регистра PHY.
А вы перед переключением на высокую частоту выставляете такты задержки флеша? Без этого из флеша может читаться и исполняться что угодно. Пока есть команды в буфере предвыборки - все работает. Как пошли считанные после разгона - все: чудеса, исключения и т.д.

Share this post


Link to post
Share on other sites

может мне у себя тоже увеличить задержку флеш и виснуть перестанет?

 

сейчас вот это заклинание работает

/* Configure Flash prefetch, Instruction cache, Data cache and wait state */

FLASH->ACR = FLASH_ACR_PRFTEN |FLASH_ACR_ICEN |FLASH_ACR_DCEN |FLASH_ACR_LATENCY_5WS;

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this