Перейти к содержанию

    

niosii external boot

Доброго времени суток!

 

Возникла задача загрузки софта в NIOS из HPS (работающих на одном кристалле). Нашел у Альтеры в "Embeded design handbook" раздел с примером как из одного проца залить код в Nios проц. Все хорошо, вот только там предполагается неким способом получить ,как в документации его называют, "распакованный" elf, представляющий из себя бинарник с размещенными некоторым способом сегментами. Как это сделать... В разделе 5.3.9.3.1 "Boot Images" есть всего 2 строчки рассказывающие что информацию о получении файла см. в разделе "Boot Images". Сепульки какие-то. Кто-нибудь может подсказать какие доки читать, или как получить требуемый формат?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да вот тут я и встретил загадочную фразу

 

"Boot Images

The procedure described here assumes you have a Nios® II boot image in the format described in the “Boot Images” section."

 

Вообще, по аналогии с другими способами, как я понял, можно использовать скрипт для создания файла из экземпла "advanced boot copier". Но с ним тоже не особо вышло. Там алгоритм подразумевает что первые 32 байта заголовок (для external boot не используется), дальше сразу начинаются записи вида "len0, addr0, data0, len1, addr1, data1...". Если посмотреть на сформированные скриптом *.srec и *.bin файлы - то в первых 4 байтах хранящих длину сегмента (вроде как) находится число равное нескольким миллиардам. Что-то не так. Пока не разобрался почему.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Использую пример advanced_boot_copier для загрузки NIOS из внешнего процессора.

После того, как сделан .elf запускаю в скрипте две команды

 

#!/bin/sh
./make_flash_image_script.sh hello_world.elf
bin2flash --input=hello_world.elf.flash.bin \
--output=hello_world.flash \
--location=0x00240000

 

Скрипты make_flash_image_script.sh и bin2flash из примера. Изменил только скрипт make_header.pl. Закомментировал в нем строку

print { $out_FH } $bin_header;

чтобы в выходной файл не записывался ненужный заголовок.

 

В результате получаю файл hello_world.elf.flash.bin с содержимым в формате Length - Addr - Data.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Nick, Спасибо! Вот про bin2flash я и не подумал. Опробую

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти