Перейти к содержанию
    

LPC2478 + J-Link странности в работе

Здравствуйте! Проконсультируйте пожалуйста, кто в теме. Пытаюсь прочитать содержимое LPC2478 при помощи J-Link.

После выполнения команды Target->Connect, появляется предупреждение...

 

post-76966-1502823911_thumb.jpg

 

Закрываем его, после этого LPC2478 читается без проблем, делал это несколько раз, файлы совпадают.

Кто знает из-за чего проявляется эта ошибка???

 

Также иногда появляется сообщение...

 

post-76966-1502824068_thumb.jpg

 

Есть возможность указать частоту в Option->Project Setting, но это не помогает. Повторное Target->Connect решает проблему.

 

При попытке записи считанной прошивки в новый LPC2478 появляется сообщение...

 

post-76966-1502824322_thumb.jpg

 

Если ответить "Да", то процессор прошивается без проблем! Есть ли шанс что первоначально прошивка читается неверно и от этого ошибка в CRC??

 

Кто сталкивался, развейте сомнения!!! Спасибо!!!

Изменено пользователем Сергей Владимирович

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если ответить "Да", то процессор прошивается без проблем! Есть ли шанс что первоначально прошивка читается неверно и от этого ошибка в CRC??

А где Вы в том окошке CRC узрели-то??? Имхо: имеется в виду контрольная сумма первых нескольких векторов из таблицы прерываний.

По проблеме: ваш J-Link поддерживает ARM7? WDT выключен? JTAG правильно подключен? и т.п.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я подумал, что контрольная сумма и CRC - одно и тоже...

 

LPC2478 есть в списке "J-Flash V6.18a"...

 

post-76966-1502863493_thumb.jpg

 

...судя по логу соединяется...

 

Connecting ...

- Connecting via USB to J-Link device 0

- Using adaptive clocking instead of fixed JTAG speed

- VTarget = 3.293V

- Executing init sequence ...

- Initialized successfully

- Using adaptive clocking instead of fixed JTAG speed

- CPU clock frequency: 4025 kHz (Auto detected)

- J-Link found 1 JTAG device. Core ID: 0x4F1F0F0F (None)

- Connected successfully

 

Вот по поводу WDT ничего не могу сказать... в настройках ничего не нашел... как это можно проверить??

 

JTAG правильно подключен? Всё по даташиту...

 

post-76966-1502863998_thumb.jpg

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Первое окно, с сообщением "...Jlink is defective" стало появляться в новых версиях ПО от segger, судя по всему они добавили какую-то проверку на лицензию устройства. Я использую версию V6.12, там этой проверки еще нет, можно скачать в архиве на официальном сайте.

Так же, бы ли посты на форуме с прошивкой для JLink которая лечит данную проблему, но лично это не проверял.

 

UPD:Проверил прошивку, работает. Источник

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я подумал, что контрольная сумма и CRC - одно и тоже...

Нет.

Насколько помню: в LPC в векторе 7 (номер возможно путаю) таблицы прерываний должна быть сумма предыдущих векторов, которую проверяет ROM-загрузчик (и видимо проверяет эмулятор при загрузке).

Если в считанной Вами прошивке этой суммы нет - видимо неверно считали. Прошивка в неверной суммой просто не запустится.

 

Вот по поводу WDT ничего не могу сказать... в настройках ничего не нашел... как это можно проверить??

WDT я имел в виду внешний, на плате, если таковой есть. Внутренний по дефолту выкл.

 

Ещё можно попробовать выставить явно частоту JTAG. Фиксированной. И пониже.

И попробовать загрузку в RAM.

Также можно попробовать подключиться к МК по UART (Flashmagic-ом) например и стереть его полностью.

Да - и в каком состоянии у Вас boot-пины?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...окно, с сообщением "...Jlink is defective" стало появляться в новых версиях ПО от segger...

Спасибо! Это всё проясняет)))

 

...в LPC в векторе 7 таблицы прерываний должна быть сумма предыдущих векторов, которую проверяет ROM-загрузчик... Если в считанной Вами прошивке этой суммы нет - видимо неверно считали. Прошивка в неверной суммой просто не запустится.

Есть подозрение что первый сектор был стёрт, отсюда и проблема. С этим понятно, считаю с заведомо рабочего процессора...

 

WDT я имел в виду внешний, на плате, если таковой есть. Внутренний по дефолту выкл.

Таковой на плате отсутствует, значит дело не в нём.

 

Также можно попробовать подключиться к МК по UART (Flashmagic-ом) например и стереть его полностью.

В том то и дело, что нельзя! Нужна прошивка!!

 

Да - и в каком состоянии у Вас boot-пины?

Вы имеете ввиду линию P2[10] (LOW on this pin while RESET is LOW forces on-chip bootloader to take over control of the part after a reset)?

Вот собственно схема платы..., взгляните, если вас не затруднит. Спасибо!

 

LPC2478_board_v1.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В том то и дело, что нельзя! Нужна прошивка!!

 

не нужна, бутлодырь с завода, и так просто его не стерешь

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что-то я сомневаюсь, что обошлось одним бутлоадером! А как он программу с flash внешней вычитывает?? LPC работает в связке с ...29LV640+IS42S32200E!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В том то и дело, что нельзя! Нужна прошивка!!

Почему нельзя?? Не понял... :wacko:

Это вполне вероятная причина глюков - раз у Вас там во флеше уже как Вы пишете первый сектор стёрт или повреждён - т.е. ПО нерабочее, возможно оно всё-таки стартует, а дальше - пересбрасывается процессор или улетает в HardFault или ещё чего. И так по кругу. Из-за этого и проблемы с подключением JTAG.

У меня в практике с LPC такое иногда случалось. В этом случае надёжно помогало - ногу 2.10 на '0', RESET и дальше стереть всю флешь FlashMagic-ом. После этого JTAG начинал нормально работать.

 

Вы имеете ввиду линию P2[10] (LOW on this pin while RESET is LOW forces on-chip bootloader to take over control of the part after a reset)?

Вот собственно схема платы..., взгляните, если вас не затруднит. Спасибо!

Да оно самое. У Вас вон даже кнопка для этого есть.

 

Что-то я сомневаюсь, что обошлось одним бутлоадером! А как он программу с flash внешней вычитывает?? LPC работает в связке с ...29LV640+IS42S32200E!!

Бутлоадер потому и называется бутлоадером, что может грузить прошивку из разных источников. Список источников зависит от конкретного МК.

И из UART, из внешней FLASH и с USB и с Ethernet и т.д.

 

PS: Да, по схеме - на вход RESET лучше ставить супервизор после кнопки. Чтобы обеспечить требуемую минимальную длительность сигнала RESET, а не дёргаться на импульсах дребезга.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо! Всё заколосилось))) Прошивку слил!!!

 

А вы случаем не в курсе может ли Flash Magic слить прошивку... Смотрел меню смотрел, но так "Read" не нашёл(((

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

JLink defective ...

появляется из-за GDBFull в строке лицензии.

Проверяется для некоторых типов JLink.

Можете поменять на GDB или GDBFULL (точно не помню) или просто убрать из списка лицензии.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вы случаем не в курсе может ли Flash Magic слить прошивку... Смотрел меню смотрел, но так "Read" не нашёл(((

Откройте даташит на Ваш МК на разделе "ISP". Если он содержит функцию чтения - значит может, иначе - нет. FlashMagic работает через ISP.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте, уважаемые форумчане! Всем доброго времени суток!

Пишу здесь, потому как разбирались как раз c LPC2478.

Такая проблема:

Залили прошивку, всё нормально. CRP режим отключён - это видно по возможности отладки. Места проверок содержимого по адресу 0x1FC запатчены, контрольная суммы пересчитаны правильно. Используем для отладки прошивки Ozone J-Link Debugger v3.10a.

Удачный коннект, некоторое время можно полноценно отлаживать код. Но по прошествии некоторого времени появляется в консоли "Connection to target device lost" и тут же окно, в котором написано "Failed to read target status. Abort Debug Session?". Такая проблема независимо от того, выполняется код или остановлен. Пробовал понизить скорость JTag - не помогает. Посоветуйте, что можно сделать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 часов назад, DenCoder сказал:

Посоветуйте, что можно сделать.

Питание нормальное? Или от программатора берете? Во втором случае могут быть грабли.

WDT, конечно, может быть включен где-нибудь в разделе конфигурационной памяти.

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

Тогда надо будет определять причину сброса - если в этом МК есть регистр с причиной сброса - выводите его куда-нибудь, например, в UART.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...