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.

Crane board debugging without flash



Hi

Thanks in advance for reading my post.

I am doing a project with a platform without any flash memory. This
platform has the AM3517 processor. Before using this platform, I
simulate it on craneboard. What I did is that I locate all sections to
ram, Here is my linker scriptfile.

/*******************************************************************************
**
** Sample linker definition file for NP30.
**
********************************************************************************
*/

EXTERN(_start)

ENTRY(_start)


MEMORY
{
   vectors   : org = 0x4020ffc4,   len = 0x003C
   intram    : org = 0x40200040,   len = 0x3800
   sdram     : org = 0x80000000,   len = 0x100000

}

SECTIONS
{
   .boot             : { __BOOT_START = .; *(.boot) __BOOT_END = .; . =
ALIGN( 4 ); }> vectors

   .startup          : { __BOOT_START = .; *(.boot) __BOOT_END = .; . =
ALIGN( 4 ); } > intram

   .text             : { __TEXT_START = .; *(.text) __TEXT_END = .; . =
ALIGN( 4 ); } > sdram

   .rdata            : { __RDATA_START = .; *(.rodata) *(.rodata.str1.2)
*(.rodata.str1.4) *(.rdata_4) *(.rdata_2) *(.rdata_1) __RDATA_END = .; .
= ALIGN( 4 ); } > sdram

   .data             : { __DATA_START = .; *(.data_4) *(.data_2)
*(.data_1) *(.data) __DATA_END = .; . = ALIGN( 4 ); } > sdram

   .bss    (NOLOAD)  : { __BSS_START = .; *(.bss_4) *(.bss_2) *(.bss_1)
*(.bss) *(COMMON) __BSS_END = .; . = ALIGN( 16384 ); } > sdram

   .mmutable (NOLOAD): { __MMUTABLE_END = .; . += 0x4000;
__MMUTABLE_START = .; . = ALIGN( 16384 ); } > sdram

   .sysstack         : { __SYSSTACK_END = .; . += 0x200;
__SYSSTACK_START = .; . = ALIGN( 4 ); } > intram

   .irqstack         : { __IRQSTACK_END = .; . += 0xE0; __IRQSTACK_START
= .; . = ALIGN( 4 ); } > intram

   .fiqstack         : { __FIQSTACK_END = .; . += 0x80; __FIQSTACK_START
= .; . = ALIGN( 4 ); } > intram

   .abtstack         : { __ABTSTACK_END = .; . += 0x80; __ABTSTACK_START
= .; . = ALIGN( 4 ); } > intram

   .svcstack         : { __SVCSTACK_END = .; . += 0x80; __SVCSTACK_START
= .; . = ALIGN( 4 ); } > intram

   .undstack         : { __UNDSTACK_END = .; . += 0x80; __UNDSTACK_START
= .; . = ALIGN( 4 ); } > intram

}


However, in the map file, I found that section
.debug_*,.comment,.attributes are still located to the address which
starts with 0x00000000, and this is the address where the flash is
mapped. I add three lines in order to relocate these sections since 
I don't want any data locate to the flash(the project platform doesn't have any flash mapped): .comment : { *(.comment) ; . = ALIGN( 4 ); } > sdram .attributes : { *(.ARM.attributes) ; . = ALIGN( 4 ); } > sdram .debug : { *(.debug*) ; . = ALIGN( 4 ); } > sdram and I Checked the .out file using "file" command, it says "Reading symbols from XXX.out, <no debugging symbols found>....done". why the symbols lost?
I find a solution for debugging the RAM application,
it is illustrated in the article
 http://gnuarm.alexthegeek.com/atmel/Using_Open_Source_Tools_for_AT91SAM7S_Cross_Development_revision_C.pdf
 "Using Open Source Tools for AT91SAM7S Cross Development Revision C", page 180.
 The author recommends to remap the memory address, is this the only solution?
 How can I remap the memory address of AM3517?
Can someone give me a hand? Thanks