mysol 0 Posted February 6, 2020 · Report post Друзья, здравствуйте! Подскажите, пожалуйста, можно ли заливать прошивку в ПЛИС из флеш памяти контроллера? Какие используются механизмы? Нет ли примеров/туториалов? В частности в Cyclone 10 LP. Спасибо! Quote Ответить с цитированием Share this post Link to post Share on other sites
Yuri124 0 Posted February 6, 2020 · Report post 41 minutes ago, mysol said: можно ли заливать прошивку в ПЛИС из флеш памяти контроллера? почему бы нет... 42 minutes ago, mysol said: Какие используются механизмы? ПЛИС в пассивном режиме, загрузка - по последовательной или параллельной шине - что не жалко развести на плате, или в зависимости от задачи (необходимой скорости загрузки). Quote Ответить с цитированием Share this post Link to post Share on other sites
Skryppy 0 Posted February 6, 2020 · Report post У xilinx, например, есть "using spi flash with 7 series fpgas" где даны временные диаграммы данных обмена с флеш памятью. Думаю у intel тоже должны быть такие документы. А процесс подключения МК к плис описан у xilinx в "7 series fpgas configuration" Quote Ответить с цитированием Share this post Link to post Share on other sites
mysol 0 Posted February 6, 2020 · Report post 31 minutes ago, Skryppy said: У xilinx, например, есть "using spi flash with 7 series fpgas" где даны временные диаграммы данных обмена с флеш памятью. Думаю у intel тоже должны быть такие документы. А процесс подключения МК к плис описан у xilinx в "7 series fpgas configuration" Спасибо, поищу) 36 minutes ago, Yuri124 said: почему бы нет... ПЛИС в пассивном режиме, загрузка - по последовательной или параллельной шине - что не жалко развести на плате, или в зависимости от задачи (необходимой скорости загрузки). Всё звучит здорово, но нет ли информации по конкретнее?) Нет ли где мануала под cyclone на эту тему? Quote Ответить с цитированием Share this post Link to post Share on other sites
mysol 0 Posted February 6, 2020 · Report post Ответ нашёл тут (6.1.2.1). буду пробовать - отпишусь. Всем спасибо Quote Ответить с цитированием Share this post Link to post Share on other sites
yes 0 Posted February 6, 2020 · Report post если контроллер большой и программировать лень можно взять готовый код - это по JTAG (!) программирование. вобщем, я бы рекомендовал через passive интерфейсы, как рекомендовали выше, но есть и такой вариант https://www.intel.com/content/www/us/en/programmable/support/support-resources/support-centers/devices/programming-tools/jam-stapl/tls-jam-embedded.html Quote Ответить с цитированием Share this post Link to post Share on other sites
mysol 0 Posted February 6, 2020 · Report post 12 minutes ago, yes said: если контроллер большой и программировать лень можно взять готовый код - это по JTAG (!) программирование. вобщем, я бы рекомендовал через passive интерфейсы, как рекомендовали выше, но есть и такой вариант https://www.intel.com/content/www/us/en/programmable/support/support-resources/support-centers/devices/programming-tools/jam-stapl/tls-jam-embedded.html Хороший вариант, спасибо! Quote Ответить с цитированием Share this post Link to post Share on other sites
HardWareMan 0 Posted February 6, 2020 · Report post Я в рамках использования EP4CE22E22C8N (ID 0x020F30DD) вместе с STM32F437 проливаю *.rbf через ногодрыгный JTAG. Контроллирую по CONF_DONE в boundary scan (но проще по внешнему пину). Когда внимательно читаешь буквари на семейство и их BSF, то вопросов не остаётся. Если интересно, вот мой код, там есть процедуры прогрузки из FLASH и через чтение файла через FF (закомментированы). Нужно только изменить ID на тот, который у вас и вычислить положение бита CONF_DONE для этого чипа. Время прогрузки для EP4CE22E22C8N примерно 0,1-0,2 секунды если из FLASH. Можно прогружать в любое время, как-то обнулять чип не нужено. Конечно, можно и полноценный плеер STAPL написать, но зачем? Quote Ответить с цитированием Share this post Link to post Share on other sites
vladec 0 Posted February 7, 2020 · Report post С Альтерой не работаем, используем мелкие FPGA от Xilinx и если на борту в устройстве есть контроллер то ПЛИС всегда грузим из FLASH-а контроллера. Это исключает загрузочную FLASH ПЛИСа, программирующий разъем, упрощает прошивку устройства в целом и обеспечивает возможности удаленного обновления не только фирмвари контроллера, но и зашивки ПЛИС. При этом, понятно, что FLASH на борту у контроллера обычно в дефиците, поэтому для загрузочного файла надо использовать те или иные методы сжатия информации. Реально, порой объем получается уменьшить в разы. Quote Ответить с цитированием Share this post Link to post Share on other sites