Jump to content

    

MAX10, Одна из Image - в качестве бутлодера

Всем привет! давненько меня тут не было...)

В данный момент знакомлюсь с MAX 10-м. А конкретно разбираюсь как использовать одну области CFM в качестве бутлодера для перепрошивки второй области CFM. Идея, надеюсь, понятна :) реализовать возможность смены основной прошивки плис удаленно, не используя программатор...

На данный момент реализовал переключение между двумя образами командой по УАРТ, читаю Status и Control Register используя OnChip Flash IP-Core и соответственно стирать определенные области памяти UFM и CFM. Осталось реализовать запись по тому же УАРТ другой основной прошивки, но не могу разобраться какой из форматов образов нужно генерить и передавать - POF, SOF или RPD??? Насколько я понял, нужно что-то откуда генерить используя различные настройки, но что именно так и не разобрался...

Может кто-нить занимался данной проблемой

P.S. Ниос не перевариваю...

Share this post


Link to post
Share on other sites

Если dual image то в cfm 1 и 2 хранится pof, который вы генерируете совмещая 2 sof в quartus, по сути это 2 сжатых sof, но чем сжаты я не нашёл. Можно прочитать cfm и сравнить с pof. И самое главное в cfm байты перевернуты.

Share this post


Link to post
Share on other sites

NIOS II Processor Booting Methods in MAX 10 Devices pdf страница 22 там написано как сгенерировать pof

Share this post


Link to post
Share on other sites
23 hours ago, Вася0 said:

Если dual image то в cfm 1 и 2 хранится pof, который вы генерируете совмещая 2 sof в quartus, по сути это 2 сжатых sof, но чем сжаты я не нашёл. Можно прочитать cfm и сравнить с pof. И самое главное в cfm байты перевернуты.

Да, в CFM0 хранится один образ, а в CFM1 и 2 хранится второй. Естественно, когда я зашиваю первый раз через JTAG я так и делаю - из двух SOF генерю один POF и зашиваю. Но а что делать потом) Когда уже по не JTAG, а по какому-то основному интерфейсу, в моем случае, UART необходимо передать только один образ, в каком-то формате (вопрос в каком и как его сделать!) и правильно его запилить по нужному адресу.

Про то, что в CFM байты перевернуты я учту, спасибо.

18 hours ago, Вася0 said:

NIOS II Processor Booting Methods in MAX 10 Devices pdf страница 22 там написано как сгенерировать pof

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

Share this post


Link to post
Share on other sites

Наконец-то добился того, что удалось считать записанную область CFM0, соответствующую одному образу. 

Полученный файл очень похож на искусственно сгенерированный файл *.rpd. Но, чтобы его сгенерировать, необходимо каждый раз указывать второй образ CFM1, хотя какое он отношение имеет с независимому от него образу в CFM0 пока не разобрался... Буду копать дальше. Попробую данный сгенерированный *.rpd записать насильно в CFM0 используя свой УАРТ и OnFlashChip, и посмотрю что получится...

Share this post


Link to post
Share on other sites
On 4/13/2019 at 7:07 PM, dde29 said:

Наконец-то добился того, что удалось считать записанную область CFM0, соответствующую одному образу. 

Полученный файл очень похож на искусственно сгенерированный файл *.rpd. Но, чтобы его сгенерировать, необходимо каждый раз указывать второй образ CFM1, хотя какое он отношение имеет с независимому от него образу в CFM0 пока не разобрался... Буду копать дальше. Попробую данный сгенерированный *.rpd записать насильно в CFM0 используя свой УАРТ и OnFlashChip, и посмотрю что получится...

в том то и дело что сгенерированный файл *.rpd похож на область CFM1 но не идентичен. поэтому когда я заливаю cfm1.rpd в CFM1-2  сериально второй образ не поднимается.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this