Simple, efficient IO library for SoCs, including SPI, I2C, GPIO, and UART. This library is targeted directly at ARM Linux-RT targets.
This library has the goals of being:
This library is particularly aimed at the AM335x-based SoCs, such as the OSD-335x and the BeagleBone Black.
There will be prebuilt libraries on the GitHub Releases page. These will be (as expected) compiled for ARM.
This library is probably not a particularly good one if you are a hobbyist - it requires the Texas Instruments Linux RT SDK to be installed. This is so that the library can be cross compiled.
This library also requires CMake >= 3.13, preferrably the latest release.
For a standard Release build, you can simple do the following:
mkdir build && cd build cmake ..
Custom TI Linux RT Install Dir
The library will automatically attempt to find your TI Linux RT SDK in your
home directory, since this is the default location. If you wish to specify a
different path, you can do that by modifying CMakeLists.txt, since that was
created under the assumption that your path will always be default. However, if
you have more than one TI Linux RT SDK installed, or CMake didn't find it
somehow, you can specify a version using the
mkdir build && cd build # assuming you haven't already made this directory cmake -DTI_SDK_VERSION="06.00.00.07" ..
Creating a Debug Release
This is as simple as specifying
CMAKE_BUILD_TYPE, just like most other projects:
mkdir build && cd build # assuming you haven't already made this directory cmake -DCMAKE_BUILD_TYPE=Debug ..
Just like any other CMake project, after you've performed the setup steps
above, you can just run
make. This will compile a static library, because
this avoids copying shared libs to an ARM target or having to compile it on
there as well.
The output from the build can be found in
If you don't want to generate documentation yourself, it's hosted online here.
If you have Doxygen installed, you can generate documentation using
in the build directory. These will be generated in the
directory. Simply open
index.html and you will be in business. If you don't
have Doxygen installed, use your preferred package manager to install Doxygen
The libraries included in the
lib directory are not made by me, nor owned by
me. They are copied from an ARM target in order to keep library versions
consistent and controlled. This is important for the project it was required
for. I do not own them, nor do I take any responsiblity for anything related to
them. All credit for those libraries goes to their respective owners.