реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Переход с Cyclone III на MAX10.
Jenya7
сообщение Feb 7 2017, 14:38
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075



У нас заканчиваются LEs и мы решили перейти на MAX10.
Проблема следующая.
В Cyclone III внешняя загрузочная память. Есть программа на С# которая загружает *.rpd файл через UART.
В MAX10 загрузочная память находиться внутри. Как мне загрузить прошивку в MAX10? Нужен какой то бутлодер или есть какой то другой механизм?
Go to the top of the page
 
+Quote Post
jorikdima
сообщение Feb 7 2017, 15:34
Сообщение #2


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



Так в доках вроде подробно описано. https://www.altera.com/en_US/pdfs/literature/an/an741.pdf Ну и рядом другие аппноуты посмотрите.
Go to the top of the page
 
+Quote Post
Jenya7
сообщение Feb 7 2017, 15:44
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075



Цитата(jorikdima @ Feb 7 2017, 20:34) *
Так в доках вроде подробно описано. https://www.altera.com/en_US/pdfs/literature/an/an741.pdf Ну и рядом другие аппноуты посмотрите.

я читал эти доки. там они дают решение если на камне есть Nios II Processor.
Go to the top of the page
 
+Quote Post
jorikdima
сообщение Feb 7 2017, 16:41
Сообщение #4


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



Можно по-иоему и без ниоса, насколько я помню, когда интересовался этим вопросом, у меня не возникло ощущения что ниос обязательный. Идея в том, что используя их IP для работы с внутренней флэш (On Chip Flash IP Core), нужно туда записать данные. Ниос лишь пример того, как можно управлять этим IP. Но можно и своей логикой видимо. В том числе логикой преобразования вашего уарта в команды к этому IP.
https://www.altera.com/en_US/pdfs/literatur..._m10_config.pdf
Страница 41
Go to the top of the page
 
+Quote Post
Jenya7
сообщение Feb 7 2017, 17:24
Сообщение #5


Профессионал
*****

Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075



Цитата(jorikdima @ Feb 7 2017, 21:41) *
Можно по-иоему и без ниоса, насколько я помню, когда интересовался этим вопросом, у меня не возникло ощущения что ниос обязательный. Идея в том, что используя их IP для работы с внутренней флэш (On Chip Flash IP Core), нужно туда записать данные. Ниос лишь пример того, как можно управлять этим IP. Но можно и своей логикой видимо. В том числе логикой преобразования вашего уарта в команды к этому IP.
https://www.altera.com/en_US/pdfs/literatur..._m10_config.pdf
Страница 41

Спасибо. Попробую вникнуть. Их объяснения расчитанны на людей глубоко в теме. Я например смотрю на это как на китайский.
Цитата
Accessing Remote System Upgrade through User Logic
The following example shows how the input and output ports of a WYSIWYG atom are defined in the MAX 10 device.

fiftyfivenm_rublock <rublock_name>
(
.clk(<clock source>),
.shiftnld(<shiftnld source>),
.captnupdt(<captnupdt source>),
.regin(<regin input source from the core>),
.rsttimer(<input signal to reset the watchdog timer>),
.rconfig(<input signal to initiate configuration>),
.regout(<data output destination to core>)
);
defparam <rublock_name>.sim_init_config = <initial configuration for simulation
only>;
defparam <rublock_name>.sim_init_watchdog_value = <initial watchdog value for
simulation only>;
defparam <rublock_name>.sim_init_config = <initial status register value for
simulation only>;
Go to the top of the page
 
+Quote Post
jorikdima
сообщение Feb 7 2017, 17:37
Сообщение #6


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



Цитата(Jenya7 @ Feb 7 2017, 09:24) *
Спасибо. Попробую вникнуть. Их объяснения расчитанны на людей глубоко в теме. Я например смотрю на это как на китайский.

Так а на HDL язык вы как смотрите? Если тоже как на китайский, то да, не стоит sm.gif Вам, насколько я понимаю все это, нужно на логике сэмулировать то, что делается в их примерах с ниосом. Ну точнее то, что нужно из этих примеров. На ниосе (на цпу вообще) это скорее всего просто удобнее сделать, но ставить ниос только для этого... да, не очень. Поэтому делайте прослойку между уартом и этим IP.

Проблема в том, что голый чип или чип со слетевшей прошивкой, кроме как по JTAG не зашьешь. Вот это плохо.
Go to the top of the page
 
+Quote Post
Jenya7
сообщение Feb 7 2017, 17:51
Сообщение #7


Профессионал
*****

Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075



Цитата(jorikdima @ Feb 7 2017, 22:37) *
Так а на HDL язык вы как смотрите? Если тоже как на китайский, то да, не стоит sm.gif Вам, насколько я понимаю все это, нужно на логике сэмулировать то, что делается в их примерах с ниосом. Ну точнее то, что нужно из этих примеров. На ниосе (на цпу вообще) это скорее всего просто удобнее сделать, но ставить ниос только для этого... да, не очень. Поэтому делайте прослойку между уартом и этим IP.

Проблема в том, что голый чип или чип со слетевшей прошивкой, кроме как по JTAG не зашьешь. Вот это плохо.


нет, VHDL я понимаю и пишу. не все еще слава богу, но я продвигаюсь.
я так понимаю тут аналогия с контролерами. по JTAG прошивается загрузочный интерфейс (прослойка) а потом через него можно прошивать и через UART.
Go to the top of the page
 
+Quote Post
Александр77
сообщение Feb 7 2017, 19:21
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 608
Регистрация: 10-07-09
Из: Дубна, Московская область
Пользователь №: 51 111



Нормально программируется по JTAG без лишних телодвижений и ниосов.
Перед программированием выбирается либо sof файл и прошивка "временная" до новой или выключения, либо pof файл и прошивка хранится до нового программирования.
Прикрепленное изображение
Go to the top of the page
 
+Quote Post
jorikdima
сообщение Feb 7 2017, 22:37
Сообщение #9


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



Цитата(Александр77 @ Feb 7 2017, 11:21) *
Нормально программируется по JTAG без лишних телодвижений и ниосов.

Про джитаг никто не спорит. Речь про что-то типа бутлоадера через уарт. Так вот, проводя аналогию с МК, бутлоадера в роме тут вроде как нет совсем.
Go to the top of the page
 
+Quote Post
goodsoul
сообщение Feb 8 2017, 11:06
Сообщение #10


Частый гость
**

Группа: Участник
Сообщений: 136
Регистрация: 3-09-09
Пользователь №: 52 178



Тут себе нужно задать вопрос - а есть ли польза в конкретном проекте от встроенного флеша? Если встроенный флеш дает больше проблем, чем пользы, то есть еще Cycone IV/Cyclone V.

А так все правильно написали - первая прошивка через JTAG. И уже в этой прошивке должен быть реализован remote update.
Примеры где обычно: https://cloud.altera.com/devstore/platform/?family=max-10

Там есть "I2C Remote System Update Example", "MAX10 Remote System Upgrade (RSU) over UART for Nios II Processor"

Сообщение отредактировал goodsoul - Feb 8 2017, 11:07
Go to the top of the page
 
+Quote Post
iosifk
сообщение Feb 8 2017, 11:26
Сообщение #11


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Jenya7 @ Feb 7 2017, 17:38) *
В Cyclone III внешняя загрузочная память. Есть программа на С# которая загружает *.rpd файл через UART.
В MAX10 загрузочная память находиться внутри. Как мне загрузить прошивку в MAX10? Нужен какой то бутлодер или есть какой то другой механизм?

Внешний микроконтроллер, по сравнению с ПЛИС стоит копейки. Включите его между флэшью и JTAG... Или же по SPI можно грузить. Ну и к нему же дайте UART. На Си напишите загрузчик и тестировщик для ПЛИС... Все юудет гораздо дешевле, чем гробить ресурсы ПЛИС на "самопрограммирование пр UART"...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
jorikdima
сообщение Feb 8 2017, 17:30
Сообщение #12


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



Цитата(iosifk @ Feb 8 2017, 03:26) *
Включите его между флэшью и JTAG...

вы не поняли. Флэшь не доступна ниоткуда кроме как изнутри плиса. Внутри плиса она доступна по джитагу или этим самым IP.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Feb 8 2017, 19:20
Сообщение #13


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(jorikdima @ Feb 8 2017, 20:30) *
вы не поняли. Флэшь не доступна ниоткуда кроме как изнутри плиса. Внутри плиса она доступна по джитагу или этим самым IP.

Так все таки же доступна по джитагу... Автомат джитага воспроизвести на Си - не проблема. И последовательность для загрузки получит в кодах какого-нибудь Стапла - тоже не проблема...
А микроконтроллер внутри ПЛИС загружают, чтобы соблюсти времянки по прошивке страниц флэша...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
jorikdima
сообщение Feb 8 2017, 21:16
Сообщение #14


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



Цитата(iosifk @ Feb 8 2017, 11:20) *
Так все таки же доступна по джитагу... Автомат джитага воспроизвести на Си - не проблема. И последовательность для загрузки получит в кодах какого-нибудь Стапла - тоже не проблема...
А микроконтроллер внутри ПЛИС загружают, чтобы соблюсти времянки по прошивке страниц флэша...

Все зависит от приемлемости таких усердий ради этого.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th June 2025 - 20:06
Рейтинг@Mail.ru


Страница сгенерированна за 0.01459 секунд с 7
ELECTRONIX ©2004-2016