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

 
 
> bootsplash for embedded, чтоб кустомеры пингвинов не пугались
Drozd2
сообщение Oct 1 2012, 18:03
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 97
Регистрация: 19-11-09
Пользователь №: 53 743



Здравствуйте!
Задача из категории навешивания бантиков, но решить надо.
Нужно на время загрузки linux на плате с процессором ARM отображать на экране заставку. Для уменьшения времени загрузки u-boot был убран. На горизонте эксперимент с распакованным ядром. Параметры загрузки ядра похоронены в самом ядре. Самописный загрузчик инициализирует sdram, копирует ядро и запускает. Промежуточные результаты были следующие. Bootsplash, насколько я понял из описания, предполагает использование initrd, в котором он и хранит заставку, и который в embedded системе не нужен. Поэтому пока оставлен на десерт, хотя, возможно, есть варианты его использования в таких случаях. Если это так, то вопрос как именно. Пробовали вместо пингвина выводить свою картинку с разрешением во весь экран. Срабатывает, но в некоторый момент в левом верхнем углу экрана появляется черный прямоугольник с моргающим курсором. Пробовали framebuffer делать модулем, картинку выводить загрузчиком, но в этом случае перед запуском пользовательского приложения проскакивает момент замусоривания экрана. В общем, идеи еще есть, но цыплята заканчиваются. Как такая задача решается правильно?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Drozd2
сообщение Oct 2 2012, 08:36
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 97
Регистрация: 19-11-09
Пользователь №: 53 743



Цитата
Если не секрет, а сколько у вас uboot грузился, что вы его ликвидировали?

Конечно секрет! Я поделюсь, только Вы никому не говорите. До счетчика bootdelay, который обнулен, на детектирование памяти и инициализацию ethernet уходит 3 секунды. Не фатально, но некрасиво. Делать картинку u-bootом пробовали. Соответственно, framebuffer модулем, и из драйвера убрали снятие тактирования lcd. Итог - замусоривание экрана. Ядро не выделяет память под экран и использует ее для своих задач. Отсюда и замусоривание. Были идеи выпилить из u-bootа все лишнее, картинку делать им, но, по моему, тут нет никакой разницы чем выводить заставку. Главное дать понять ядру или драйверу не трогать эту область памяти. Честно говоря, это первый опыт выпуска подобного изделия в свет. Поэтому, если можно, как для чайника, в каком файле и какой кусок надо поправить. У нас используется процессор at91sam9g45, соответственно, драйвер atmel_lcdfb.c.
Цитата
# echo -e "\033[?25l" > /dev/tty1

Попробую. Но не понятно, куда вставить эту строчку. В inittab похоже рано. В один из скриптов в init.d, возможно, поздно. Это всего лишь домыслы. Пока читаю и отвечаю. Пошел пробовать.
Go to the top of the page
 
+Quote Post



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

 


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


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