I have had success in compiling my ARM966 project using code::blocks. It handles ARM compiles fine.
I am using build 5th July, 2006. I believe I need to recompile the plugin though, as some options come up as =NAME, for example: -march=NAME obviously needs changing in the source code for your specific arm target.
If like me you are using ARM966, I need to change the plugin source code so the compiler option reads:
-march=armv5te instead of -march=NAME
for example. For now I just override this in the extra options... lazy...
The only thing I have not managed to get working yet is the GDB plugin with ARM.
I think I have an issue with pathnames or something, because I cannot set any breakpoints at all. As I am using Windows, I suspect a '/' '\' issue.
Let me know if you want a skeleton project, and I will post one.