krux 8 13 декабря, 2017 Опубликовано 13 декабря, 2017 · Жалоба обычно, нужен кусок кода, копирующий основной выполняемый код из flash в ddr. после чего этот код делает goto по адресу, расположенному в ddr. этот кусок кода должен быть в некоем ПЗУ, и на первую ячейку в этом ПЗУ должен указывать reset-вектор вашего microblaze. раньше этим ПЗУ был ваш BRAM, проинициализированный прошивкой ПЛИС. если у вас есть некая параллельная flash, подключенная непосредственно к ПЛИС, и из которой microblaze может выполнять код непосредственно - то можно использовать в качестве ПЗУ её. есть и другой вариант - написать конечный автомат, который при запуске прошивки 1) зажимает ресет microblaze 2) ждёт готовности SPI flash и ddr к работе 3) копирует основной код из SPI flash в ddr 4) отпускает ресет microblaze зы. при использовании "SDK" выполняемый код в ddr загружается через jtag. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
toshas 0 13 декабря, 2017 Опубликовано 13 декабря, 2017 · Жалоба Может быть это ? https://www.xilinx.com/support/documentatio...uad-spi-ipi.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Krys 2 14 декабря, 2017 Опубликовано 14 декабря, 2017 · Жалоба toshas, спасибо, похожее, но проблема в том, что там дока про виваду, а в ней спартан6 не поддерживается. Но может как-то по аналогии получится если у вас есть некая параллельная flash, подключенная непосредственно к ПЛИС, и из которой microblaze может выполнять код непосредственно - то можно использовать в качестве ПЗУ её.И Вам спасибо. Правда второй флешки нет, ибо это так же избыточно (формально), как и изыскивать по крупицам блочную память под загрузчик в забитом кристалле при наличии вагона мегабайтов DDR памяти. есть и другой вариант - написать конечный автомат, который при запуске прошивкиТоже хороший вариант, но ресурсов съест ещё больше, чем просто задействование BRAM под загрузчик Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться