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

Reply via email to