|
Прошивка ПЛИС с микроконтроллера, Где искать инфу? |
|
|
|
Mar 27 2016, 15:39
|

Частый гость
 
Группа: Участник
Сообщений: 173
Регистрация: 11-05-08
Пользователь №: 37 414

|
Цитата(zltigo @ Mar 27 2016, 21:17)  Вариант 2 - легко и просто. В каком формате скармливать файл? .pof? Как производить верификацию?
|
|
|
|
|
Mar 28 2016, 11:21
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(Sprite @ Mar 28 2016, 07:27)  Можно генерировать svf-файл, там все наглядно, но по размеру он на порядок больше( И кроме этого надо будет сделать в микроконтроллере интерпретатор языка svf и из svf гнать данные в jtag... Вообще, если просмотрите svf файл, то там как раз и увидите последовательность действий при программировании... Можно просто эту последовательность действий жестко реализовать на микроконтроллере...
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Mar 28 2016, 11:49
|

Частый гость
 
Группа: Участник
Сообщений: 173
Регистрация: 11-05-08
Пользователь №: 37 414

|
Цитата(Inanity @ Mar 28 2016, 17:04)  Sprite, вы идёте каким-то неоправданно сложным путём. Это новая разработка? Может стоит заменить CPLD на мелкую FPGA, а не изобретать свой JTAG программатор? Меня смущает лишь то, что я так ни разу не делал Да, наверное Вы правы, проще поставить FPGA и грузить прошивку по SPI с МК, но на момент прошивки ноги ПЛИС должны быть в определенном (не Z!) состоянии, это возможно? Еще вопрос: как производить верификацию данных в случае передачи .rbf-файла по SPI? Цитата(iosifk @ Mar 28 2016, 17:21)  И кроме этого надо будет сделать в микроконтроллере интерпретатор языка svf и из svf гнать данные в jtag... Формат достаточно понятный - только одно "но" - размер ( Программа на ПЛИС сейчас занимает ~15КБ, а размер svf-файла при этом ~510КБ - не хочется выделять такой кусок памяти в МК под хранение svf.
|
|
|
|
|
Mar 28 2016, 11:57
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(Sprite @ Mar 28 2016, 14:49)  Формат достаточно понятный - только одно "но" - размер ( Программа на ПЛИС сейчас занимает ~15КБ, а размер svf-файла при этом ~510КБ - не хочется выделять такой кусок памяти в МК под хранение svf. Еще раз, читайте внимательно... svf-файл имеет текстовый формат. И к нему нужен плейер... Но Вам не обязательно это делать. Вы можете из svf выдрать последовательность действий, а данные перевести в бинарный формат. И хранить уже не текстовые строки а двоичные данные. Это сократит объем файла вдвое, как минимум... Посмотрите у меня на сайте есть статьи о jtag...
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Mar 28 2016, 12:19
|

Частый гость
 
Группа: Участник
Сообщений: 173
Регистрация: 11-05-08
Пользователь №: 37 414

|
Цитата(iosifk @ Mar 28 2016, 17:57)  Посмотрите у меня на сайте есть статьи о jtag... Спасибо, Иосиф Григорьевич, обязательно посмотрю!
|
|
|
|
|
Apr 3 2016, 19:39
|

Профессионал
    
Группа: Участник
Сообщений: 1 072
Регистрация: 11-12-12
Пользователь №: 74 815

|
Цитата(Sprite @ Mar 29 2016, 16:37)  А если в качестве ПЛИС рассматривать MAX10? Как проще передавать файл прошивки с МК? (и чтобы файл при этом не был по размеру как .svf) Насколько мне известно, в ней можно организовать 2 области памяти и состоянием boot-ноги определять из какой грузить программу. Если у вас МАКС10, то зачем МК? Эта ПЛИС круче любого МК))) и загрузчик в нее запихивается, как основная конфигурация. Потом считываешь дополнительную и, если она правильная, просто делается рестарт с нее. И обновление аналогичное. В основной конфигурации делается тайм аут или сервисная ножка. И, если пришел запрос на обновление, просто заливаешь альтернативную конфигурацию новой. Другое дело, у Альтеры такого ядра готового нет
|
|
|
|
|
Apr 4 2016, 14:08
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (aaarrr @ Mar 27 2016, 18:29)  Только не для MAX-II, а чего-нибудь более серьёзного. А для CPLD лучше уж написать прошивку так, чтобы не пришлось обновлять. Естественно, что для "MAX" такая загрузка вызывает удивление. Но тем неменее такой подход к делу позволит обновлять извне. QUOTE (Sprite @ Mar 27 2016, 18:39)  В каком формате скармливать файл? .pof? Как производить верификацию? В .rbf Про верификацию - смотрите описание ( CONF_DONE и nSTATUS ). Чип при загрузке котроль заливемого производит и в случае неуспеха сотояние ошибки выдает.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Apr 6 2016, 05:20
|
Частый гость
 
Группа: Участник
Сообщений: 123
Регистрация: 12-06-15
Из: Земля
Пользователь №: 87 133

|
Цитата(zltigo @ Apr 4 2016, 16:08)  В .rbf В случае с maxII rbf не поможет, только svf + плеер. Самый правильный путь - применить самую маленькую FPGA и загружать её с МК через passive serial. Для этого варианта нужен rbf. Плюс такого решения - прошивка FPGA может храниться в flash МК, что решает проблему апгрейда софта. Ещё один плюс - ресурсов у FPGA значительно побольше. Минусы - FPGA несколько дороже CPLD, и потребуются дополнительные источники питания ядра FPGA и PLL (у MaxII питание одно -3.3V), что опять таки увеличивает стоимость.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|