On Saturday 24 October 2009, Colin Howarth wrote: > > However, I was wondering how many of you actually code in ARM > assembler? Do you avoid it wherever you can, using a "high-level" > language and gcc?
Depends what you mean by "code", and what I'm doing. For low level debug, and of course understanding performance, I certainly get familiar with the instructions. Even if I'm no doing that, I make a point of looking at ASM output for compiled functions before I call them "done" ... there will often be some easily fixed stupidities causing code bloat. For low level coding, there are things GCC won't do except if you use inline assembly ... or write entire routines in assembler, which I generally avoid. IRQ block/unblock; task switching; WFI; and other stuff requires the inlines. > For those that do do assembly code, do you have a Good (TM) > disassembler? If I need more information than I get from OpenOCD, I'll generally use "objdump" to at least get the symbols. That does a rude job of associating object code with source in any sane optimization scenario though, so I rarely have it go up a level and match the source. (That disassembler is the same one GDB uses ...) > The armv4_5 disassemble command is fine, in that it disassembles, > but as I mentioned a while back, it doesn't produce what I would have > written as an assembly code routine :-) It's not there to support source level debug, no; neither for ASM source, nor for C source. What OpenOCD provides is what used to be called a "machine language debugger". For that, the main criteria are to be adequate and to work without all the infrastructure needed by fancier debuggers (such as GDB). - Dave _______________________________________________ Openocd-development mailing list [email protected] https://lists.berlios.de/mailman/listinfo/openocd-development
