This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Compiler: TMS570LS0432

Other Parts Discussed in Thread: TMS570LS0432

Tool/software: TI C/C++ Compiler

Hello,

I am using CCS version 8.0.0.00016, compiler ti-cgt-arm_18.12.0.LTS, board tms570ls0432. I disassembler .out file with armdis command and have following output (as example):

035860:              SomeFunction:
035860:               .arm
035860:              .text:retain:
035860: E92D500F         STMFD           R13!, {R0, R1, R2, R3, R12, R14}
035864: E30F0C88         MOVW            R0, #64648
035868: E34F0FFF         MOVT            R0, #65535
03586c: E590C000         LDR             R12, [R0]

and etc

Is there any opportunity to understand in which mode processor is and which stack is in use (using disassembler file)?

  • By mode, I presume you mean ARM or Thumb mode.  The disassembler shows that by emitting a .arm or .thumb directive.  

    As for which stack, I'm not sure what you mean.  Are you referring to user mode versus supervisor mode, and the different stacks often associated with those modes?

    Thanks and regards,

    -George

  • I mean which register mode is in use: user/abort/undefined/FIQ/IRQ/svc. According to Cortex Technical Reference Manual R8-r14 are banked registers. register R13 is used as stack pointer. In examples from manual each register has mode identifier (e.g R13_fiq, R13_abt and etc) My question was about how to understand which bank register is used (in disassembler code there are no mode modifiers e.g. R13). In other words which stack is in use (fiq/irq/svc/abt/undef) at current function in disassembler view?

  • Ljubov Piir said:
    I mean which register mode is in use: user/abort/undefined/FIQ/IRQ/svc

    Unfortunately, there is no way to see that mode in the disassembler output.

    Thanks and regards,

    -George