1 Отредактировано prya (2017-08-14 15:01:28)

Тема: Альтернативные способы заливки прошивок

Предыстория: установил я LiberoSoC в линуксе и попытался что-нибудь залить пришедшим в комплекте программатором FlashPro4. Не смотря на то что в списке USB устройств программатор появился, даже лампочка питания на нем не горит.
Полез разбираться и выяснил, что в линуксовой версии подерживается только FlashPro5.
Еще выяснил, что до появления FlashPro5 линуксовая версия LiberoSoC уже существовала, но решения проблемы заливки в темах, посвященных этому противоречию, так и не появилось (по крайней мере я не нашел).

Вопрос: кто-нибудь заливает прошивки не FlashPro, а каким-то другим способом? Помню в ксайлинксы я заливал через какое-то подобие spi. Возможно здесь есть уже готовое решение.

2

Re: Альтернативные способы заливки прошивок

prya пишет:

Предыстория: установил я LiberoSoC в линуксе и попытался что-нибудь залить пришедшим в комплекте программатором FlashPro4. Не смотря на то что в списке USB устройств программатор появился, даже лампочка питания на нем не горит.
Полез разбираться и выяснил, что в линуксовой версии подерживается только FlashPro5.
Еще выяснил, что до появления FlashPro5 линуксовая версия LiberoSoC уже существовала, но решения проблемы заливки в темах, посвященных этому противоречию, так и не появилось (по крайней мере я не нашел).

Вопрос: кто-нибудь заливает прошивки не FlashPro, а каким-то другим способом? Помню в ксайлинксы я заливал через какое-то подобие spi. Возможно здесь есть уже готовое решение.


Возможность залить SmartFusion2 без использования программатора существует. В терминологии Microsemi (и не только) эти способы называются In-System-Programming (ISP) и In-Application Programming (IAP). На сайте Microsemi
https://www.microsemi.com/products/fpga … umentation
есть ряд проектов с описаниями в pdf как это сделать :
DG0454, DG0471, DG0584, DG0636, DG0635, AC401 используя UART, USB, PCIe, Ethernet или SPI.
Но нужно иметь ввиду, что назначение этих способов иное, чем прошивание И ОТЛАДКА с помощью программатора:
1) с помощью программатора вы выполняете 99% разработки приложения, вычищаете ошибки в коде в режиме отладки в пошаговом режиме с точками останова, проверяя состояния регистров и памяти на интересующем вас шаге выполнения программы
2) с помощью ISP и IAP вы удаленно обновляете прошивку в устройстве, возможно в уже проданном вами заказчику. Или обновляете ПО в изделии к которому подключиться программатором уже физически невозможно, например в космический аппарате на орбите. При этом новая заливаемая прошивка предварительно полноценно проверяется на столе в пошаговом режиме с помощью программатора
Т.о. использование программатора с одной стороны и ISP/IAP с другой это не то чтобы две равноправные альтернативы, а скорее режимы дополняющие друг друга.

3 Отредактировано prya (2017-08-16 11:27:27)

Re: Альтернативные способы заливки прошивок

pitpg, ну это все понятно.
Просто у меня нет другого выбора, если не считать покупки flashpro5, к чему я не готов.
К тому же, у меня с программированием не настолько все плохо, чтобы 99% времени сидеть за дебагером)))
Да и вообще, как только получилось замигать светодиодом появляются все необходимые средства отладки, я так считаю))

По поводу примеров - там меня смущает одна фраза

ISP requires the SmartFusion2 device to be preprogrammed with the application
code to activate the ISP service.

Надеюсь это означает установку какого-то аппаратного флажка, а не интегрированный в проект кусок кода с перепрограмматором.
За ссылку спасибо, буду разбираться дальше.

4

Re: Альтернативные способы заливки прошивок

prya пишет:

pitpg, ну это все понятно.
Просто у меня нет другого выбора, если не считать покупки flashpro5, к чему я не готов.
К тому же, у меня с программированием не настолько все плохо, чтобы 99% времени сидеть за дебагером)))
Да и вообще, как только получилось замигать светодиодом появляются все необходимые средства отладки, я так считаю))

По поводу примеров - там меня смущает одна фраза

ISP requires the SmartFusion2 device to be preprogrammed with the application
code to activate the ISP service.

Надеюсь это означает установку какого-то аппаратного флажка, а не интегрированный в проект кусок кода с перепрограмматором.
За ссылку спасибо, буду разбираться дальше.

Совершенно верно, чтобы функция стала доступна нужно установить флажок и прошить хотя бы 1 раз