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

Прошивка внешней загрузочной флеш-памяти через SSPI интерфейс через Gowin GW2A-18

Пытаюсь прошить внешнею флешку с помощью микроконтроллера через SSPI через Gowin GW2A-18. Подключено всё как описано в UG290-2.7.1E. Programming and Configuration Guide (стр. 92(81), Figure 7-42).

Всё штатно шьётся и работает при использовании оригинального Gowin PL-USB-Cable V5 через GAO-Bridge через их утилиту программатора, который шёл вместе с Gowin EDA V1.9.9 Beta-5.

Выставил SSPI mode 0b001, дальше UG290-2.7.1E предлагает следующую последовательность действий (стр. 95(84), Figure 7-46): 

  1. Start.

  2. Host MSPI transfers the program spi instruction 0x1600 (MSB).

  3. Device-SSPI signals (SCLK, CS, SI, and SO) connect to MCLK, CS, MOSI, MISO respectively inside the FPGA.

  4. Pull CS low and make MOSI write instruction 0x06 with Host MSPI.

  5. Pull CS high with Host MSPI.

  6. Pull CS low and make MOSI write instruction 0x02, 3-byte address, and 256-byte fs data with Host MSPI.

  7. Pull CS high with Host MSPI.

  8. Check if the SPI is busy.

  9. Pull CS low and make MOSI write instruction 0x04 with Host MSPI.

  10. Pull CS high with Host MSPI.

  11. End of programming a page.

Я пока не продвинулся дальше пункта 3 😥. Как я понимаю после передачи инструкции 0x1600 по SSPI я по сути должен получить доступ до внешней загрузочной флешки, ну и как минимум опуская CS SSPI  я должен увидеть тоже самое на CS флешки, но у меня ничего не происходит, тоже самое с клоком и данными.

Кажется как будто передачу инструкции 0x1600 надо тоже заключить внутрь CS, но оно и так и так не работает.

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


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

On 10/9/2023 at 12:01 PM, enclis_ said:

Кажется как будто передачу инструкции 0x1600 надо тоже заключить внутрь CS, но оно и так и так не работает.

Любую транзакцию по SPI надо заключить внутрь CS.

Там у них big-endian, поэтому SPI лучше настроить на передачу 8-бит данных. И команду 0х1600 передавать двумя 

посылками. Сначала 0х16, потом 0х00.

Также в документе UG290-2.7.1E. Programming and Configuration Guide приведены временные диаграммы работы SPI.

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


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

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

Любую транзакцию по SPI надо заключить внутрь SPI.

Может всё-таки "внутрь CS"?  :wink:

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


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

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

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

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

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

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

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

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

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

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