I want to write very fast code for the ARM9 CPU.
At the moment I am using gcc inline assembler.
However, following the BRAHMA example Makefiles, the Thumb-16 instruction set is being used.
Wikipedia tells me:
Can I still use inline asm, or should I create some seperate asm files?
How could I tell gcc to assemble and/or link everything correctly?
I have calculated that my code would run more than 33% faster if I could use the complete ARM9 instruction set.
At the moment I am using gcc inline assembler.
However, following the BRAHMA example Makefiles, the Thumb-16 instruction set is being used.
Wikipedia tells me:
So, which memory regions can I use for 32-bit ARM instructions?Embedded hardware, such as the Game Boy Advance, typically have a small amount of RAM accessible with a full 32-bit datapath; the majority is accessed via a 16-bit or narrower secondary datapath. In this situation, it usually makes sense to compile Thumb code and hand-optimise a few of the most CPU-intensive sections using full 32-bit ARM instructions, placing these wider instructions into the 32-bit bus accessible memory.
Can I still use inline asm, or should I create some seperate asm files?
How could I tell gcc to assemble and/or link everything correctly?
I have calculated that my code would run more than 33% faster if I could use the complete ARM9 instruction set.
Last edited by bayleef,