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

RealView Linker crashes at absolute address?

I am having difficulty with the RealView linker crashing when trying to link variables to absolute addresses above ~ 0x70000000. For example, here is three different methods I've tried (trying to achieve the same thing) that cause the linker to crash:

#include <absacc.h>

// Crash Method 1
//#pragma arm section rwdata = ".ARM.__AT_0xE01FC040"
//volatile unsigned long memmap;
//#pragma arm section rwdata

// Crash Method 2
//volatile __attribute__((section(".ARM.__AT_0xE01FC040"))) unsigned long memmap;

// Crash Method 3
volatile unsigned long memmap __at (0xE01FC040);

int main(void)
{
    while(1);
}

-thanks, Kevin

Parents
  • Yes, I am aware that the preprocessor #define method works without crashing the linker. I would like however to define an absolute address variable without use of the preprocessor.

    The RealView documentation states the use of _at, and it is defined in RealView's <absacc.h> header file, so I do think this is supposed to work? In fact, I'm almost certain it works correctly on addresses in the 0x40000000 range.

    Even if this feature is not supported, the fact that 3 lines of code can cause a $4,000 "World Class" linker such as the RealView to completely crash is a little disconcerting....

Reply
  • Yes, I am aware that the preprocessor #define method works without crashing the linker. I would like however to define an absolute address variable without use of the preprocessor.

    The RealView documentation states the use of _at, and it is defined in RealView's <absacc.h> header file, so I do think this is supposed to work? In fact, I'm almost certain it works correctly on addresses in the 0x40000000 range.

    Even if this feature is not supported, the fact that 3 lines of code can cause a $4,000 "World Class" linker such as the RealView to completely crash is a little disconcerting....

Children