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

Как запустить linux2.6 из flash.

Здравствуйте!!!

 

Использую отладочную плату Virtex4FX12 и инструментарий Xilinx 10.1.

Скомпилировал Linux 2.6 http://git.xilinx.com/cgi-bin/gitweb.cgi ELDK кросскомпилятором для ppc405 http://www.denx.de/en/News/WebHome, в результате получил image.initrd.virtex405-mine.elf образ. Этот образ через XMD загружается и работает нормально. Хочу залить этот образ на флешку, стандартными средствами EDK и потом загружать стандартным EDK загрузчиком. Выполняю действия : Device_configuration->Program_flash_memory но почемуто возможность конвертирования в формат SREC не активируется. Странно свои ELF файлы EDK может конвертировать, а ELKD(шные) файлы нет, почему так, и можно ли это исправить?

Посоветуйте пример приложения, или документацию для создания такого приложения, которое может копировать ELF файл из флшки в оперативную память и запускать его там. Или как вообще запустить Linux из флешь?

 

PS: Загрузчик U-boot не подходит, слишком большой для BRAM памяти, да и слишком избыточен для моего проекта, мне нужен простой загрузчик чтобы мог только запускать образ Linux и все.

 

Спасибо.

Изменено пользователем Oops

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


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

Напишите свой загрузчик.

Мы уместились в 4К BRAM.

ELF легко разобрать, например, с помощью прикрепленного исходника, выкинув, естественно, лишнее.

Мы так и сделали.

Средствами EDK не пользуемся, складываем ELF на флешку.

 

Небольшая проблема встретится с секцией .boot, которая должна быть расположена по 0xFFFFFFFC (адрес старта проца после reset). Этот адрес обычно за пределами DDR, в BRAM, а у нас там - загрузчик :). Но там лежит всего одна команда - переход на секцию .boot0, котроую надо поместить (как и все остальные секции) в DDR. Мы обошли это дело так: секцию .boot не грузим, берем из нее адрес перехода, и передаем управление по этому адресу. Это все относится к standalone, но, думаю, ELF бинарь линукс устроен примерно так же. Скомпильте предлагаемый исходник на писюке, скормите ему ваш ELF, распечатайте секции...

 

Удачи.

 

PS не могу прикрепить файл :(

сообщите Ваш e-mail, пришлю...

 

PPS вопрос, скорее, в раздел "Системы на ПЛИС"

Также могу прислать описание формата ELF

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


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

Здравствуйте!!!

Дмитрий я как раз и хочу написать свой загрузчик. Спасибо за оперативную помощь :) .

Мой e-mail: [email protected]. Пришлите и описание на ELF, будет очень полезно почитать.

 

PPS вопрос, скорее, в раздел "Системы на ПЛИС"

согласен, модератор переместите пожалуйста тему в этот раздел.

 

Еще раз большое спасибо за помощь :)

Изменено пользователем Oops

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


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

PS не могу прикрепить файл :(

сообщите Ваш e-mail, пришлю...

 

Здравствуйте!

Дмитрий, можно ли мне получить ваш загрузчик и описание.

Мой адрес [email protected]

 

Спасибо

 

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


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

А чем не устраивает стандартный SrecBootloader который входит в EDK и собирается с исходников ?

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


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

А чем не устраивает стандартный SrecBootloader который входит в EDK и собирается с исходников ?

Меня - тем, что SREC это ASCII - объем на флеше и время загрузки...

 

Дмитрий, можно ли мне получить ваш загрузчик и описание.

Отправил. Только там не загрузчик, а разборка ELF. Загрузчик уж сами напишете, какой Вам надо...

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


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

Меня - тем, что SREC это ASCII - объем на флеше и время загрузки...

Дак сконвертируйте в bin и шлёпните контр сумму и всё

 

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


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

BIN также может получиться намного больше, чем ELF

В случае если в есть дыры в адресном пространстве или несколько секций. Ну наверное тогда лучше использовать загрузчик elf вопрос только в том насколько он будет сложен...

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


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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...