I'm attempting to run some code on the Keystone II ARM processor and am running into an issue with the RTS library. Since CCS 5.5 doesn't seem to support the Cortex-A15 yet I'm compiling for a Cortex-A8 since they are both ARMv7 and I assume are ISA compatible. A basic test program compiled and ran correctly but when I added Floating Point multiplication and debugged the processor hangs. Below is the disassembled code and where the issue occurs.
With rtsv7A8_A_le_eabi.lib:
... ... ... __aeabi_fmul: 800863a0: 3F56A7AD SWICC #5679021 800863a4: 3F30C562 SWICC #3196258 800863a8: 3DABE158 STCCC P1, C14, [R11, #352]! 800863ac: 3F14D92A SWICC #1366314 800863b0: 3E018103 CDPCC P1, #0, C8, C1, C3, #0 800863b4: 3F77CBF0 SWICC #7850992 800863b8: E1B03C23 MOVS R3, R3, LSR #24 800863bc: 13822102 ORRNE R2, R2, #-2147483648 800863c0: 03A00000 MOVEQ R0, #0 800863c4: 08BD807C LDMEQFD R13!, {R2, R3, R4, R5, R6, PC} 800863c8: E35300FF CMP R3, #255 ... ... ...
After the first line (SWICC), the code jumps to address 0x00000048,
...
E59FF098 LDR PC, 0xE8
...
And ends up catching at some execution line and hanging.