This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430F5419A: Region ROM overflow

Part Number: MSP430F5419A

Hi,

we are having issue of "Region ROM Overflow" with MSP430F5419A.

Our actual code size is less than 42K,  and MSP430F5419A supports up to 128K memory.

we are using GCC compiler4.6.3.

Kindly advise.

  • Hi,

    could you add the error message you receive? Is it while programming or compiling?
    Can you paste a screenshot of the command line when receiving this error code?

    Are you using Code Composer Studio, if so, which version are you using?

    Thanks for sharing the deatils.
    Best regards,
    Britta
  • Hi,

    we are using GCC 4.6.3. Kindly find attached screenshot.

  • Hi,

    please check your linker command file and see if the memory sections actually match with the available memory shown in the device datasheet.
    I see that some of the sections (.data and .vector) overlap in the memory. Make sure that this doesn't occur and that your linker command file takes care of it.
    Could you have mixed up ROM, RAM and FLash when checking if you have enough memory available?

    Best regards,
    Britta
  • Hi,

    I have checked the ldscript file and the sections are not overlapping.

    Please check following file for more details. Here my code size is crossing the limit of 41K of rom size and that is why the overlapping message was displayed.

     

    MEMORY {
    
      sfr              : ORIGIN = 0x0000, LENGTH = 0x0010 /* END=0x0010, size 16 */
    
      peripheral_8bit  : ORIGIN = 0x0010, LENGTH = 0x00f0 /* END=0x0100, size 240 */
    
      peripheral_16bit : ORIGIN = 0x0100, LENGTH = 0x0100 /* END=0x0200, size 256 */
    
      bsl              : ORIGIN = 0x1000, LENGTH = 0x0800 /* END=0x1800, size 2K as 4 512-byte segments */
    
      infomem          : ORIGIN = 0x1800, LENGTH = 0x0200 /* END=0x1a00, size 512 as 4 128-byte segments */
    
      infod            : ORIGIN = 0x1800, LENGTH = 0x0080 /* END=0x1880, size 128 */
    
      infoc            : ORIGIN = 0x1880, LENGTH = 0x0080 /* END=0x1900, size 128 */
    
      infob            : ORIGIN = 0x1900, LENGTH = 0x0080 /* END=0x1980, size 128 */
    
      infoa            : ORIGIN = 0x1980, LENGTH = 0x0080 /* END=0x1a00, size 128 */
    
      ram (wx)         : ORIGIN = 0x1c00, LENGTH = 0x4000 /* END=0x5c00, size 16K */
    
      rom (rx)         : ORIGIN = 0x5c00, LENGTH = 0xa380 /* END=0xff80, size 41852 */
    
      vectors          : ORIGIN = 0xff80, LENGTH = 0x0080 /* END=0x10000, size 128 as 64 2-byte segments */
    
      far_rom          : ORIGIN = 0x00010000, LENGTH = 0x00035c00 /* END=0x00045c00, size 215K */
    
      /* Remaining banks are absent */
    
      ram2 (wx)        : ORIGIN = 0x0000, LENGTH = 0x0000
    
      ram_mirror (wx)  : ORIGIN = 0x0000, LENGTH = 0x0000
    
      usbram (wx)      : ORIGIN = 0x0000, LENGTH = 0x0000
    
    }
    
    REGION_ALIAS("REGION_TEXT", rom);
    
    REGION_ALIAS("REGION_DATA", ram);
    
    REGION_ALIAS("REGION_FAR_ROM", far_rom);
    
    PROVIDE (__info_segment_size = 0x80);
    
    PROVIDE (__infod = 0x1800);
    
    PROVIDE (__infoc = 0x1880);
    
    PROVIDE (__infob = 0x1900);
    
    PROVIDE (__infoa = 0x1980);
    

     

    The portion marked in yellow colour indicates start location and using length we can calculate end location.

    It’s not overlapping.

    Kindly advise.

  • Hi,

    I've edited your post using the Code formatting to make it more readible here.
    In the screenshot you've shared I see that your .data is actually loaded at address 0xfee0. I know you intend to load it in the rom section at 0x5c00 but at address 0xfee0 you've only got about 160 bytes to store before overflowing to the section .vectors.

    Take a look at your sections allocation into the memory to see where the .data section actually is allocated into.

    Best regards,
    Britta
  • Hi,

    as I didn't hear back from you in a while I assume that your issue has been solved.
    Please go ahead and verify the given answer to also help other users that might run into the same issue.

    Note that I'll go ahead and close this thread in the next couple of days if I don't hear back from you. Replying to the thread will re-open it if necessary at some point.

    Best regards,
    Britta

**Attention** This is a public forum