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

ARM compiler upgrade from V5.06 to V6.10 failed

I try to upgrade ARM complier for V5.06 to V 6.10 in Keil MDK V5.26. 

The projects I am mainly working for is with device STM32F407VGT6,

 the code like this:

typedef void (*const ISR)(void);

__attribute__ ((section("RESET"))) ISR IsrVector[]  =
{
    __initial_sp,                                   //Top of Stack
    Reset_Handler,                                 //Reset Handler    
};

When I use ARM complier V 5.06, the link result is ok.

but when i use arm complier V6.10,I get this error:

  .\Objects\xxx.sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST.

Please advise me how to resovle this problem

  • Hello,

    See the scatter file (xxx.sct from above).? You likely are referencing this object explicitly. If you can share it, I can help you.

    Try also adding --keep thisobject.o to the linker command line.

  • Here is the scatter file content

    ; *************************************************************
    ; *** Scatter-Loading Description File generated by uVision ***
    ; *************************************************************
    
    LR_IROM1 0x08000000 0x00040000 { ; load region size_region
    ER_IROM1 0x08000000 0x00040000 { ; load address = execution address
    *.o (RESET, +First)
    *(InRoot$$Sections)
    .ANY (+RO)
    .ANY (+XO)
    }
    RW_IRAM1 0x20000000 0x00020000 { ; RW data
    .ANY (+RW +ZI)
    }
    }

  • OK, this line wants to place an ELF section named "RESET" first in this execution region:

    *.o (RESET, +First)


    You can name this section with .section