One of the easiest ways to get code running on the GBA is via the multiboot protocol over the link port. This was the primary way I ran code on the GBA circa 2003ish using a link cable spliced into a parallel port plug.
Unfortunately, parallel ports are exceedingly uncommon these days. However, it looks like this can be done easyly enough using something like a Teensy [0] or Arduino [1].
Oh, interesting! For those of you not versed in the intricacies of playground GBA link cable gaming, this protocol was used to link multiple GBAs, where one would have a cartridge and the others would not, and they would receive the game over the link cable. These single-cart multiplayer experiences were almost always very rudimentary, because as Torgo says, you're loading the entire payload in memory.