ЗАО «ЗЭО»
Техническая поддержка пользователей => ОС Linux, U-Boot => Тема начата: Ivan от 04 Декабря, 2012, 19:12:28
-
Доброго времени суток.
Уже создавал похожую тему, но тогда так и не смог решить проблему.
Есть несколько Тионов rev.4 с предустановленными загрузчиками.
Мне нужно залить туда свой загрузчик, т.к. я пробую прикрутить к плате дисплей с нестандартным разрешением 800x480.
У меня есть пропатченные исходники U-boot-1.3.3, поэтому с ним и упражнялся.
Внес изменения, скомпилировал.
Прошиваю на плату через download - такое впечатление, что загрузчик не изменился. Все переменные остались неизменными, экран в измененной конфигурации по прежнему выдает разрешение 800х600.
В этой теме (http://www.zao-zeo.ru/forum/index.php?topic=646.0) мне посоветовали залить пустой файлик в spi.
Я сделал файл, состоящий из нулей, размером в 160К (т.к. u-boot занимает примерно столько) и залил его в spi (через download -s2).
После этого опять залил свой загрузчик. Результат тот же самый.
Не подскажете, как же мне, все-таки, подменить загрузчик?
P.S.: Также буду признателен за советы о том, как лучше "внедрить" поддержку нового экрана.
Для начала в файле u-boot-1.3.3/cpu/arm920t/ep93xx/lcd.c просто подменил разрешение в одной из предустановленных конфигураций.
-
> Все переменные остались неизменными
Переменные хранятся в отдельно, см. конфигурацию в include/config.h
Настройки экрана в U-Boot задаются переменно panel, если вы не стираете
переменные, то можно задать переменную panel в требуемое значение и saveenv,
reset.
> У меня есть пропатченные исходники U-boot-1.3.3, поэтому с ним и
> упражнялся.
Можно перейти на 2010.09, заставка там уже есть
http://zao-zeo.ru/media/files/u-boot/u-boot-2010.09-zeo.git
> Не подскажете, как же мне, все-таки, подменить загрузчик?
Загрузчик должен перезаписываться без проблем, можете поменять строку
версии, чтобы убедиться, что загрузчик перезаписан.
-
Настройки экрана в U-Boot задаются переменно panel
А в вики еще написано
В параметрах ядра укажите:
video=ep93xxfb:vout=1,vmode=<val>, где <val> — номер соответствующий дисплею:
В результате, надо менять обе этих переменные?
Можно перейти на 2010.09, заставка там уже есть
Спасибо, попробую переползти на него.
По поводу экрана, я так понимаю, лучше создать отдельную тему?
-
U-boot выкачал.
Делаю:
$ export ARCH=arm
$ export CROSS_COMPILE=arm-linux-gnueabi-
$ make clean
$ make tion_config
$ make
В результате в лог валится куча ошибок и ничего не собирается. У меня такое чувство, что надо его как-то по-другому конфигурировать, нет?
Лог прикладываю.
-
> В результате, надо менять обе этих переменные?
panel задаёт параметры экрана в U-Boot,
video=ep93xxfb:vout=1,vmode= -- в Linux (через переменную bootargs U-Boot'а).
В U-Boot свой драйвер видео контроллера, в Linux свой.
-
> В результате в лог валится куча ошибок и ничего не собирается. У меня
> такое чувство, что надо его как-то по-другому конфигурировать, нет?
С настройкой всё правильно. Что-то не то с репозиторием, я его пересоздал
сделайте git clone заново.
-
Что-то не то с репозиторием, я его пересоздал
Спасибо, теперь вроде собралось. Попробую прошить.
В U-Boot свой драйвер видео контроллера, в Linux свой.
Была у меня такая мысль, но надолго не задержалась =)
Тогда буду ковырять ядро. Буду признателен, если подскажете, куда копать (в ядре 2.6.20.21).
-
> в ядре 2.6.20.21
Это _засунуто_ в drivers/video/ep93xxfb.c , ищите ep93xxfb_vmods
-
Это _засунуто_ в drivers/video/ep93xxfb.c
Спасибо, нашел!
Вроде завелось.