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

 
 
> Remote Update для Cyclone 3, пара вопросов по Remote Update
djhall
сообщение Nov 8 2012, 13:11
Сообщение #1


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

Группа: Свой
Сообщений: 168
Регистрация: 29-04-06
Пользователь №: 16 608



Здравствуйте,
хочу добавить функцию remote upgrate в свой проект, но возникло некоторое не допонимание. Если кто знает объясните, пожалуйста.
Задача - сделать возможность обновления прошивки в EPCS, т.е. простенький процессор в качестве Factory Configuration и уже нормальный
в качестве Application Configuration. В общем всё по описанию, как обычно.
А не понятно мне как найти сдвиг второй прошивки относительно первой? Ведь этот адрес нужно записывать в Remote Update Controller для переконфигурации.
Вторую прошивку (Application Configuration) я собираюсь передовать по USB сохранять в оперативной памяти и далее записывать во флэш память стандартными средствами. Но какой файл мне передовать .flash или какой-то другой?

Заранее благодарю.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
djhall
сообщение Nov 11 2012, 13:41
Сообщение #2


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

Группа: Свой
Сообщений: 168
Регистрация: 29-04-06
Пользователь №: 16 608



Решил я сначала сделать по простому. Записать прогамматором две прошивки с Nios по разным адресам: factory в 0x00000000 и application в 0x000E0000. Причём это не две прошивки, а одна и таже только с программно изменённой частотой мигания светодиода.
Применил следующий скрипт для получения сдвига application прошивки:
sof2flash --epcs --input="factory_image.sof" --output="factory_image.flash"
elf2flash --epcs --after="factory_image.flash" --input="rsu_1.elf" --output="rsu_1.flash"
cat factory_image.flash rsu_1.flash > hw_sw_image.flash
nios2-elf-objcopy -I srec -O srec --change-addresses=0x000E0000 hw_sw_image.flash hw_sw_image_a.flash --srec-len=0x20 --srec-forceS3
nios2-flash-programmer --epcs --base=0x21800 "hw_sw_image_a.flash"

А factory прошивку с уменьшенной частотой мигания светодиода запрогамировал чарез Flash Programmer.

Включаю - работает прошивка factory. Через отладчик сменяю прошивку на application следующими командами:
IOWR( REMOTE_UPDATE_CYCLONEIII_0_BASE, 0x3, 0 );
IOWR( REMOTE_UPDATE_CYCLONEIII_0_BASE, 0x4, address >> 2);
IOWR( REMOTE_UPDATE_CYCLONEIII_0_BASE, 0x20, 0x1 );

Видно что происходит перепрошивка и вновь работает прошивка factory (по частоте мигания светодиода).

Решил вместо прошивки application с Nios, сделать обычный аппаратный счётчик чтобы моргал светодиодик.
Сделал, запрограммировал скриптом как в предыдущем случае (без программы ясное дело) по адресу 0x000E0000, переключил прошивку - работает. Светодиодик моргает так как должен.

Т.е. касательно предыдущего случая выходит что прошивка ПЛИС грузится, а программа для Nios нет.
Знает кто-нибудь как сделать переключение между двумя процессорами? Есть тут связь с boot_copier?
Go to the top of the page
 
+Quote Post
Konst_777
сообщение Nov 11 2012, 18:02
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644



Цитата(djhall @ Nov 11 2012, 17:41) *
nios2-elf-objcopy -I srec -O srec --change-addresses=0x000E0000 hw_sw_image.flash hw_sw_image_a.flash --srec-len=0x20 --srec-forceS3

Попробуйте использовать --set-start вместо --change-addresses. Или преобразуйте "hw_sw_image.flash" в "hw_sw_image.bin". А затем используйте "bin2flash" и уже здесь задайте смещение в EPCS для приложения.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st August 2025 - 16:07
Рейтинг@Mail.ru


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