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

Чем можно быстро и недорого подобраться к отладке и прошивке i.MX RT1052?

Доброго времени суток. На руках появилось устройство с IMXRT1052 на борту. На плате имеются пины SWCLK, SWDIO, GND. Ранее плотно работал только с STM32. Назначение этих пинов и там, и там аналогичное. Собсна, сам вопрос - чем можно быстро и недорого подцепиться к RT1052 для заливки новой прошивки? И второй вопрос общего плана - есть ли для NXP что-то аналогичное софту ST-LINK Utility / STM32CubeProgrammer для быстрой прошивки руками неопытного юзера?

Изменено пользователем MX_Master
Новое название темы (предыдущее - Есть ли в природе софт для быстрой прошивки IMXRT10хх?)

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


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

5 часов назад, MX_Master сказал:

чем можно быстро и недорого подцепиться к RT1052 для заливки новой прошивки?

J-Flash

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


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

1 час назад, Vasily_ сказал:

J-Flash

Понял. Спасибо. Но пункт "недорого" явно будет не соблюден (https://shop.segger.com/debug-trace-probes/debug-probes/j-link/).

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


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

Отлично, 20уёв  - это то, что нужно. Будут ли подводные камни при использовании клонов с тем же J-Flash?

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


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

Могут быть. Но в основном вопросы решаемые. Подробности здесь.

...Раз уж вклинился. Посредством OpenOCD никто не пробовал? Хотелось бы избежать проприетарщины - J-Link заменить на CMSIS-DAP, в частности.

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


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

Прочитал тему про China-Link. Провентилировал вопрос по разным устройствам и софту. Клон J-Link ещё какое-то время на руках не появится. Нужно попробовать что-то из вариантов, доступных уже сейчас.

Для начала попробовал превратить клон ST-Link v2 в J-Link. Но, неудачно. Хотя все файлы (включая "ознакомительные" версии софта и кейгены) были найдены или имелись в наличии, пропатченный STLinkReflashFixed.exe намертво застревает на фразе "Preparing for FW update (can take up to 10 seconds)...". Придержим этот проприетарный вариант на будущее.

На очереди уже открытый софт - DAPLink (https://github.com/ARMmbed/DAPLink, https://daplink.io). Софт прекрасно зашивается в клон ST-Link v2 и потом отлично шьёт разные STM32, GD32. Но к IMX RT1052 подобраться таким способом я не смог. Не из MCUExpressoIDE, не из Platformio (VSCODE). Использовал проекты из примеров SDK. Судя по официальным данным, на макетке MIMXRT1050-EVK этот самый DAPLink и используется. И, вроде как, шить можно даже перекидыванием файлов на виртуальную флэшку. Но, как бы я не старался, не одним из способов подойти к IMX RT1052 на устройстве не получилось.

Хочу также попробовать вариант с софтом от Black Magic Probe (https://github.com/blackmagic-debug/blackmagic/tree/main/src/platforms/stlink, https://black-magic.org). 

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

Изменено пользователем MX_Master

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


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

Я довольно долго уродовался с всем этим софтом от NXP и Ko, но бестолку. Причем с настоящим J-link'ом. Потом поставил IAR и все заработало. У меня, правда был 1064 процессор, но они очень похожи.

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


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

Еще возможно через бутлоадер с помощью mfgtools-rel просто залить прошивку.

1 час назад, Alex11 сказал:

Я довольно долго уродовался с всем этим софтом от NXP и Ko, но бестолку. Причем с настоящим J-link'ом.

Jflash от сеггера прошивает внутреннюю флешку 1064, но иногда не с первого раза. И это JLINK-OB с али на STM32F072

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


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

Quote

И это JLINK-OB с али на STM32F072

Нет, сеггеровский. С IAR не замечал проблем, а с MCUexpresso правды не добился.

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


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

15 часов назад, Andreas1 сказал:

Еще возможно через бутлоадер с помощью mfgtools-rel просто залить прошивку.

Как вариант. Но мне кажется, что автор устройства использует свой собственный загрузчик. Так что, предварительно придётся залить другой загрузчик, а уж потом.. Однако, я до сих пор не могу ничем подцепиться к RT1052. Соответственно, ничего никуда залить не могу. Хотя.. надо глянуть, обычно, в чипах есть системный загрузчик. Но его автор мог каким-то образом и отключить. В любом случае, чтобы разобраться, надо как-то к чипу подобраться. Можно, конечно, через SPI флэху подойти с чёрного хода. Но неизвестно, что там автор в загрузчике намутил. Возможно, там уже всё схвачено и так подойти не получится. Мне, кстати, софт автора без надобности, я хочу использовать полностью свой.

На борту устройства также есть кнопка, которая, по видимому, меняет ход загрузки. Если при старте устройства нажать на кнопку при подключенном ST-Link (ака DAPLink), на плате загорается доп. светодиод.

Кстати, кому интересно, вот само устройство (см. фото). Контроллер для ЧПУ станков. https://www.nvcnc.net/nvem.htmlhttps://aliexpress.ru/item/1005003014611845.html. Раньше производитель ставил на них STM32F207VCT6, но "что-то в мире пошло не так" и автор решил перейти на NXP.

IMG_20221001_100331.jpg

IMG_20221001_100616.jpg

IMG_20221001_100901.jpg

IMG_20221001_100945.jpg

IMG_20221001_101140.jpg

IMG_20221001_101455.jpg

IMG_20221001_101617.jpg

Изменено пользователем MX_Master

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


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

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

Однако, я до сих пор не могу ничем подцепиться к RT1052. Соответственно, ничего никуда залить не могу. Хотя.. надо глянуть, обычно, в чипах есть системный загрузчик. Но его автор мог каким-то образом и отключить. В любом случае, чтобы разобраться, надо как-то к чипу подобраться.

"чтобы разобраться", полезно всё-таки начать с чтения мануала на МК. Невозможность подключения отладчика может быть следствием установленной защиты от копирования. Во многих МК при установке защиты некоторого уровня, все отладочные интерфейсы и встроенные boot-ы - отключаются. В мануале должно быть сказано об этом. Возможно, что отключаются не полностью, а остаётся активной только единственная функция - стирания всего чипа.

ЗЫ: Отсутствие встроенного  flash программ в МК не исключает возможности наличия в нём функций защиты от копирования.

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


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

Спасибо за наводку. У меня, кстати, были мысли по способу организации защиты. На месте автора я бы включил (отключаемую стиранием) защиту от чтения. В загрузчике бы держал ключи для расшифровки содержимого SPI флэшки. И работал бы из "нечитаемой" оперативки. Я предполагаю, что данные уровни защиты есть в чипе, даже без читки мануала. Иначе, я бы и сам не выбрал данный чип для проекта. Безвозвратную защиту от чтения я бы включать не стал, ибо риск выкинуть чип в мусор при любой ошибке был бы очень велик.

В версии устройства на STM32 автор использовал (отключаемую стиранием) защиту от чтения. Отсюда и моё предположение по защите в новой версии устройства (на основе RT1052). Если предположение верно, то подцепиться к чипу, всё-таки, можно. Кнопочка переключения режимов загрузки тоже на это намекает.

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


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

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

В загрузчике бы держал ключи для расшифровки содержимого SPI флэшки. И работал бы из "нечитаемой" оперативки. Я предполагаю, что данные уровни защиты есть в чипе, даже без читки мануала.

Знаю про LPC43Sxx которые flashless: там содержимое внешней флешки шифруется CBC-алгоритмом, а ключ записывается во внутреннюю OTP-память. Операция записи ключа отключает JTAG/SWD. И встроенный ROM-загрузчик использует этот ключ.

Думаю - в вашем МК может быть сделано аналогично. Хорошо если память хранения ключа у вас - не OTP.

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

В версии устройства на STM32 автор использовал (отключаемую стиранием) защиту от чтения. Отсюда и моё предположение по защите в новой версии устройства (на основе RT1052).

Да, вполне разумное решение. В своих устройствах я делаю аналогично.

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


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

В 01.10.2022 в 08:19, MX_Master сказал:

Как вариант. Но мне кажется, что автор устройства использует свой собственный загрузчик. Так что, предварительно придётся залить другой загрузчик, а уж потом.. Однако, я до сих пор не могу ничем подцепиться к RT1052

Читайте мануал. В отличие от STM32. у этого семейства ОГРОМНЫЕ и разнообразные методы защиты от копирования, в т.ч и одноразовые(хотя точно не помню). Но, насколько помню, при правильной комбинации пинов загрузки, достучаться до чипа все-таки возможно, и возможно стереть весь чип. Но это неточно.

В 01.10.2022 в 08:19, MX_Master сказал:

Можно, конечно, через SPI флэху подойти с чёрного хода.

  У этого чипа есть возможность на лету расшифровывать AES при работе из внешней флешки, поэтому при правильном подходе к защите, чтение флешки ничего не даст, ее содержимое просто зашифровано AES128.

 

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


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

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

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

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

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

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

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

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

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

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