Forums

Accesing 'C32 external memory trouble

Started by m_za...@ieee.org June 10, 2005
Hello all!

I have a board based on a 'C32 system. It has a 32 bit wode ROM in STRB0, 32 bit wide RAM in IOSTRB and a 8-bit microcontroller mapped in STRB1.
I have allocated the .bss section in RAM as well as a 1k byte .sysmem section. I'm accessing the microcontroller by means of malloc8() function, so I have allocated 1 word of .sysm8 at STRB1 location (0x90000).
As a result, the program doesn't run correctly. It runs fragments of the code and variables which must be stored in STRB1 are stored nowhere (the DSP activates the R/W_ signal when attempting to write this variable but never selects this memory location).
Is it possible under these conditions compile with the small memory model?
If so, is there any option that must be specified at linking or compiling time?
These are options I'm usign:
cl30 -v32 -ss -o -mf test.c
asm30 -v32 Isr_vecs_test.asm (my interrupt vector location)
lnk30 mymem_test.cmd

Can anyone of you see a mistake or something missing?
Thanks for your help!

M.Zapateiro

P.S.This is my memory map:

/***********************************************************/
-c Isr_vecs_test.obj test.obj
-stack 0x1000
-heap 0x1000
-heap8 0x1
-m memory_ent
-l rts32.lib
-o new_test.out
/*************************************************************/
MEMORY
{
VECT (RX): org = 0x0 len = 0x40
EXT0 (RX): org = 0x40 len = 0x3FFC0
EXT1 (RW): org = 0x810000 len = 0x4000
RAM0 (RW): org = 0x87FE00 len = 0x100
RAM1 (RW): org = 0x87FF00 len = 0x100
PIC_M (RW): org = 0x900000 len = 0x1

SECTIONS
{
vectores:> VECT
.cinit: > EXT0
.const: > EXT0
.data: > EXT0
.text: > EXT0
.stack: > EXT1
.bss: > EXT1
.sysmem: > EXT1
.sysm8: > PIC_M
}