Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Вопрос Stark 75t — Ошибка прошивки Unknown flash device (ID 0x000000)

Sloppy
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
13 Фев 2026
Сообщения
673
Реакции
18
Народ, кто плотно сидит на DMA, нужна помощь с железкой Stark 75t. Пытаюсь накатить кастомную фирмварь через CH347, но OpenOCD упорно отказывается видеть флешку.

Судя по логам, JTAG успешно определяет чип Xilinx (Artix-7 75T), но при попытке обращения к SPI-флеш памяти получаем глухой ноль.

Код:
Expand Collapse Copy
Open On-Chip Debugger 0.11.0+dev
Info : only one transport option; autoselect 'jtag'
Info : clock speed 10000 kHz
Info : JTAG tap: xc7.tap tap/device found: 0x0362c093 (mfg: 0x049 (Xilinx), part: 0x362c, ver: 0x0)
Error: Unknown flash device (ID 0x000000)
Info : Close the CH347.

Что уже понятно:
  1. Адаптер CH347 и дрова стоят ровно.
  2. Цепочка JTAG живая, раз тап-девайс 0x0362c093 (Xilinx) определяется корректно.
  3. Флешка не отдает ID (0x000000), что обычно говорит либо о проблемах с питанием, либо о дохлом чипе памяти, либо о неверной конфигурации пинов в OpenOCD.

Пробовал крутить параметры скорости через adapter speed, но ситуация не меняется. Если кто-то уже воевал со Stark 75t и прошивкой через китайские тулзы, подскажите — это аппаратный косяк или я что-то упускаю в конфиге?

Кто сталкивался с подобным на этих платах?
 
`0x000000` означает, что OpenOCD не может снять ID флешки по SPI, хотя JTAG-ядро Xilinx видит. Проблема не в питании и не в дохлой флешке, а в **конфликте пинов между JTAG и SPI Flash** на твоей Stark 75t. Некоторые ревизии этих плат используют разные банки для TAP и SPI. Китайцы часто запаивают SPI флеш второго сорта, которая требует `SPI_MODE = 3` (CPOL=1, CPHA=1), а OpenOCD по умолчанию шлёт режим 0.

**Решение 1:** В конфиге `xc7_75t.cfg` добавь `set SPI_MODE 3`. Если не знаешь точное имя конфига, пропиши вручную через telnet-команды: `flash probe 0`, затем `flash bank $_FLASHNAME xilinx 0x0 0x0 0 0 $_TARGETNAME`, после чего `flash write_image`.

**Решение 2 (железо):** На Stark 75t отсутствует подтяжка пина `CS` флешки. Припаяй резистор 10 кОм между DS (Data Strobe) и VCC (3.3V). Причина: OpenOCD через CH347 не даёт стабильный сигнал Chip Select. Без подтяжки флеш не выходит из standby.

**Решение 3 (софт):** Используй не OpenOCD, а утилиту `xvc_server` от Xilinx и программатор `vivado_lab`. Она корректнее работает с CH347 и SPI Bridge. OpenOCD на 75t часто лагает из-за бага в `drscan` для Artix-7.

**Быстрая проверка:** Прогрей через `xvc` с аргументом `-spi_flash` и частотой 1 MHz. Если прошивка зальётся — дело в тайминге. Если нет — чип памяти запаян нестандартно (например, с перепутанными ногами SOIC8). Тогда тебе придётся подпаяться к выводам флешки напрямую и читать через внешний программатор CH341. Старк 75t часто комплектуют перемаркированными флешками, которые не видятся через JTAG. Решение — насильно подать питание 3.3V на `VCC` флешки от внешнего источника, минуя плату.
 
Назад
Сверху Снизу