Forums

Memory layout issue: stars under the section name

Started by Bryan February 18, 2008
I'm using the DSP/BIOS for my DSP application, and I have created two
memory sections using the memory editor:

VECTOR: 0x00800000 - 0x008001FF
IRAM: 0x00800200 - 0x009FFFFF

I created a heap in IRAM, and I set .hwi_vec to VECTOR. When I
compile and build my software, there are no errors and no warnings.
However, when I load the software to the DSP via JTAG, I get the
following error:

"Loader: One or more sections of your program falls into a memory
region that is not writable. These regions will not actually be
written to the target. Check your linker configuration and/or memory map.

I looked at the memory, and I noticed something that I had not noticed
before. Some sections had a "*" character preceding address
information, as shown below for .rtdx_text and .TSK_idle$stk:

.sys 0 0080f96c 00000010 UNINITIALIZED
0080f96c 00000010 bioscfg.obj (.sys)

.mem 0 0080f97c 00000004 UNINITIALIZED
0080f97c 00000004 bioscfg.obj (.mem)

.rtdx_text
* 0 0080f980 00000ca0
0080f980 00000720 rtdx64xplus.lib :
rtdx_mon.o64P (.rtdx_text)
008100a0 00000520 :
buffer1.o64P (.rtdx_text)
008105c0 00000040 :
intr_tgt.o64P (.rtdx_text)
00810600 00000020 :
memfill.o64P (.rtdx_text)

.TSK_idle$stk
* 0 00810620 00000400 UNINITIALIZED
00810620 00000400 bioscfg.obj (.TSK_idle$stk)

.pip 0 00810a20 000000c8 UNINITIALIZED
00810a20 000000c8 bioscfg.obj (.pip)
What does the "*" mean? Is it related the to the load error I am getting?

Check Out Industry's First Single-Chip, Multi-Format, Real-Time HD Video Transcoding Solution for Commercial & Consumer End Equipment: www.ti.com/dm6467
Bryan,

On Feb 18, 2008 2:14 AM, Bryan wrote:

> I'm using the DSP/BIOS for my DSP application, and I have created two
> memory sections using the memory editor:
>
> VECTOR: 0x00800000 - 0x008001FF
> IRAM: 0x00800200 - 0x009FFFFF
>
> I created a heap in IRAM, and I set .hwi_vec to VECTOR. When I
> compile and build my software, there are no errors and no warnings.
> However, when I load the software to the DSP via JTAG, I get the
> following error:
>
> "Loader: One or more sections of your program falls into a memory
> region that is not writable. These regions will not actually be
> written to the target. Check your linker configuration and/or memory map.

You probably need to check the "other memory map".
You were looking at the linker generated memory map - there is also a
CCS memory map that specifies address ranges and rd/wr capabilities.
It is normally created by a GEL file. Go to 'options->memory map' to
see how it is set up.
If your error message included an address, you can check it directly.
BTW, the problem could be in the GEL file or your code could be trying
to load to an invalid address.

mikedunn
>
> I looked at the memory, and I noticed something that I had not noticed
> before. Some sections had a "*" character preceding address
> information, as shown below for .rtdx_text and .TSK_idle$stk:
>
> .sys 0 0080f96c 00000010 UNINITIALIZED
> 0080f96c 00000010 bioscfg.obj (.sys)
>
> .mem 0 0080f97c 00000004 UNINITIALIZED
> 0080f97c 00000004 bioscfg.obj (.mem)
>
> .rtdx_text
> * 0 0080f980 00000ca0
> 0080f980 00000720 rtdx64xplus.lib :
> rtdx_mon.o64P (.rtdx_text)
> 008100a0 00000520 :
> buffer1.o64P (.rtdx_text)
> 008105c0 00000040 :
> intr_tgt.o64P (.rtdx_text)
> 00810600 00000020 :
> memfill.o64P (.rtdx_text)
>
> .TSK_idle$stk
> * 0 00810620 00000400 UNINITIALIZED
> 00810620 00000400 bioscfg.obj (.TSK_idle$stk)
>
> .pip 0 00810a20 000000c8 UNINITIALIZED
> 00810a20 000000c8 bioscfg.obj (.pip)
>
> What does the "*" mean? Is it related the to the load error I am getting?
>
>

--
www.dsprelated.com/blogs-1/nf/Mike_Dunn.php
Check Out Industry's First Single-Chip, Multi-Format, Real-Time HD Video Transcoding Solution for Commercial & Consumer End Equipment: www.ti.com/dm6467
mikedunn,

Thanks for pointing out the "other memory map" to me. I disabled that
memory map and now things are working properly. Like you mentioned,
it was created by the DSK GEL file. Thanks again for the help!

-- Bryan

Check Out Industry's First Single-Chip, Multi-Format, Real-Time HD Video Transcoding Solution for Commercial & Consumer End Equipment: www.ti.com/dm6467