si t'as une toolchain arm c'est sans doute possible
mais gcc -c truc.c -o truc.o fera juste un fichier relogeable.
il te faudra ensuite un ldscript pour décrire la structure mémoire de ton système, et utiliser ld pour convertir le fichier .o en fichier binaire.
cherche "yagarto" sur google.