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

Issues with AT91M55800: init_serial, overlapping execution regions

Hi!
I am using the RealView MDK for a research project. The target device is AT91M55800A.
First, I created a project for it. I confirmed the default startup file and added a .c file to the project. I tried then to compile the program. It failed to do so, because init_serial and init_time were missing. I added these functions with empty bodies inside a .c file. This seemed to fix these errors.
Now, when I try to build it, I get these errors:

rv_project.axf: Error: L6221E: Execution region ER_IROM1 overlaps with Execution region RW_IRAM1.
rv_project.axf: Error: L6221E: Execution region ER_IROM1 overlaps with Execution region RW_IRAM2.
rv_project.axf: Error: L6221E: Execution region ER_IROM2 overlaps with Execution region RW_IRAM2.

It seems to me that the default startup file is not sufficient and something needs to be configured. I am new to this topic and I don't know what are these execution regions. Can you point me to a hint what options need to be set to make the project work. I guess that the memory must be properly divided into ROM and RAM but have no idea how to do it.

Parents
  • the option Use memory layout from Target dialog is disabled and I cannot turn it on. Both the R/O and the R/W base there are 0x0.

    without getting into too much detail - this must be the source of the problem. A few facts:

    R/O Base
    Set the address for constant and code region
    containing the RO output section. The address must be word-aligned. If is not specified,
    the default RO base address is 0x8000. The R/O Base specifies also the initial program entry
     address.
    
    R/W Base
    Set the address for variable region containing
    the RW and ZI output sections. The address must
     be word-aligned
    

Reply
  • the option Use memory layout from Target dialog is disabled and I cannot turn it on. Both the R/O and the R/W base there are 0x0.

    without getting into too much detail - this must be the source of the problem. A few facts:

    R/O Base
    Set the address for constant and code region
    containing the RO output section. The address must be word-aligned. If is not specified,
    the default RO base address is 0x8000. The R/O Base specifies also the initial program entry
     address.
    
    R/W Base
    Set the address for variable region containing
    the RW and ZI output sections. The address must
     be word-aligned
    

Children
No data