It should be, given it uses GNU compiler underneath, just like the AVR based chips. Now, there are some places where it will be subtly different, but over all, it should be the same. Some things that will be different include:
- The IDE uses an ancient (4.3.x released in 2008) based compiler for AVR and a slightly less ancient (4.4.x released in 2009) based compiler for ARM. There may be fixes and enhancements in 4.4 that weren't in 4.3. The current GCC release is 4.7.x and we are working on 4.8
- Int variables are 16-bits in AVR, and 32-bits in ARM. If you have code that depends on the overflow behavior when a 16-bit value wraps, it will have a different value in arm. If you use unions to pull apart the bytes in an int (or worse, casts on pointers), you will likely have to adjust your code.
- Double variables are 32-bits in AVR, and 64-bits in ARM.
- Anything that uses assembly code will have to be rewritten. I expect things like interrupt code also will need to be rewritten.