Thu 21 of Nov, 2024 [09:31 UTC]
  add
Menu [hide]
  Blogs
  FAQs
  Surveys
Online users
109 online users
backlinks print

Basic SD0 Installation:


mounting the board


Make sure there is no gap left. Press the two PCB so you can hear/feel a litlle "click" ...

RPi - 512MB special note:

At the 512MB version board of RPi the connector handles have become very big. The hole provided at the SD0 is 2.9mm only!! Therefor the handle needs to be removed:

UPDATE: The newest RPi charge even uses a 3mm thick connector. This is about 0.1mm too big for the slot at SD0. In case you got one of those RPis you must rasp away some micrometers of SD0s slot to make it fit.

System

To free-up the serial line used by SD0 remove any references to ttyAMA0 in:

  • /etc/inittab - comment or delete: T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
  • /boot/cmdline.txt - and reboot!

RTC & EEPROM

Those devices are connected to RPis I2C bus. Therefor you need to update the kernel & modules. Either you just take our pre-compiled kernel or you compile yr own sources after you applied our patches.
Our kernel will also take care of different RPi board revisions and map the I2C pins on extensions header always to bus 0.

The RPi stores its time (by default without RTC) by using /sbin/fake-clock. You should add a line in save-condition:
if test -e /dev/rtc0; then hwclock -w; fi

This will sync the hwclock at least on a reboot or shutdown. Execute hwclock -w manually i.e. after a ntp-sync.
For the sake of the environment, the SD0 is equipped with a super-capacitor which will last for at least 12 hours of backup once fully charged.

Resetting / Booting the SD0

echo resetting co-processor ...
if test ! -d /sys/class/gpio/gpio27; then echo 27 > /sys/class/gpio/export; fi
echo out > /sys/class/gpio/gpio27/direction
echo 1 > /sys/class/gpio/gpio27/value
if test ! -d /sys/class/gpio/gpio17; then echo 17 > /sys/class/gpio/export; fi
echo out > /sys/class/gpio/gpio17/direction
echo 0 > /sys/class/gpio/gpio17/value
echo 1 > /sys/class/gpio/gpio17/value


uploading SD0 firmware

Make sure you stop any other program occupying ttyAMA0 first!
echo calling co-processor bootloader ...
if test ! -d /sys/class/gpio/gpio17; then echo 17 > /sys/class/gpio/export; fi
echo out > /sys/class/gpio/gpio17/direction
echo 0 > /sys/class/gpio/gpio17/value
if test ! -d /sys/class/gpio/gpio27; then echo 27 > /sys/class/gpio/export; fi
echo out > /sys/class/gpio/gpio27/direction
echo 0 > /sys/class/gpio/gpio27/value
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
echo 1 > /sys/class/gpio/gpio27/value
avrdude -p atmega1284p -P /dev/ttyAMA0 -b 38400 -c avr109 -U flash:w:SD0.hex

Example firmware can be found here.

Created by: tostmann last modification: Monday 25 of March, 2013 [21:55:03 UTC] by tostmann


Pictures
thumbnail
Logger V3 prototype
Gallery: 4S0ETH
RSS Wiki RSS Blogs RSS Image Galleries RSS File Galleries