STR71x XDATA

Hello to everybody. I’m working on the microcontroller STR710, using OpenOCD. I succeded in making my programs run from both RAM and Flash, thanks also to the help that I received in this forum, many thanks for it. But I still have a problem. I’m using linker and startup files from Anglia, but what about the following lines in the linker file about RAM?

MEMORY

{

DATA (rw) : ORIGIN = 0x20000000, LENGTH = 0x00010000

XDATA (rw) : ORIGIN = 0x62000000, LENGTH = 0x00400000

}

I don’t know the meaning of the section XDATA. If we continue in reading the file, we can see the following lines:

.text :

{

KEEP(*(.vectrom))

KEEP(*(.init))

(.text .text.)

(.gnu.linkonce.t.)

*(.glue_7t .glue_7)

KEEP(*(.fini))

*(.gcc_except_table)

} >XDATA =0

. = ALIGN(4);

So, using these settings, the “.text” section will be loaded in XDATA. I use this file and the program compiles properly, but when I try to debug it using OpenOCD, I don’t succed in it, it seems it hasn’t written the “.text” area in XDATA or it can’t debug from XDATA…

So I substituted XDATA with DATA, so .text is loaded in the DATA section and this is ok for normal programs, but not for programs that have a big “.text” area. Can anyone help me? Thanks in advance

l3golas

The linker script you are referring to is for the STR710 eval board.

This has external flash and sram fitted on the emi bus. If you do not have this fitted then use a linker script from one of the other examples.

Regards

Spen