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

 
 
> Вопросы по U-boot, Выходной скомпилированный файл
Viciouspriest
сообщение Apr 2 2013, 07:10
Сообщение #1





Группа: Участник
Сообщений: 14
Регистрация: 24-08-12
Пользователь №: 73 242



В данный момент осваиваю линукс на АРМе9 TI AM1705. У меня есть даже не знаю какой версии исходник убута, вродебы, он шел вместе с диском от терраэлектроники на отладку TE-AM1705v2. После компиляции он выдает несколько файлов, среди которых есть бинарник и файл без расширения u-boot, в свойствах которого написано, что он является исполняемым(даже иконка другая). Этот файл далее скармливается утилите AISGen от техасов и на выходе получаем готовый файл .ais для загрузки в память проца. Это было вступление, а теперь проблема.
Скачал исходники свежего убута, стал собирать из них убут под свою плату, на выходе получаю тоже несколько файлов, среди которых теже бинарник и и файл без расширения u-boot. Но! Этот убут аисген принимать не хочет, и в описании файла уже написано, что он не исполняемый, а разделяемая библиотека(без иконки)!!!
Подскажите, пожалуйста, что мне делать, где и что прописать, чтобы на выходе получать убут в нужном мне виде... От исходников убута у меня уже мозг кипит. Или можно получить выходной файл убута, готовый для загрузки в память безо всяких утилит?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Hoodwin
сообщение Apr 3 2013, 06:23
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 881
Регистрация: 21-03-10
Из: _// \\_
Пользователь №: 56 107



1) u-boot без расширения - это собранный u-boot в формате ELF32. AISGen использует для вывода скрипта AIS утилиту ofd6x (object file display), которая должна поддерживать тот ABI формат (COFF, ELF32), в котором ей передается собранный исполняемый модуль.
2) в сборке u-boot есть штатный метод получения бинарного образа u-boot.bin из u-boot, который задействует утилиту objcopy из пакета binutils. u-boot.bin - это уже просто массив, который нужно положить в память, начиная с адреса CONFIG_SYS_TEXT_BASE, который задается при сборке u-boot.
3) В поставку u-boot входят вспомогательные утилиты, которые сами умеют делать разные образы, в том числе AIS image. утилита называется mkimage, исходник живет в каталоге <u-boot-root>/tools. Подробнее о том, как она работает, можно узнать, поизучав Makefile:
Код
$(obj)u-boot.ais:       $(obj)spl/u-boot-spl.bin $(obj)u-boot.bin
        $(obj)tools/mkimage -s -n /dev/null -T aisimage \
            -e $(CONFIG_SPL_TEXT_BASE) \
            -d $(obj)spl/u-boot-spl.bin \
            $(obj)spl/u-boot-spl.ais
        $(OBJCOPY) ${OBJCFLAGS} -I binary \
            --pad-to=$(CONFIG_SPL_MAX_SIZE) -O binary \
            $(obj)spl/u-boot-spl.ais $(obj)spl/u-boot-spl-pad.ais
        cat $(obj)spl/u-boot-spl-pad.ais $(obj)u-boot.bin > \
            $(obj)u-boot.ais
        rm $(obj)spl/u-boot-spl{,-pad}.ais


Она делает готовый AIS image сама, причем намного быстрее, чем aisgen.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 20th August 2025 - 14:59
Рейтинг@Mail.ru


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