agbabi
agbabi copied to clipboard
Provides GBA optimized functions for some common, handy operations.
AGB ABI Library (agbabi)
Quick Start Guide
Link with libagbabi.a via the normal means for your build environment (eg: -Lagbabi for GCC and Clang), and add the include directory via the normal means for your build environment (eg: -Iagbabi/include).
Linking will implicitly activate the armeabi library.
Include the armeabi.h and agbabi.h headers to access the armeabi and agbabi C functions.
#include <aeabi.h>
#include <agbabi.h>
#include <sys/ucontext.h> /* POSIX context switching */
int main() {
unsigned int a = __aeabi_uidiv(9u, 3u);
int b = __agbabi_sqrt(25u);
ucontext_t c;
getcontext(&c);
return 0;
}
API Reference
- Arm Standard Compiler Helper Function Library (aeabi)
- AGB Support Library (agbabi)
- POSIX Support Library
Building
Requires gcc-arm-none-eabi cross compiler, and either cmake or meson for configuration.
CMake 3.18+
To cross-build libagbabi.a in directory build/:
cmake -S . -B build --toolchain=cross/agb.cmake
cmake --build build
Meson 0.56.2+
To cross-build libagbabi.a in directory build/:
meson setup build --cross-file=cross/agb.ini
meson compile -C build