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