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

Relocation of segments in user-defined memory class

I have defined my own memory class, ECODE_APP, in ECODE space. The memory range for this class is specified at link time. I have defined a segment in an assembly module, which I wish to locate at the start of this memory class. I have attempted to use the OFFSET relocation type to achieve this, as in the following directive:

VECTOR SEGMENT 'ECODE_APP' OFFS 0

When I link my code, this segment gets placed at the start of ECODE space, not at the start of my ECODE_APP space. In fact, this segment is placed outside of the memory range I have defined for ECODE_APP. Is my understanding of the OFFSET relocation type incorrect? If so, how else can I ensure that this segment gets located at the start of my ECODE_APP space?

Thanks,
Shane.

Parents Reply Children
  • Interrupt vector redirection is exactly what I'm doing, but I don't want to relocate the whole ECODE memory class, just the memory class that I have defined myself. I need to ensure that my "secondary" interrupt vectors are located at the start of that user-defined memory class, so I need a way to specify the offset of that segment within that class.

    My vector segment seems to be always located at the start of the memory class when I don't specify a relocation type, but I guess this is just lucky. How does the default relocation type (UNIT according to the map file) work?

    Thanks,
    Shane.