When trying to disassemble the STR912 Comstick (not the stick itself,  
just its flash)
with the command

armv4_5 disassemble 0 2048

I get a

"should never reach this point"      called at file "command.c", line  
469

error.



This is due to the last LOG_ERROR call in the

int arm_evaluate_opcode(uint32_t opcode, uint32_t address,  
arm_instruction_t *instruction)

procedure of the file:

.../openocd-0.2.0/src/target/arm_disassembler.c



Is this intended/expected behaviour?  What about embedded data???




Also, wouldn't it be nice if the disassembler could:
(it would need to be multi-pass, obviously)


a)  insert loop/branch labels eg.

addr_1:
                TST             R0, 0x01
                BNE             addr_1
                ...
                B               addr_2
                ...
addr_2:
                ...



b)  name the base register for LDR/STR instructions like

                LDR             R0, [PC, #0xFC]
                LDR             R1, [R0, #34]
                ...
                0x5C002000

this should be possible if you have definitions like

.set    FMI_NBUF,   0x5C002000

stored in some other file.

Then it could look like

                LDR             R0, data_1
                LDR             R1, [SCU, SCU_SCR0]
                ...
data_1:
                0x5C002000                      @ SCU



_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to