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

execute from RAM problem

Hi,

I try to execute program from RAM, but compiler show me error:

.\RAM\Blinky.axf: Error: L6221E: Execution region ER_IROM2 overlaps with Execution region RW_IRAM2.

It is blinky example for keil board. Can anybody help me?

  • The message says the two memory areas are overlapping.

    So, if you have changed the ER_IROM2 area to point into RAM, the question is: Have you also changed the RW_IRAM2 area to not overlap?

  • I didn't change... It is done in project settings. It is project:

    c:\Keil\ARM\Boards\Keil\MCBSTM32\STLIB_Blinky

    Any idea, what can be wrong?

  • Have you opened the settings, and checked the values for the memory regions? Or where you planning on posting remote-desktop access information to this list, to have other people visit your computer and take a look?

  • It's working, but my settings is:
    Target tab:
    IROM1: 0x20000000 0x3000

    IRAM2: 0x20004000 0x1000
    Linker tab:
    R/O Base: 0x20000000
    R/W Base: 0x20003000

    and sometimes the compiler shows me error 57: illegal adress 0x20005000

    Where I can find some information about execute program from ram (Cortex M3)

  • I don't know what memory there is in your chip, but some strange things:

    IROM1: 0x20000000 0x3000
    -- what is located in this gap? 0x20003000 0x1000?
    IRAM2: 0x20004000 0x1000
    Linker tab:
    R/O Base: 0x20000000
    R/W Base: 0x20003000 <= you haven't shown what mem you have here

    And you originally claimed a problem with IROM2, but only post info about IMROM1. And you do not mention the value of IRAM1.

    Never "filter" information when you are asking questions on a forum. If _you_ know what information is relevant, then you normally already have the knowledge to fix the problem yourself. In other worlds: If you do not know how to fix the problem, then it isn't likely that you will know what information to post and not to post - so make sure that you post _much_ information. In this case, post info for _all_ memory regions. And post exactly how much memory your chip has (and where it has it). Can't we check that in the datasheet? Well, I can't see that you have mentioned the exact chip name...

    "Where I can find some information about execute program from ram (Cortex M3)"

    All information relevant to the compiler, linker and project settings are available on this site. All relevant information about your chip should be available from the manufacturer of the chip. And most probably, Keil has a copy of the datasheet too.