Does the DevKit support both Thumb and ARM instruction sets?
Yes, it will do both. Use the options -mthumb and -marm to tell the compiler which you want. It does ARM by default. It can even properly link programs that use both, which is called “interworking.” Use -mthumb-interwork on all your modules if you mix both in your program or you will get annoying warnings from the linker. In binutils 2.11.2 which the DevKit uses, the warning says “module X does not support interworking while module Y does not.” Which makes no sense to warn about because it should only complain if there is a mismatch. It turns out this is a minor bug which causes the last phrase to say the opposite of what it means. This has been patched for the next version of binutils, but I’ll apply the patch to the next release of the DevKit whether binutils 2.11.3 is out or not.