This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Use External Ram for variable

Hi,
i'm working with STR710FZ2,
now i have converted my project from CARM to REALVIEW.
I use:
- on_chip IRAM1 for internal variable,
- on_chip IRAM2 for RAM function

My problem is that i want use an additional space for variable in external RAM.
In target option i declare new space address 0x62000000, i declare variable that could be addressed in external RAM in a c file and locate that file at address 0x62000000.Problem with scatter file that is automatically create that define that memory read only???I have also tried to create manually scatter file declaring memory address R/W but nothing.

PS:I have already used external RAM with a program compiled in CARM using keyword __at 0x62000000 and it has working correctly.

In realview is requested a keyword for locating a variable in external RAM.

Thanks, Manuel

Parents Reply Children
  • Your method was my first attempt.
    I have defined the variables in a spearate c module and have assigned the module to a different address range 0x62000000.
    When i use this array variable in another module obviously i declare it as extern.
    When linking is finished a

    warning L6314W:
    No section matches pattern ext_ram_var.o(RO)

    is given.

    If i want define a large array for example of 10000 elements linking error are given:

    Error L6220E:
    Execution region RW_IRAM1 size (70000 bytes) exceeds linit (65024 bytes)

    Error L6221E:
    Execution region RW_IRAM1 size overlaps with Execution region RW_IRAM2

    But I have defined the array in a c file at address 0x62000000 but it seems that 10000 elemnts array is written in RAM at the address of internal RAM1 that after overlaps IRAM2.

    Have a idea for resolving this problem???

    Thanks, Manuel