Esta web utiliza cookies, puedes ver nuestra política de cookies, aquí Si continuas navegando estás aceptándola

Añadir RTC a la Rasp


Para que nuestro RTC funcione tendremos que parchear las fuentes del kernel para añadir soporte para PCF2127A y compilar con soporte para I2C, yo recomiendo seguir  los pasos explicados en el artículo anterior donde se compilaba el kernel en un pc basado en x86 ya que será mucho mas rápido que compilar el kernel en la propia rasp.

Procedemos con el parcheo de las fuentes:

cd /usr/src/rpi_kernel/linux
wget https://github.com/afterthoughtsoftware/linux/commit/fd5ff2d88f470ed70ff58393eee61110b181816a.patch
patch -p1 < fd5ff2d88f470ed70ff58393eee61110b181816a.patch

 

Compilamos el kernel:

make ARCH=arm CROSS_COMPILE=${CCPREFIX} menuconfig
Device Drivers -> I2C support -> I2C Hardware Bus support -> BCM2708 BSC
Device Drivers -> Real Time Clock -> Philips PCF2127A (only I2C)

 

Debemos indicarle que dirección dentro del bus I2C tiene en RTC(0x51) y que módulo debe gestionarlo:

echo pcf2127a 0x51 > /sys/class/i2c-adapter/i2c-1/new_device

 

Asignamos la fecha manualmente y la transferimos al RTC:

date MMDDHHMMYYYY
hwclock -w

 

Si queremos leer la fecha guardad en el RTC basta con:

hwclock -r

 

Si queremos leer la fecha del RTC y configurar el SO:

hwclock -s

 

Para que todo funcione correctamente el timezone debe estar configurado de forma correcta:

  • Gentoo:
cp /usr/share/zoneinfo/Europe/Madrid /etc/localtime
echo "Europe/Madrid" > /etc/timezone

 

  • Debian:
dpkg-reconfigure tzdata

 

En cada arranque leeremos la fecha del RTC y la configuraremos en el SO:

  • Gentoo:
vi /etc/local.d/RTC.start
echo pcf2127a 0x51 > /sys/class/i2c-adapter/i2c-1/new_device
sleep 2
hwclock -s &

 

chmod 700 /etc/local.d/RTC.start

 

  • Debian:
vi /etc/rc.local
echo pcf2127a 0x51 > /sys/class/i2c-adapter/i2c-1/new_device
sleep 2
hwclock -s &

 

Ahora aunque apaguemos la rasp y le quitemos la alimentación la fecha no se perderá a no ser que se agote la pila de botón del RTC.


Autor: Kr0m -- 14/10/2014 19:10:18