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

 
 
 
Reply to this topicStart new topic
> NIOS + ELF, загрузка
DASM
сообщение Oct 15 2010, 08:01
Сообщение #1


Гуру
******

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



Насколько я понимаю, в EPCS flash loader прошивает вначале SOF системы, и СРАЗУ после него ELF (c boot-ом или без как понимаю). Одна беда - у меня несколько Альтер в цепочке, поэтому мне надо, чтобы все 3 SOF лежали друг за другом, а boot+ELF - после них. Такое возможно ?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Oct 15 2010, 08:05
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



по идее, да. там есть ключ --after, с ним пробуйте. я так понимаю, sof с ниосом и прога, должны лежать в конце
Go to the top of the page
 
+Quote Post
DASM
сообщение Oct 15 2010, 08:39
Сообщение #3


Гуру
******

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



у меня уже так запаяно, что NIOS первый в цепи =( А как несколько SOF слить в один ? Я понимаю как их например в один JIC слить, но flash programmer хочет SOF ... или шить 3 раза нестирая ?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Oct 15 2010, 08:41
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(DASM @ Oct 15 2010, 15:39) *
или шить 3 раза нестирая ?

ну да. первый зашили, а остальные sof`ы, да и elf с ключом after.

upd: хотя вру, after есть только у elf2flash. тогда другой вариант: сделать 3 раза sof2flash и слить их в один
Go to the top of the page
 
+Quote Post
DASM
сообщение Oct 15 2010, 08:58
Сообщение #5


Гуру
******

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



маленький вопрос - а как скриптик простенький написать ? Достало длиннющие команды печатать в консоли
PS вопрос снят
Go to the top of the page
 
+Quote Post
DASM
сообщение Oct 15 2010, 10:59
Сообщение #6


Гуру
******

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



Гм, а как эти flash файлы (srec) в один сшить ? sof2flash всегда их привязывает как стартующие с нулевого адреса, для EPCS всякие offset-ы указывать нельзя...
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Oct 15 2010, 12:10
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(DASM @ Oct 15 2010, 17:59) *
Гм, а как эти flash файлы (srec) в один сшить ?

я вот этой тулзой пользуюсь:
http://srecord.sourceforge.net/download.html
Go to the top of the page
 
+Quote Post
DASM
сообщение Oct 15 2010, 12:14
Сообщение #8


Гуру
******

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



А вот такой дурацкий вопрос.. Вот ставим мы вектор сброса NIOS процессору на базовый адрем EPCS и смещение 0. Как он собственно находит, где кончается конфигурационный файл и начинается boot+апликуха ? А если я сотворю то, что сотворю, то есть помещу boot не сразу после конфигурационного файла, а после всех 3 - то тем более - как он его найдет ?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Oct 15 2010, 12:25
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



вы задаете отличные вопросы smile.gif
Цитата
Вот ставим мы вектор сброса NIOS процессору на базовый адрем EPCS и смещение 0. Как он собственно находит, где кончается конфигурационный файл и начинается boot+апликуха ?

можно посмотреть код загрузчика, правда, там асм.
Цитата
А если я сотворю то, что сотворю, то есть помещу boot не сразу после конфигурационного файла, а после всех 3 - то тем более - как он его найдет ?

скорее всего загрузчику достаточно знать адрес. а какие у вас ПЛИС?
Go to the top of the page
 
+Quote Post
DASM
сообщение Oct 15 2010, 13:09
Сообщение #10


Гуру
******

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



EP3C16+EP3C16+EP1AGX (Arria GX). Код загрузчика это конечно хорошо, но там мало что понятно. А может при сборке ядра когда я ставлю EPCS контроллер оно (ядро) уже знает, что смещение будет как раз базовый адрес EPCS + длина прошивки ? Тады вообще ой sad.gif.
UPD - поглядел boot ... В EPCS контроллере лежит таки длина прошивки :-( и по ней он и определяет, что boot должен быть сразу после прошивы... sad.gif

А нельзя ли какой-нить код сразу в onchip memory инициализированную залить, чтобы оно прямо в SOF было, и не возиться с этим бутлоадером ?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Oct 15 2010, 13:15
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(DASM @ Oct 15 2010, 19:29) *
EP3C16+EP3C16+EP1AGX (Arria GX). Код загрузчика это конечно хорошо, но там мало что понятно. А может при сборке ядра когда я ставлю EPCS контроллер оно (ядро) уже знает, что смещение будет как раз базовый адрес EPCS + длина прошивки ? Тады вообще ой sad.gif.
UPD - поглядел boot ... В EPCS контроллере лежит таки длина прошивки :-( и по ней он и определяет, что boot должен быть сразу после прошивы... sad.gif

ну и нормально, пусть первым идет ниос, потом его прога, потом еще 2 sof`а. хотя есть одна тонкость: не взведется ли nCEO сразу после первого sof? тогда будет плохо. но можно свой загрузчик написать, чтоб с фиксированного адреса прогу располагал, где она никому не мешает.

Цитата(DASM @ Oct 15 2010, 20:09) *
А нельзя ли какой-нить код сразу в onchip memory инициализированную залить, чтобы оно прямо в SOF было, и не возиться с этим бутлоадером ?

можно, конечно. ресет на он-чип, слинковать туда же.
Go to the top of the page
 
+Quote Post
DASM
сообщение Oct 15 2010, 13:33
Сообщение #12


Гуру
******

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



Ессно взведется после первого SOF и второй чип начнет всякой мурой грузиться (то бишь моим бутом и апликухой), что ему не понравится и он начнет процедуру сброса всей цепи и все заново-вечно (что я и наблюдаю). С фиксированного не могу - мы компрессим файлы, а то не лезет все в EPCS

А как линковать на on-chip memory - в упор что-то файла линкера не нашел
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Oct 15 2010, 13:39
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата
компрессим файлы, а то не лезет все в EPCS

поставить EPCS побольше?
Цитата
А как линковать на on-chip memory - в упор что-то файла линкера не нашел

в настройках BSP (эклипс) или System Library (ниос-иде), смотря чем пользуетесь
Go to the top of the page
 
+Quote Post
DASM
сообщение Oct 15 2010, 13:46
Сообщение #14


Гуру
******

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



Цитата(vadimuzzz @ Oct 15 2010, 17:39) *
поставить EPCS побольше?

в настройках BSP (эклипс) или System Library (ниос-иде), смотря чем пользуетесь

System Library тока позволяет указать типы памяти в которые сегменты писать.... кажется так (ну если памятей много всяких)
Правда она позволяет использовать custom linker script. Примерчик не дадите такого ? Понимаю, что все в инете можно найти, но некогда =(
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Oct 15 2010, 13:57
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(DASM @ Oct 15 2010, 20:46) *
System Library тока позволяет указать типы памяти в которые сегменты писать....

вот, это оно и есть. закиньте все в он-чип. а, чуть не забыл. при таком раскладе после каждой сборки программы придется запускать компиляцию в квартусе (хотя м.б. достаточно ассемблер)
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 01:18
Рейтинг@Mail.ru


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