cancel
Showing results for 
Search instead for 
Did you mean: 

ST92F150CV1 linker

michele2399
Associate II
Posted on June 14, 2004 at 10:51

ST92F150CV1 linker

5 REPLIES 5
michele2399
Associate II
Posted on May 17, 2011 at 11:36

To whom it may concern.

I'm having some trouble linking my application when the amount of data exceeded 16k in sector FLASH2 di 48k.

The memory in the script .ld file is declared as shown:

MEMORY

{

FLASH0 : ORIGIN = 0x000000, LENGTH = 8K

FLASH1 : ORIGIN = 0x002000, LENGTH = 8K

FLASH2 : ORIGIN = 0x004000, LENGTH = 48K, MMU = IDPR0

FLASH3 : ORIGIN = 0x010000, LENGTH = 64K, MMU = CSR

EEPROM : ORIGIN = 0x220000, LENGTH = 1K, MMU = IDPR1

FECSR : ORIGIN = 0x224000, LENGTH = 4, MMU = IDPR2

RAM : ORIGIN = 0x200000, LENGTH = 4K, MMU = IDPR3

REGFILE (t) : ORIGIN = 0x00, LENGTH = 208 /* Groups 0 to 0x0C */

}

The linker give me the following message:

''dangerous relocation: (st9+) No DPR specification on page 0x2 for symbol in section .rodata''

Is it anyone who find same problem or has a solution to give me?

thanks in advance

ritu
Associate II
Posted on May 17, 2011 at 11:36

Hello,

Such type of message comes when your data is placed in a page which is not pointed to by any of the DPR register. Now as you have allocated only one DPR to section Flash2 only 16K of this section is DPR mapped. And you will face problem if your .rodata section exceeds 16K. To avoid this you need to free one of the DPR register. May be the one pointing to EEPROM can be used if you are not using this section for placing any of your data.

Ritu
michele2399
Associate II
Posted on May 17, 2011 at 11:36

Hi,

thanks for your suggestion, but i need to use the other DPR too.

Do you have any other ideas?

thanks

mifazz
ritu
Associate II
Posted on May 17, 2011 at 11:36

Hi

You can free the DPR register pointing to section FECSR section by making use of far pointers to access FCR,ECR,FESR0 and FESR1. For doing that perhaps you will also have to keep memory model of your worksapce as medium.

Regards,

Ritu
michele2399
Associate II
Posted on May 17, 2011 at 11:36

Hi,

thanks a lot!

I tried and it works well!

Kings regards

By

mifazz

Quote:

On 2004-06-14 10:44, Ritu wrote:

Hi

You can free the DPR register pointing to section FECSR section by making use of far pointers to access FCR,ECR,FESR0 and FESR1. For doing that perhaps you will also have to keep memory model of your worksapce as medium.

Regards,

Ritu