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.

ARM .asm file not getting linked to project .out file?

Guru 15580 points

I am using portions of the rCSL code for my ARM project. Specifically:

ARM9_handler.asm

ARM9_initstack.asm

ARM9_intvecs.asm

I have assigned .intvecs to ARM IRAM 

.intvecs > arm_iram /* Interrupt Vectors */

..which appears to properly place the interrupt vectors at 0xffff0000. But I am not seeing the ARM9_handler.asm getting linked into the .out file. Shouldn't it automagically get linked by being include in the project directory? Or do I need to provide a specific link to it somewhere?

Thx,

MikeH

 

 

 

  • Well, from the looks of the console output of the linking process, it appears that the handler.asm file *is* getting linked. However, I do not see any of the symbols in the handler.asm file in the project.map file. 

    Also, as I step through the code I can see that _call_swi does in fact jump to 0xffff0008, which is where my intvecs.asm put it. But after executing this:

    0xFFFF0008:   E59FF014 LDR           PC, 0xFFFF0024

    ...the program jumps to a location in shared memory (0x80004B64:   00000000 ANDEQ         R0, R0, R0).

    Here is the code that resides at the location pointed to by the interrupt vector.

    0xFFFF0024:   80004B64 ANDHI         R4, R0, R4, ROR #22

    It looks like the handler code is not getting loaded properly.

    What am I doing wrong here?

    Thx,

    MikeH

     

  • Hellllp!!!!

    All of the examples in the rCSL Quickstart run properly. However, when I include the 3 .asm files above in my program, the linker does not create symbols for the ARM9_handler.asm file. Or at least I do not see the symbols in the .map file. After calling the swi (_call_swi) the program jumps to the proper interrupt vector location, but the proper code does not appear to be loaded at that location.

    Can anyone provide help with this?

    thx

    MikeH

     

  • OK. Here's the answer:

    --retain=INT_VECS

    Thanks for all of the help.

    MikeH