Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

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

User Info


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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Embedded Linux
About at91sam9m10/9g45 (RTT)
Jury093
Добавлено 27.11.2011 17:55
0
Сообщение: 1
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
в рамках запуска на m10 ядра 3.1.2 и возни с экраном словил "интересный" глюк..
после очередной итерации включаю плату (3.1.2+дебьян-6), созерцаю:
Код
Linux version 3.1.2 (user@debian) (gcc version 4.2.0 20070413 (prerelease) (CodeSourcery Sourcery G++ Lite 2007q1-10)) #27 PREEMPT Sun Nov 27 16:18:02 EST 2011
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: Atmel AT91SAM9M10G45-EK
Memory policy: ECC disabled, Data cache writeback
AT91: Detected soc type: at91sam9g45
AT91: Detected soc subtype: at91sam9m10
AT91: sram at 0x300000 of 0x10000 mapped at 0xfef68000
Clocks: CPU 400 MHz, master 133 MHz, main 12.000 MHz
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
Kernel command line: mem=64M console=ttyS0,115200 rw rootwait root=/dev/sda2
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 64MB = 64MB total
Memory: 61128k/61128k available, 4408k reserved, 0K highmem
Virtual kernel memory layout:

NR_IRQS:192
AT91: 160 gpio irqs in 5 banks
irq 1: nobody cared (try booting with the "irqpoll" option)

думаю, фигня, отрываю все провода, гружу "штатное" ядро из нанда:
Код
Linux version 2.6.30 (user@debian) (gcc version 4.2.0 20070413 (prerelease) (CodeSourcery Sourcery G++ Lite 2007q1-10)) #87 Fri Mar 25 22:42:00 EDT 2011
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: SK-AT91SAM9M10
Memory policy: ECC disabled, Data cache writeback
Clocks: CPU 400 MHz, master 133 MHz, main 12.000 MHz
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
Kernel command line: mem=64M console=ttyS0,115200 ubi.mtd=1 root=ubi0:nandfs rw
rootfstype=ubifs
NR_IRQS:192
AT91: 160 gpio irqs in 5 banks
PID hash table entries: 256 (order: 8, 1024 bytes)
irq 1: nobody cared (try booting with the "irqpoll" option)

и все.. никто не грузится.. легкая паника - "плату пожег!"
погуглил, чуть ли не в первой строчке
типа этой
упоминание о RTT
тут же в памяти всплыло - конфигурил ядро и взвел что-то с похожей абревиатурой..
сдернул батарейку:
Код
Linux version 2.6.30 (user@debian) (gcc version 4.2.0 20070413 (prerelease) (CodeSourcery Sourcery G++ Lite 2007q1-10)) #87 Fri Mar 25 22:42:00 EDT 2011
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: SK-AT91SAM9M10
Memory policy: ECC disabled, Data cache writeback
Clocks: CPU 400 MHz, master 133 MHz, main 12.000 MHz
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
Kernel command line: mem=64M console=ttyS0,115200 ubi.mtd=1 root=ubi0:nandfs rw
rootfstype=ubifs
NR_IRQS:192
AT91: 160 gpio irqs in 5 banks
PID hash table entries: 256 (order: 8, 1024 bytes)

бла-бла

Welcome to SK-AT91SAM9M10 development board!
buildroot login:


вот такие грабли :-/

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
e1
Добавлено 29.11.2011 20:18 Сообщение: 2
e1
0

Пункты: 663
Регистрация: 06.08.2009
Пол: Мужчина
Буду благодарен, если можете выложить патч на эти грабли?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 29.11.2011 20:42 Сообщение: 3
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Буду благодарен, если можете выложить патч на эти грабли?

Код
сдернул батарейку

пока ничего более существенного - надо вопрос изучать отдельно..
собственно, я даже не знаю, что туда (в RTT) пишется и кто этим пользуется.. возможно, надо просто правильно отконфигурировать..
на прибитом к полке ките 9g45 вроде таких позывов нет..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
e1
Добавлено 29.11.2011 21:23 Сообщение: 4
e1
0

Пункты: 663
Регистрация: 06.08.2009
Пол: Мужчина
Понято, благодарю!

А можно попросить Ваш патч на официальній 3.1.2 под эту плату?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 29.11.2011 21:48 Сообщение: 5
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
А можно попросить Ваш патч на официальній 3.1.2 под эту плату?

/вытаращив глаза - патч?! хм.. а нет его..
я взял ванильное ядро с kernel.org и поправил файл борды под существующее железо, опираясь на содержимое файла кита для 2.6.30 (которое предоставил Павел)
на текущий момент ядро грузиться, работает консоль, сеть, экран, юсб, ммс. и2ц не проверял. звук не прикручивал..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 29.11.2011 23:02 Сообщение: 6
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
чуть посмотрел про RTT (по хорошему надо в даташит смотреть, но лениво..)
в меню ядра есть два пункта, один RTC для AT91, второй для RTT.. вот выдержка из драйвера rtc-at91sam9.c
Код
/*
* This driver uses two configurable hardware resources that live in the
* AT91SAM9 backup power domain (intended to be powered at all times)
* to implement the Real Time Clock interfaces
*
* - A "Real-time Timer" (RTT) counts up in seconds from a base time.
* We can't assign the counter value (CRTV) ... but we can reset it.
*
* - One of the "General Purpose Backup Registers" (GPBRs) holds the
* base time, normally an offset from the beginning of the POSIX
* epoch (1970-Jan-1 00:00:00 UTC). Some systems also include the
* local timezone's offset.
*
* The RTC's value is the RTT counter plus that offset. The RTC's alarm
* is likewise a base (ALMV) plus that offset.
*
* Not all RTTs will be used as RTCs; some systems have multiple RTTs to
* choose from, or a "real" RTC module. All systems have multiple GPBR
* registers available, likewise usable for more than "RTC" support.
*/

взвел обе опции, пересобрал, гружу:
Код
at91_rtc at91_rtc: rtc core: registered at91_rtc as rtc0
AT91 Real Time Clock driver.
rtc-at91sam9 at91_rtt.0: rtc core: registered at91_rtt as rtc1
rtc-at91sam9 at91_rtt.0: rtc1: SET TIME!
at91_rtc at91_rtc: setting system clock to 2011-11-29 22:50:08 UTC (1322607008)

натравил на rtc1 пересобранную патчилку от Саши:
Код
~/settime # hwclock --rtc=/dev/rtc1
Thu Jan 1 00:03:18 1970 -1.889230 seconds
~/settime # hwclock --rtc=/dev/rtc0
Tue Nov 29 23:51:09 2011 -0.928966 seconds

если посмотреть прерывания в системе:
Код
~/settime # cat /proc/interrupts
CPU0
1: 4977 AIC at91_tick, at91_rtc, rtc1, ttyS0
11: 61 AIC atmel_mci.0
18: 373158 AIC tc_clkevt
19: 0 AIC atmel_pwm
22: 2018 AIC ehci_hcd:usb1, ohci_hcd:usb2
23: 0 AIC atmel_lcdfb
25: 901 AIC eth0
63: 0 GPIO mmc-detect
70: 1 GPIO left_click
71: 0 GPIO right_click
78: 0 GPIO Joystick Left
79: 0 GPIO Joystick Right
80: 0 GPIO Joystick Up
81: 0 GPIO Joystick Down
82: 0 GPIO Joystick Press
Err: 0

и вспомнить стоны ядра про "irq 1", то.. мыслей как-то нет
во! вспомнилось, было еще такое расследование

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
e1
Добавлено 24.08.2012 21:57 Сообщение: 7
e1
0

Пункты: 663
Регистрация: 06.08.2009
Пол: Мужчина
Заметил, что hwclock отстает на плате. За порядка 6 с половиной суток непрерывной работы хардварные часы отстали на 12 часов. Может кто-то подсказать, почему?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 26.08.2012 16:06 Сообщение: 8
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Заметил, что hwclock отстает на плате. За порядка 6 с половиной суток непрерывной работы хардварные часы отстали на 12 часов. Может кто-то подсказать, почему?

многовато, имхо..
вариантов поиска немного:
- проблемный кварц - проверяется заменой на другой или хотя бы измерением частоты самого кварца..
- севшая батарейка или ее нет?
- самодеятельность софта

у меня есть обычные часы на ds1307 - за полгода убегают на 10 минут.
2 недели не включал 9g45 - сейчас включил - часы в линуксе показывают правильное время..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
chronoman
Добавлено 26.08.2012 17:13 Сообщение: 9
chronoman
0

Пункты: 295
Регистрация: 19.04.2010
Кстати если какой нить сервер синхронизирующий стоит (ntp), то он может синхронизироваться по инету и-или жпс датчику (pps) и тогда будет точно, даже если че то не так :).
Спуститься к концу Подняться к началу
Персональная информация
lexx666
Добавлено 26.08.2012 19:03 Сообщение: 10
lexx666
3.83

Пункты: 11780
Регистрация: 28.07.2011
Пол: Мужчина
Из: Барнаул
Цитата
Заметил, что hwclock отстает на плате. За порядка 6 с половиной суток непрерывной работы хардварные часы отстали на 12 часов. Может кто-то подсказать, почему?

Плата какая ? В первую очередь посмотрите частоту 32кгц осциллографом.

Если отсутствует, то возможно выключена инициализация slow clock. На нештатных бутстрапах для 9g45 есть такой глюк. Я имею в виду не KEIL проекты.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux