Good Evening Everyone,
With the transition to a new job I have had some time to spend on improving my build tool skills and creating something (hopefully) useful for the community. I have seen a library like this requested many times, so I hope it will be of use to at least some people here.
Please see the paraphrased README below and visit the github page for more information.
What is libsoc?
------------------------------------------------------------------------libsoc is a C library to interface with common peripherals found in
System on Chips through generic Linux Kernel interfaces.It is aimed at new Linux users, and intends to be a stepping stone to
enable a user to get started quickly. It is optimised for reliability
rather than speed. While the library should be fast, no guarantees are
made on it's determinism and it should not be used in time critical
routines.Why libsoc?
------------------------------------------------------------------------libsoc was born due to the influx of new embedded Linux boards becoming
available cheap, and to hobbyists. There are currently numerous
libraries that do interfacing with common SoC peripherals, but they all
tend to be centred around a particular board or SoC. This leads to board
specific hacks and in some cases direct bypassing of the Linux Kernel.libsoc aims to be generic and compatible with any SoC that has drivers
exposing the correct interfaces for the defined peripheral.What peripherals does it support?
------------------------------------------------------------------------libsoc currently only supports GPIO through the sysfs interface.
Future ideas are:
- GPIO Interrupts
- I2C
- SPIDEV
- PWM
- A/D Converters
More information and the code is available at:
Cheers,