Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:0
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Embedded Linux
lcd siemens s65 & linux
Geban
Добавлено 29.01.2010 21:54 Сообщение: 141
Geban
5

Пункты: 2060
Регистрация: 03.01.2010
не умею я их делать патчи, а писать руками там оч. много
методом расстановки в коде штук типа printk("point_1\n");
нашел место затыка в функции Probe.
Застревает все вот тут:
retval = register_framebuffer(info);

а так как в кишках драйвера ковыряюсь впервые то сам наврятли разберусь. прошу помощи :)
Спуститься к концу Подняться к началу
Персональная информация
Geban
Добавлено 30.01.2010 00:23 Редактировалось 30.01.2010 15:42 Сообщение: 142
Geban
5

Пункты: 2060
Регистрация: 03.01.2010
Нашел этот же драйвер у немцев, на mikrocontroller.net
драйвер грузится, дисплей не работает. Выяснилось что линия SCK (тактовые импульсы) для SPI1 мертва
Наверно где то выбило статикой. Попробовал включить в ядре LED Support и завел на этот пин в board файле мигалку (heart beat) тишина.. светодиод молчит. А сделать тоже самое на соседнем пине (MOSI) , то светодиод мигает. Эх.. судя по схеме второй SPI, тот что SPI_0, заходит на датафлэш.. вот интересно.. если дата флэш не используется во время работы платы а только при загрузке, то может быть можно для дисплея использовать шину SPI_0 с внешним CS сигналом? Как думаете?
Спуститься к концу Подняться к началу
Персональная информация
boyko-alexey
Добавлено 30.01.2010 10:46 Сообщение: 143
boyko-alexey
0

Пункты: 4558
Регистрация: 13.12.2009
Пол: Мужчина
Цитата
void lcd_wrcmd(struct spi_device *spi, u8 type)
{
1: at91_set_gpio_output(LCD_CS,1); // CS
2: at91_set_gpio_output(LCD_RS,1); // RS
3: spi_write(spi, &type, 1); // Data
4: at91_set_gpio_output(LCD_RS,0); // RS
5: at91_set_gpio_output(LCD_CS,0); // CX
}

Мне кажется так работать не будет: надо поменять местами строки 1 и 5.
Спуститься к концу Подняться к началу
Персональная информация
Geban
Добавлено 30.01.2010 12:57 Сообщение: 144
Geban
5

Пункты: 2060
Регистрация: 03.01.2010
Разве сигнал CS на SPI активный низкий?!
Я когда на АВР цеплял этот дисплей делал именно так как написано тут. все работало
Спуститься к концу Подняться к началу
Персональная информация
boyko-alexey
Добавлено 30.01.2010 16:45 Редактировалось 30.01.2010 16:49 Сообщение: 145
boyko-alexey
0

Пункты: 4558
Регистрация: 13.12.2009
Пол: Мужчина
Цитата
Разве сигнал CS на SPI активный низкий?!
Я когда на АВР цеплял этот дисплей делал именно так как написано тут. все работало

НА диспе СS активный - низкий, в ф-ции lcd_wrdata с CS всё правильно.

я думаю так
void lcd_wrcmd(struct spi_device *spi, u8 type)
{
1: at91_set_gpio_output(LCD_CS,0); // CS on
2: at91_set_gpio_output(LCD_RS,1); // RS cmd
3: spi_write(spi, &type, 1); // Data
4: at91_set_gpio_output(LCD_RS,1); // RS cmd
5: at91_set_gpio_output(LCD_CS,1); // CS off
}
Спуститься к концу Подняться к началу
Персональная информация
Geban
Добавлено 30.01.2010 18:45 Редактировалось 30.01.2010 18:45 Сообщение: 146
Geban
5

Пункты: 2060
Регистрация: 03.01.2010
boyko-alexey, дествительно, не углядел. спасибо за наводку :)
Подвесил дисплей на SPI_0, есть инициализация(цветной мусор на экране).. теперь нужно как-то переключить туда консоль.
sasa говорил что в inittab нужно добавить строку
tty1::respawn:/bin/getty 38400 tty1 linux
добавил. в ядре включил все что он говорил. на экране по прежнему мусор
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 30.01.2010 19:10 Сообщение: 147
sasamy
4.70

Пункты: 77331
Регистрация: 14.08.2009
Нужно еще включить в ядре поддержку framuffer console и шрифты для консоли.
-> Device Drivers -> Graphics support -> Console display driver support -> Framebuffer Console support и там же Select compiled-in fonts
Спуститься к концу Подняться к началу
Персональная информация
Geban
Добавлено 30.01.2010 22:02 Сообщение: 148
Geban
5

Пункты: 2060
Регистрация: 03.01.2010
sasamy, это я сделал с самого начала
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 30.01.2010 22:23 Сообщение: 149
sasamy
4.70

Пункты: 77331
Регистрация: 14.08.2009
Если так и драйвер работает правильно то ты должен был уже увидеть лог загрузки ядра
tty1::respawn:/bin/getty 38400 tty1 linux
это только после монтирования корневой фс.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 30.01.2010 22:35 Сообщение: 150
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
нашел место затыка в функции Probe.
Застревает все вот тут:
retval = register_framebuffer(info);

и как поживает это место? все проходит теперь нормально?
выложи лог все что касается инита фреймбуфера.. возможно железо стартует, а прошение о фреймбуфере ядром отклоняется..
что выводит вот эта строчка:
Код
printk(KERN_INFO "fb%d: %s frame buffer device, %dK of video memory\n",
info->node, info->fix.id, info->fix.smem_len >> 10);

и еще, после успешной загрузки проверь наличие /dev/fb0

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux