ЗАО «ЗЭО»

Пожалуйста, войдите или зарегистрируйтесь.

Расширенный поиск  

Новости:

Автор Тема: Часы M41T00 на Сириусе270 как то странно работают.  (Прочитано 3943 раз)

0 Пользователей и 1 Гость просматривают эту тему.

pav2000

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 12

На плате Сириус270 есть часы реального времени на M41T00.
Прошивка  заводская, ядро 2.6.22.19.  Как я понял в ядро входят модули i2c-core и m41t00, т.е. поддержка часов встроена на уровне ядра и никакие модули дополнительно загружать не надо.
Установка/считывание времени производится hwclock -w или hwclock -r.  
i2cdetect 0  показывает i2c устройство по 68 адресу, но оно занято и с ним работать не получается.

Время устанавливается и считывается, но часы не идут....
Я устанавливаю время выключаю плату, после включения время тоже что и при установке.
Батарейку проверял, все ок. При вытаскивании батарейки установки не сохраняюся.    

Что я делаю нет так и как должны работать часы?

И еще  сопутствующий вопрос как получить доступ к часам из своей программы на чтение и запись?


С отсутствием "хода" часов разобрался - кварц был замкнут пайкой, разомкнул - пошли.

Остался вопрос доступа к часам из своей программы (чтение и запись) - к какому  символьному устройству обращаться (/dev/rtc,  /sus/bus/i2c/devices/0-068, и т.д.)

« Последнее редактирование: 15 Февраля, 2011, 12:25:56 от pav2000 »
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405

> Остался вопрос доступа к часам из своей программы (чтение и запись) - к какому  символьному устройству обращаться (/dev/rtc,  /sus/bus/i2c/devices/0-068, и т.д.)

/dev/misc/rtc

Можно посмотреть strace'ом:
open("/dev/rtc", O_RDONLY|O_LARGEFILE)  = -1 ENODEV (No such device)
open("/dev/rtc0", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("/dev/misc/rtc", O_RDONLY|O_LARGEFILE) = 3

Не стесняйтесь смотреть исходный код hwclock в busybox при необходимости.
Записан