This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

How to make make MDK generate disassembly using "bx lr"?

The subroutine(C source code) is the same, but when compiled:

The DEMO's disassembly:

    PUSH {r4-r7}
    ...
    ...
    ...
    POP {r4-r7}
    BX  lr

My project's disassembly:

    PUSH {r4, lr}
    ...
    ...
    ...
    POP {r4, pc}

The situation is I clean all the RAM during the subroutine to 0. So after "POP {r4, pc}", the program is crashed.
I don't konw assembly language very well. So what could I do to make the ARMCC generate disassembly code using "BX lr" to make my code work?
I'm using STM32F103/MDK5/ARMCC5.06.