The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Обновление OpenWrt 22.03.5 и 21.02.7"
Отправлено Аноним, 08-Май-23 00:22 
> Ну раз JTAG.... Ну расскажи подробно и детально, как шить через JTAG.

В самом общем случае...
1) Можно загнать железку в "Boundary Scan" и помахать лапками SoC как надо. Изначально режим для теста пропайки к плате, но креативно пересмотрев bit string и их чтение, можно махать лапками и для целей отличных от теста пропайки, накидав команды в флешку. Не то чтобы это эффективно и быстро, но довольно универсально и не зависит от живости CPU core, машина состояний JTAG при этом рулит лапками сама.
2) JTAG это отладочный интерфейс. Поэтому можно остановить CPU core, налить ему каких-то инструкций в RAM (да, если это DRAM может потребоваться сперва его инициализировать, увы), и пустить выполняться налитый код. Бывают даже "RAM build" того же uboot - подразумевающие что они "как-то" сразу в RAM после старта "сам" образовался. А "как-то" может быть и, вот, через JTAG. На некоторых железках RAM-билд идентичен обычному, если там само железо маппило SPI в регион памяти и/или авто-буферизовало бут в RAM.
3) Можно и не наливать никакой код и инструктировать проц, контроллер шины и/или флешки и/или блока SPI делать нужные доступы в память. Идея в том чтобы так или иначе в флеш отправились нужные команды под управлением JTAG.

В любом случае это не уповает на присутствие какого либо кода в флешке, а некоторые из методов даже и ядро проца в процессе не используют. Ну и конечно для этого всего есть энное количество разных программ. Более-менее generic это например openocd, он так то дебагер но у народа бывают и более странные скрипты для оного с какими-то более другими целями.

> Потому что я инет читаю, и вообще не понимаю, каким боком тут JTAG.

Это низкоуровневый интерфейс для тестирования и дебага. Он как правило дает полный низкоуровневый контроль над системой. И как одна из ипостасей, при этом не важно был ли в системе какой-то код или нет. В некоторых микроконтроллерах это вообще штатный способ чтобы лить в изначально пустой с фабрики чип (с встроенной флехой) код.

> Это же средство отладки конкретных микросхем на RTL-уровне.

Лол. Сперва читайте что это такое, потом выдавайте ценные мнения.

> Что, конечно, можно заморочиться и для каждого чипа написать свою программу, дёргающую
> этот JTAG в нужной последовательности с хоста, но кто с этим заморачиваться будет?

Ну вот некоторые таки заморачиваются и энное количество странных штук для jtag debrick - есть.

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

А если это почему-то не вариант, на spi чип можно накинуть характерную 8-лапую клипсу (на алике продаются) - не включая основную систему - и попытаться его прошить прям без отпайки. Если прокатывает, чип шьется обычным програмером без его отпайки с платы "напрямую".

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру