Bien, la verdad que no sé mucho sobre este tema de compilar rutinas en C.
Tal vez se me olvide algo, pero así es como lo hago.
Lo que necesitas es:
- devkitARM
Principalmente
Usaré como ejemplo la rutina para reemplazar la intro hecha por Shiny Quasire de Pokeco.
Nuestra rutina principal se llama Intro.C, esa es la que vamos a compilar.
Ahora, para hacerlo se necesita un make.
Código:
set PATH=D:\devkitARM\bin;%PATH%
: hello.c
arm-none-eabi-gcc -mthumb -mthumb-interwork -g -c -w -std=c99 -o hello.out hello.c
arm-none-eabi-ld -o hello.o -T linker.lsc hello.out
arm-none-eabi-objcopy -O binary hello.o hello.bin
pause
Así es un make.
Donde pone "set PATH=D:\devkitARM\bin;%PATH%"
Es el lugar donde tú tienes la carpeta del DevkitARM.
Solo cambia la direccion, no toques donde pone PATH.
Bien, ahora como pueden ver en el ejemplo del make, pone "hello.o" "hello.out" "hello.bin"
Asi, nosotros cambiarémos todos esos nombres por intro. Así quedaría "intro.o" "intro.out" "intro.bin" En algunos lugares tambien estarán repetidos pero igualmente se cambian.
Más o menos quedaría así el make.
Como pueden ver, el make se hace en un block de notas.
Al final, se debe guardalo en formato .bat
En mi ejemplo sería make.bat
Ahora, pasaremos a crear un archivo llamado "linker.lsc"
Solo abran el block de notas y guardan sin escribir nada, pero lo guardan con el nombre "linker.lsc"
Bien, ahora solo haz doble click sobre tu make.
Si todo salió bien, tendrás tu archivo bin, despues de esto solo inserta ese archivo bin en un editor hex y llama a la rutina como si estuvieras llamando una rutina ASM "callasm 0x"
Ahí tienes