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

China-Link, Вариант отладчика из Китая

В 14.12.2021 в 13:50, UniSoft сказал:

Вот это попробуйте, должно помочь

https://mega.nz/file/UlFTkKjL#um5R1uU4YPXtX8bc7hoorRJlyjAefbJ--zJLvBZh36o

Сообщите о результате.

 

Добрый день! 

Закирпичил клон v10. Сейчас в bootloader mode. Решение из цитаты выше не видит устройства по usb. Сеггеровские программы откатил до 7.52d, при подключении говорят firmvare отсутствует, обновлять пытаются, прогресс бар бежит, но ничего не происходит. "exec invalidatefw" использовать не могу по причине того же bootload. Подозреваю Flash Patch уже обнулен стараниями сеггера. Может быть подскажете куда копать?

 

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


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

Ещё раз внимательно прочитал форум.

"В драйверах v7.58d, наличие Built-in лицензий RDI или JFlash приводит к
предупреждению "The connected probe appears to be a J-Link clone"
для J-Link V9, V10 и V11 с серийным номером из диапазонов
26x`xxx`xxx, 5x`xxx`xxx и 82x`xxx`xxx, а также, для J-Link OB V1 с
серийным номером из диапазона 80x`xxx`xxx. Для J-Link V10 и V11
серийные номера из диапазона 80x`xxx`xxx амнистированы."

 

Исходя из этого последняя версия до которой можно безопасно обновиться для J-Link V9 - 7.58c ?

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


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

3 hours ago, Galf said:

наличие Built-in лицензий RDI или JFlash приводит к
предупреждению "The connected probe appears to be a J-Link clone"

Неправда, нет предупреждений
License(s): GDB, FlashBP, FlashDL, JFlash, RDI

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


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

2 часа назад, x893 сказал:

Неправда, нет предупреждений
License(s): GDB, FlashBP, FlashDL, JFlash, RDI

Хорошо. Это не я написал. Эта инфа с этой ветки этого же форума.

 

Но вы можете наконец-то написать, какая последняя версия софта не окирпичивает J-Link V9? Неужели написать версию, это так сложно? Если сами знаете конечно.

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


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

3 hours ago, Galf said:

Но вы можете наконец-то написать

Никто и не просил версию

image.png.921ee17e4dc9bae8b222867d5834451d.png

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


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

Вот такая плата J-Link V9

1.thumb.jpeg.cae6d73efb532c1c753d4e12da21ea7c.jpeg

 

На плате ошибка. +3,3V через резистор 10кОм резисторной сборки RN5 "лишней" дорожкой соединено с линией VTref. Из-за этого на VTref всегда +3,3V даже со снятой перемычкой. Пришлось поднять резисторную сборку RN5, перерезать "лишнюю" дорожку и запаять резисторную сборку на место. Теперь без таргета на VTref 0V. "Лишняя" дорожка условно показана зелёной линией на фото. Ещё добавил smd конденсатор 0,01 мкФ между VTref и землёй.

 

2.thumb.jpg.7702fc160651c7d5bcefede278859839.jpg

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


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

On 8/20/2022 at 3:08 AM, chardash said:

Закирпичил клон v10.

Как именно?

 

On 8/20/2022 at 3:08 AM, chardash said:

Решение из цитаты выше не видит устройства по usb.

Должно видеть! Вы же сами пишете: "прогресс бар бежит"...

 

On 8/20/2022 at 3:08 AM, chardash said:

при подключении говорят firmvare отсутствует, обновлять пытаются, прогресс бар бежит, но ничего не происходит

Про это я уже писал, bootloader сравнивает версии и если она ниже или равна той, что уже прошита в jlink'е,

то данные принимаются в холостую, без реальной записи во Flash. 

"exec invalidatefw" выполняет ту же процедуру прошивки, только проделывает маленький трюк, переводит месяц в верхний регистр.

ну т.е. вместо "J-Link V10 compiled Jul 22 2022 11:40:29" сделает "J-Link V10 compiled JUL 22 2022 11:40:29"

тет самым форсирует процесс записи.

 

On 8/20/2022 at 3:08 AM, chardash said:

Подозреваю Flash Patch уже обнулен стараниями сеггера. Может быть подскажете куда копать?

Что значит уже обнулен?

в клоне есть кастомный код - патч (в бутлоадере), который собственно и настраивает FlashPatch,

а затем стартует прошивка, которая (начиная с версии 6.32i) и обнуляет эти регистры,

далее проверяется сигнатура, и соответственно проваливается (ведь uniqID не подменился),

ну и уходит в boot mode.

Куда копать спрашиваете?

Ну причины этого просты:

1. Более новая версия прошивки, которая обходит/дезактивирует патч. (Я не могу знать какие еще есть патчи, я видел и разбирал только тот, что бы у меня в клоне).

2. Повреждена сигнатура

3. Поврежден серийный номер либо его контрольная сумма.

---

Решения:

пункт 1, обходится понижением прошивки (но нужно форсировать запись, увеличив например год),

остальные 2 не имеют простого решения, кроме как полной перепрошивкой...

 

Две страницы назад я выкладывал свою утилиту, можете запустите exe без параметров, что она напишет?

Она проделывает все те-же проверки, что и в jlink, и выводит инфу, может что станет более понятно.

Ну и дамп можете снять (мой email есть в readme).

 

18 hours ago, Galf said:

Ещё раз внимательно прочитал форум.

"В драйверах v7.58d, наличие Built-in лицензий RDI или JFlash приводит к
предупреждению "The connected probe appears to be a J-Link clone"
для J-Link V9, V10 и V11 с серийным номером из диапазонов
26x`xxx`xxx, 5x`xxx`xxx и 82x`xxx`xxx, а также, для J-Link OB V1 с
серийным номером из диапазона 80x`xxx`xxx. Для J-Link V10 и V11
серийные номера из диапазона 80x`xxx`xxx амнистированы."

Это относится к V10 и выше...

Для V9 можно вообще не заморачиваться, там особо нет никаких ограничений...

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

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


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

Upd

 

f.thumb.JPG.3b56658d98f36d5cbfb0b8eef7d090f1.JPG

После того как я перерезал "лишнюю" дорожку между линией VTref и +3,3V после резистора 10кОм (на рисунке показана зелёной линией), не инвертирующий вход повторителя на ОУ U17 оказался "подвешен" в воздухе и это привело к нестабильности в работе ОУ. Чтобы при отсутствии таргета ОУ был надёжно закрыт, я добавил smd резистор 10кОм подпаяв его одним концом к VTref, а другим к земле. Добавленный резистор вместе с добавленным конденсатором выделены на рисунке красным цветом. Вот теперь точно все нормально. При отсутствии таргета, VTref = 0, при таргете 3,3V, VTref = 3,3V.

 

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

Это относится к V10 и выше...

Для V9 можно вообще не заморачиваться, там особо нет никаких ограничений...

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

Попробую сегодня прошиться на v7.70c

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


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

Почитав этот форум, изначально, я установил J-Link v7.56d. При подключении программатора J-Link V9.6, JLink Commander предложил обновить прошивку, что я и сделал. Программатор при этом неокирпичелся. Затем я рискнул поставить J-Link v7.70с. При подключении программатора, JLink Commander не предложил обновить прошивку. А JLinkConfig показал следующее:

SEGGER J-Link Configuration V7.70c
Logging started @ 2022-08-21 16:33
Updating firmware of probe/ programmer 1 of 1 via USB (SN: 69XXXXXX)...Not updated, probe/ programmer firmware is already up to date.

Получается, что прошивка обновилась еще при прежней версии J-Link v7.56d и с тех пор SEGGER прошивку не обновлял. А я то думал, что прошивка обновляется каждый раз при выходе новой версии софта...

Теперь, если я правильно понимаю, то у меня последняя версия прошивки: Firmware: J-Link V9 compiled May  7 2021 16:26:12, последняя версия софта J-Link v7.70с и при этом программатор работает и неокирпичелся.

Правда серийный номер у меня не из этих 11111117, 20100214, 50331647, 20090626, 20080696, 20064001, 20101001, 24446459, 805306163, 377001345, 270676280, 17892859, 99999994, 286370559, 260000000...269999999, 50000000...59999999, 820000000...829999999, 800000000...809999999.

Вобщем можно сказать, что я всем доволен. Прошивка и софт последние, куча микроконтроллеров на борту. Хорошо, что я взял V9, а не V10 или V11.

Как итог, J-Link V9.6 можно смело обновлять версией J-Link v7.70с. Всё работает.

782348088_J-LinkV9_6G.thumb.JPG.30475c4cebebf5121c95530c79621bc4.JPG

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


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

18 часов назад, UniSoft сказал:
Цитата

Как именно?

Установил последнее по от сеггера и согласившись на обновление прошивки

Цитата

Должно видеть! Вы же сами пишете: "прогресс бар бежит".

Бежит в приложении Сеггера, когда заново подключаю программатор и соглашаюсь на обновление прошивки

Еще видит Ваша утилита, чуть ниже напишу, что выдает при запуске без параметров

А эта утилита пишет 

DLL version V6.33h, compiled Jul  5 2018 14:49:50

Connecting to J-Link via USB...
 

Цитата

 

Что значит уже обнулен?

в клоне есть кастомный код - патч (в бутлоадере), который собственно и настраивает FlashPatch,

 

А, теперь понял, как это работает

 

Цитата

а затем стартует прошивка, которая (начиная с версии 6.32i) и обнуляет эти регистры,

Сейчас откатил все до 6.32H, но теперь и commander не видит программатора

думаю, надо DLL использовать более свежую

 

---

Цитата

 

Решения:

пункт 1, обходится понижением прошивки (но нужно форсировать запись, увеличив например год),

 

чтобы увеличить год, надо, что бы commander увидел устройство, ведь в нем же пишут exec invalidatefw?

Кстати, было бы удобно, если бы эту команду можно было бы подавать в Вашей утилитке, или это возможно?

 

Цитата

Две страницы назад я выкладывал свою утилиту, можете запустите exe без параметров, что она напишет?

Connecting to J-Link via USB...
WARNING: J-Link is in BOOTLOADER Mode!
INFO: Firmware: J-Link V11 compiled Jun  3 2019 BTL
INFO: S/N: 5......7
INFO: Feature(s): GDB, JFlash, FlashDL, RDI, FlashBP
INFO: Built-in license(s): FlashBP,GDB,FlashDL,JFlash,RDI
INFO: SN CheckSum Verification OK! [F.......6]

Серийник и сигнатуры, похоже не пострадали 

 

 

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


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

6 hours ago, chardash said:

Сейчас откатил все до 6.32H, но теперь и commander не видит программатора

думаю, надо DLL использовать более свежую

Так у вас версия V11 а не V10...

Не помните какая последняя версия у вас работала?

Старые версии вам ставить нет никакого смысла, они ничего не знают про V11 (его тогда еще не существовало), поэтому и ничего не делает, потому-что попросту не распознает его.

Соответственно и комплект восстановления также не поможет, он только для V10.

Можно конечно попробовать заменить в dll строки "J-Link V10 " на "J-Link V11 ", тем самым залив прошивку от V10, и уже потом сделать invalidatefw  в последней рабочей версии.

Я не знаю с какой именно версии появилась поддержка V11, надо ее искать и патчить, но это очень не просто, в ней прошивки уже упакованы.

Гляну дамп, может что еще добавлю.

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


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

18 hours ago, chardash said:

А, теперь понял, как это работает

Посмотрел я ваш дамп,

у вас использовали несколько иной подход. В общем работает он так:

кастомный бутлоадер патчит пару векторов в прошивке: HardFault_Handler и MemManage_Handler, а также настраивает MPU, где ставит запрет на доступ к памяти 0x10400100...0x1040011F (это точка входа в IAP). Таким образом при первом же обращении к IAP, сработает исключение (один из тех самых подмененных векторов), а там в обработчике прерывания отключается MPU и настраивается FlashPatch, таким вот образом они обошли обнуление FlashPatch.

Но беда вот в чем, теперь девелоперы добавили проверку векторов (считают SHA256 всего, даже дату, все кроме 3 байт месяца),

с этим вообщем-то и связан вылет в бут режим.

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


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

3 часа назад, UniSoft сказал:

 Таким образом при первом же обращении к IAP, сработает исключение (один из тех самых подмененных векторов), а там в обработчике прерывания отключается MPU и настраивается FlashPatch, таким вот образом они обошли обнуление FlashPatch

Спасибо за проделаную работу! Я еще не пррбовал заменять версии в dll, как сейчас понимаю, к выводу из bootload это не приведет.

Вечером посмотрю версию ПО на котором этот программатор еще работал.

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

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


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

1 hour ago, chardash said:

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

не важно какую dll вы возьмете, бутлоадер все равно не даст понизить версию прошивки. Ну и некоторые прошивки теперь уже лежат в отдельных файлах и в том числе: .\Firmwares\JLink_V11.bin 

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

invalidatefw помогло бы, если бы коннект проходил, но процедура подключения к j-link'у использует некоторые команды, которые не поддерживаются бутлоадером (их там нет), а любая неизвестная бутлоадеру команда заводит его в бесконечный цикл, и он перестает как-либо отвечать. Уж не знаю, они это сделали преднамеренно или просто так получилось... 

Вот потому вы и видите ту самую надпись: "Connecting to J-Link via USB..." и все... парам-парам-пам!

 

2 hours ago, chardash said:

Я еще не пррбовал заменять версии в dll, как сейчас понимаю, к выводу из bootload это не приведет.

Я попробовал на своем, прошился без проблем.

если нужно вот: https://mega.nz/file/Ah8SGYCC#VfBVxJLw39h6_muKoqOqZFM2XdfozJQkkhpIswfzOFc

Пока изучал ваш дамп за одно нашел почему и мой патч с V11 не работал... поправил и перешил в V11...

моя утилита позволяет конвертировать V10<->V11, но я эти опции не стал документировать, убивали мой клон, теперь вот знаю почему.

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


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

 

 

Попробовал поступить следующим образом, в версии 6.82 в commandere подал exec invalidate, сразу после команды отсоединил программатор (не дал ему попытаться обновить прошивку)

далее пробовал ваше средство из прошлых постов, устройство не обнаружило. 

Кстати, 6.82 та версия в которой точно он работал раньше. 

 

4 часа назад, UniSoft сказал:

А вот это помогло! Теперь версия v11 и в 6.82 устройство видно и проблем не имеет! 

Огромное Вам спасибо!  Вот прям восторг! 

Не подскажете, какое-то обновление в такой ситуации возможно или лучше больше этим не заниматься? :)

 

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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