在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:felixjones/gba-toolchain开源软件地址:https://github.com/felixjones/gba-toolchain开源编程语言:CMake 83.5%开源软件介绍:gba-toolchainSample Projects for example GBA projects.Please see theRequirements
Basic Usagegba-toolchain uses CMake toolchain files to download and compile dependencies and set up compilers for cross-compiling. The toolchain file ( gba-toolchain will attempt to locate an installation of the GNU Arm Embedded Toolchain.
If the GNU Arm Embedded Toolchain cannot be located, it will be downloaded to the host GBA LibrariesIf a library is required by CMake, but is missing, it will be downloaded into the libsevenlibseven is a modern GBA C development library that also provides commonly needed utility functions. Tonclib/libtonclibtonc is the classic GBA C development library. Includes a text rendering engine, Tonc's Text Engine. gba-hppgba-hpp is a modern GBA C++20 development library, designed for type safety and compile-time optimizations. agbabiagbabi ARM embedded ABI functions optimized for GBA. Also provides additional, low-level GBA utility functions. Simply linking with agbabi will activate the optimised aeabi functions. GBFSgbfs provides an asset file system for GBA. Includes several tools for managing these. posprintfposprintf is a partial implementation of sprintf optimized for GBA. MaxmodMaxmod is a complete music and sound solution for the GBA. Runtime librariesA compiler runtime-library ( gba-toolchain provides some optional runtime libraries for convenience. All runtimes support GNU destructors, finalizers, and C++ global static destructors.
These come with a small EWRAM cost, but can be disabled with the definition The linker scripts for these runtimes will reserve a minimum of 512 bytes for stack space. libromRuntime library for regular GBA ROMs. The definition libmultibootRuntime library for Multiboot binaries. Multiboot binaries are usually transferred via GBA link cable from a host device to one or more connected GBA clients. If launched as a regular ROM (from emulator, or similar) libmultiboot will copy ROM contents to EWRAM before executing.
The extra code for ROM copying can be removed by adding the libereaderRuntime library for e-Reader binaries. e-Reader binaries have no header, however 4 bytes at An e-Reader binary can ´exit´ back to the e-Reader ROM. gba-minrtAn in-development, experimental minimal GBA runtime library. github.com/LunarLambda/gba-minrt. Supports both ROM and Multiboot binaries. ToolsTools require a host compiler for building. Alternatively, paths to precompiled tool binaries can be defined with CMake variables. If a tool is required by CMake, but is missing, it will be downloaded and compiled. gbafixA valid header is required for running ROMs on actual hardware. gbafix is used to "fix" a GBA binary (AKA: adds a header) so it can execute on hardware. nedcmakeNedcmake is used to convert an e-Reader binary into dot-code images (in .bmp format). gbfsgbfs provides a number of tools for managing GBFS asset file archives. gbfsThe titular gbfs program bundles input sources into a GBFS archive. bin2sConverts a given binary file to an ASM source file. Useful for compiling GBFS archives directly into a ROM. padbinPads a given binary to the next nearest multiple of a given number. GBFS searches on 256 byte boundaries, making this useful for aligning a ROM for appending a GBFS archive onto. mmutilCompiles audio files into a Maxmod sample binary. Can also output an associated header file, or a GBA ROM. CMake Options-DARM_GNU_TOOLCHAIN=/path/to/arm-gnu-toolchain/root/directory/Use an existing installation of the GNU Arm Embedded Toolchain. This can also be configured via the environment variable -DUSE_CLANG=ONChanges the compiler from ARM GNU GCC to the host's Clang compiler. This requires Clang to be installed. The GNU Arm Embedded Toolchain is still required for GCC linking, compiling assembly, objcopy, and for the C/C++ standard libraries. -DUSE_DEVKITARM=ONChanges the compiler from GNU Arm Embedded Toolchain to an installation of devkitARM located at the This avoids downloading GNU Arm Embedded Toolchain and uses devkitARM's provided tools when available (can avoid downloading and compiling host tools). https://some.url.to/a/place/with/file.ini-DDEPENDENCIES_URL=Overrides the initial URL used to download Any existing -DGBAFIX=/path/to/binaryUse an existing installation of gbafix. This can also be configured via the environment variable -DNEDCMAKE=/path/to/binaryUse an existing installation of nedcmake. This can also be configured via the environment variable -DGBFS=/path/to/binaryUse an existing installation of gbfs. This can also be configured via the environment variable -DBIN2S=/path/to/binaryUse an existing installation of bin2s (part of gbfs). This can also be configured via the environment variable -DPADBIN=/path/to/binaryUse an existing installation of padbin (part of gbfs). This can also be configured via the environment variable -DMMUTIL=/path/to/binaryUse an existing installation of mmutil. This can also be configured via the environment variable |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论