IDA can disassemble ARM code quite nicely. I used it on the GP32 to disassemble the firmware code to figure out how the USB stuff worked, and on the GP2X to find how they setup the netchip.
You need to know ARM assembler before you can make good use of it however, unless you can run the Hex rays decompiler on ARM code (I've only tried it on x86, to which it makes a decent effort, but still no where near the original code due to typical compiler optimisations)