Jump to content

    

запуск rtc DS1307

Добрый день,

кто-нибудь запустил DS1307 на плате RainBow?

Share this post


Link to post
Share on other sites
Добрый день,

кто-нибудь запустил DS1307 на плате RainBow?

 

У меня не поперло.

Программил от другой платы где DS1307 работает, просто проводки перекинул. Симптомы такие были:

Шью конфигурацию, где на OUT должно выдаваться 32768. Пальчиком по ножкам кварца вожу, вижу на OUT изменения.

Шью конфиг, где на OUT ничего не выдается, вожу пальчиком ничего нет. Похоже конфиг воспринимается и как-то чип на него реагирует.

Но ни с каким конфигом кварц так генерить и не стал. Менял кварц, без успеха.

Решил, что перегрел может чип, жду пока новые приедут.

Share this post


Link to post
Share on other sites
Добрый день,

кто-нибудь запустил DS1307 на плате RainBow?

Смотря под чем запустить ;)

Под u-boot часики запустились.

по команде date первый раз ругнулось что "RTC oscillator has stopped" и с этого момента начало тикать (как я понял).

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

вот как они будут под linux'ом работать пока не знаю... но линуксовый драйвер их пока не нашел.

Edited by Odiemus

Share this post


Link to post
Share on other sites
Добрый день,

кто-нибудь запустил DS1307 на плате RainBow?

Работает!

в ядре 2.6.21.1 есть даже родная поддержка!

........
at91_rtc at91_rtc: rtc core: registered at91_rtc as rtc0
AT91 Real Time Clock driver.
i2c /dev entries driver
ds1307 0-0068: rtc core: registered ds1307 as rtc1
at91_i2c at91_i2c: AT91 i2c bus driver.
........
ds1307 0-0068: setting the system clock to 2007-05-14 21:53:52 (1179179632)
.........

как видно даже время из часов прочиталось!

Share this post


Link to post
Share on other sites

Можно Ваш конфиг? Интересует что включали в поддержке RTC.

Share this post


Link to post
Share on other sites
Можно Ваш конфиг? Интересует что включали в поддержке RTC.

у меня поднялись на моей плате нормально... щяс он тикают

ядро 2.6.19

что б поднялись нада включить I2C и в RTC саму 1307

Главное не ставить галочку - "тестировать часы"

и на ФС сделать

mknod -m 777 /dev/rtc c 254 0

а потом через date зарядить время и

hwclock -w (важно: busybox должен дыть с поддержкой этой команды) и

Share this post


Link to post
Share on other sites
у меня поднялись на моей плате нормально... щяс он тикают

ядро 2.6.19

что б поднялись нада включить I2C и в RTC саму 1307

Главное не ставить галочку - "тестировать часы"

и на ФС сделать

mknod -m 777 /dev/rtc c 254 0

а потом через date зарядить время и

hwclock -w (важно: busybox должен дыть с поддержкой этой команды) и

а вот мне пока так и не удалось заставить ядро увидеть ramdisk :(

вот ужо которую ночь бъюсь.. :(

 

2COMA: конфиг ядра пока здесь

Edited by Odiemus

Share this post


Link to post
Share on other sites
а вот мне пока так и не удалось заставить ядро увидеть ramdisk :(

вот ужо которую ночь бъюсь.. :(

ознакомся с следующими топиками (в них мы рассматривали момент присеоединения ramdisk ) :

http://electronix.ru/forum/index.php?showtopic=25634

http://electronix.ru/forum/index.php?showtopic=29261

 

+ к всему в ядре нада включить поддержку initrd обязательно, или при помощи initramfs

Share this post


Link to post
Share on other sites
ознакомся с следующими топиками (в них мы рассматривали момент присеоединения ramdisk ) :

http://electronix.ru/forum/index.php?showtopic=25634

http://electronix.ru/forum/index.php?showtopic=29261

 

это я уже чуть ли не наизусть изучил... вдоль и поперек перечитывал... до дыр в мониторе...

 

+ к всему в ядре нада включить поддержку initrd обязательно, или при помощи initramfs

ессно поддержки всяких initrd и initramfs включены! иначе стал бы я спрашивать в чем засада?

похоже собака порылась в двух местах:

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

2. изначально я сделал размер образа диска initrd около 1 метра, похоже что ядру этого было слишком-мало, что ли?... увеличил до 2 Мб вроде как что-то стало работать.

 

что именно, п.1 или п.2 виноват, я точно сказать не могу, так как после какого-то момента стало выдавать не сообщение о том что не может обнаружить образ рамдиска, а то что:

"RAMDISK: Loading 1024KiB [1 disk] into ram disk..." не прокатывает.

после того как я очутился на этом этапе я выполнил п.2 и у меня образ диска увиделся. теперь всё умирает на невидимости linuxrc и busybox вообще:

 

......
ds1307 0-0068: setting the system clock to 2007-05-25 03:39:09 (1180064349)
RAMDISK: ext2 filesystem found at block 0
RAMDISK: Loading 2048KiB [1 disk] into ram disk... done.
VFS: Mounted root (ext2 filesystem).
Freeing init memory: 108K
Failed to execute /linuxrc.  Attempting defaults...
Kernel panic - not syncing: No init found.  Try passing init= option to kernel.

 

хотя я кернелу честно передал все параметры и '/linuxrc' - это как раз и есть значение переданое в переменной 'init':

 

U-Boot> printenv
......
bootargs=mem=16M initrd=0x20800000,0x500000 root=/dev/ram init=/linuxrc rw
.......
U-Boot>

 

если смонтировать образ initrd то всё честно лежит на местах:

 

root@usbr:/usr/src/arm/busybox# mount -o loop ./initrd2.img /mnt/initrd/
root@usbr:/usr/src/arm/busybox# ls -l /mnt/initrd/
total 17
drwxr-xr-x    2 root     root         2048 May 25 03:20 bin
drwxr-xr-x    3 root     root         1024 May 25 03:39 dev
lrwxrwxrwx    1 root     root           11 May 25 03:39 linuxrc -> bin/busybox
drwx------    2 root     root        12288 May 25 03:39 lost+found
drwxr-xr-x    2 root     root         1024 May 25 03:20 sbin
drwxr-xr-x    4 root     root         1024 May 25 03:20 usr
root@usbr:/usr/src/arm/busybox# ls -l /mnt/initrd/bin/busybox 
-rwxr-xr-x    1 root     root       581684 May 25 03:20 /mnt/initrd/bin/busybox
root@usbr:/usr/src/arm/busybox# file /mnt/initrd/bin/busybox
/mnt/initrd/bin/busybox: ELF 32-bit LSB executable, ARM, version 1 (ARM), dynamically linked (uses shared libs), stripped
root@usbr:/usr/src/arm/busybox#

 

да, еще кернел ругался что не может открыть initial console, но я ему помог её открыть уже не ругается...

буду далее разбираться что за фигня о5 происходит... :-/

получается что ramdisk ядро смонтировало, видит, но вот linuxrc или что-то еще выполнить ну никак не может :(

Share this post


Link to post
Share on other sites

А пробовали повторить инструкцию с heavy? Грузиться с флешки, использовать готовый образ? Ещё пожелание - пишите в соответствующих темах, а то потом без пива не разберёшься.

Share this post


Link to post
Share on other sites

Не могу побороть DS1307. Часы тикают. при загрузке честно синхронизируются:

i2c /dev entries driver
ds1307 0-0068: rtc core: registered ds1307 as rtc0
at91_i2c at91_i2c: AT91 i2c bus driver.
AT91 MMC: 4 wire bus mode not supported by this driver - using 1 wire
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
ds1307 0-0068: setting the system clock to 2007-06-30 14:34:46 (1183214086)

 

Но при попытке hwclock -w вылетает ошибка:

ds1307 0-0068: write error 7

 

и соответственно hwclock :

ds1307 0-0068: read error -110

 

Что то непонятное ...

Share this post


Link to post
Share on other sites
Но при попытке hwclock -w вылетает ошибка:

ds1307 0-0068: write error 7

 

Опытным путем установлено, что данная проблема возникает только, если ядро проинициализировало MMC карточку. Если загрузка произошла без карты - то все работает на ура. :wacko:

Edited by slava2005

Share this post


Link to post
Share on other sites
Опытным путем установлено, что данная проблема возникает только, если ядро проинициализировало MMC карточку. Если загрузка произошла без карты - то все работает на ура. :wacko:

от блин - поздно прочитал, сам на это пол часа потратил, 2 месяца назад... причину нашел но не фиксил...

там проблемма связанна с тем что у обоейих девайсов мажоры с номером 254, нужно когото подвигать в нумерации...

Share this post


Link to post
Share on other sites
от блин - поздно прочитал, сам на это пол часа потратил, 2 месяца назад... причину нашел но не фиксил...

там проблемма связанна с тем что у обоейих девайсов мажоры с номером 254, нужно когото подвигать в нумерации...

 

А намекните плиз, как подвинуть 1307 ? Что-то с ходу не могу найти.

Share this post


Link to post
Share on other sites
А намекните плиз, как подвинуть 1307 ? Что-то с ходу не могу найти.

Зачем что-то двигать? DS1307 - символьное устройство, а ММС - блочное. Если я правильно понял работу с устройствами в Linux для них используются разные таблици для вызова экзэмпляра драйвера... Надеюсь я правильно передал свою мысль.

 

У меня часы работают. Образ ядра и файловая система от slava2005 за что ему (то-есть Вам) большое спасибо! Файловая система располагается на ММС. Запустил часы следующим образом:

 

hwclock --date 08-02-25 --set Установить дату

hwclock --date 22:02:30 --set Установить время

hwclock –show Посмотреть результат записи в RTC

hwclock --hctosys Установить системное время = RTC

date Посмотреть окончательный результат

 

Часы идут и при выключеном питании - все ОК. С ММС проблем нет пишется, читается - все тоже ОК.

 

ЗЫ Просьба ко всем: Если Вы знаете решение проблемы, описаной кем-то, пожалуйсто не ленитесь описать ее решение, даже если проблемма кажется Вам элементарной! Заранее спасибо.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this