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

default off and on-chip RAM areas

Hi Forum

I'm using a LPC2478 with 8 MB external RAM.
In the project option I have reserved the off-chip area RAM1 to be the framebuffer.
Off-chip RAM2 area is the rest of the external RAM. This is set to default.
I also have set the on-chip area IRAM1 as being default.

So my question is. How does KEIL compile my code then? Does it put the const/static stuff in the on-chip RAM first and then in the off-chip, or is it unpredictable where things are placed?

Also, it seems that the framebuffer gets corrupted, when the IRAM1 is not marked as default and only the RAM2 is marked as default?

Thomas

Parents Reply Children
  • So my question is. How does KEIL compile my code then? Does it put the const/static stuff in the on-chip RAM first and then in the off-chip, or is it unpredictable where things are placed?

    The question is: did you play with a scatter loading file?

      .
      .
      .
      SIGNAL_EVENT   SIGNAL_EVENT_FUNCTION_LOCATION   FIXED   SIGNAL_EVENT_FUNCTION_SIZE
      {
        freertos_signal_route.o (firmware_event_interface)
      }
    
      ER_IROM2 +0 (0x80000 - SIGNAL_EVENT_FUNCTION_LOCATION - SIGNAL_EVENT_FUNCTION_SIZE)
      {
        .ANY (+RO)
      }
    
      ; FIRST 0x440 BYTES USED BY FIRMWARE AND TO REMAP INTERRUPT VECTORS
      RW_IRAM1   0x40000440   0xFBC0
      {  ; RW data
        LIST.o      (+RW +ZI)
        QUEUE.o     (+RW +ZI)
        TASKS.o     (+RW +ZI)
        TIMERS.o    (+RW +ZI)
        PORT.o      (+RW +ZI)
        PORTasm.o   (+RW +ZI)
      }
      .
      .
      .
    

  • Hi

    No I have not played with a scatter loading file. Just set the areas in the KEIL project settings.

    Thomas