ARM: fix dereferencing misaligned pointers

Linear ring buffer generates problems on ARM when reading and writing short
pointers. This was leading to CI communication problems with VDR, resulting
with the following info in the log:
'not all devices ready after 30 seconds.'

Fixes #27. Thanks to JeroenT for report, help and testing.